From d84adfb153cb77a47d260744bf41fb2885ffe267 Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Mon, 2 Dec 2024 03:54:02 +0000 Subject: [PATCH] Amazon RDS supports CloudWatch Database Insights. You can use the SDK to create, modify, and describe the DatabaseInsightsMode for your DB instances and clusters. Call private APIs by configuring Connections with VPC connectivity through PrivateLink and VPC Lattice Adds support for WhatsApp Business messaging, IVR call recording, enabling Contact Lens for existing on-premise contact centers and telephony platforms, and enabling telephony and IVR migration to Amazon Connect independent of their contact center agents. AWS Transfer Family now offers Web apps that enables simple and secure access to data stored in Amazon S3. Add support for policy operations on the DECLARATIVE_POLICY_EC2 policy type. Amazon Q Business now supports capabilities to extract insights and answer questions from visual elements embedded within documents, a browser extension for Google Chrome, Mozilla Firefox, and Microsoft Edge, and attachments across conversations. This release allows customers and their partners to easily collaborate with data stored in Snowflake and Amazon Athena, without having to move or share their underlying data among collaborators. Amazon Connect Outbound Campaigns V2 / Features : Adds support for Event-Triggered Campaigns. Add support for Knowledge Base Evaluations & LLM as a judge This release introduces a new Rerank API to leverage reranking models (with integration into Knowledge Bases); APIs to upload documents directly into Knowledge Base; RetrieveAndGenerateStream API for streaming response; Guardrails on Retrieve API; and ability to automatically generate filters Added support for EC2 Image Builder's integration with AWS Marketplace for Marketplace components. AWS Security Incident Response is a purpose-built security incident solution designed to help customers prepare for, respond to, and recover from security incidents. Added support for Auto Mode Clusters, Hybrid Nodes, and specifying computeTypes in the DescribeAddonVersions API. Lattice APIs that allow sharing and access of VPC resources across accounts. AWS Invoice Configuration allows you to receive separate AWS invoices based on your organizational needs. You can use the AWS SDKs to manage Invoice Units and programmatically fetch the information of the invoice receiver. This release adds supports for enterprises to integrate Amazon Connect with other voice systems. It supports directly transferring voice calls and metadata without using the public telephone network. It also supports real-time and post-call analytics. Amazon MemoryDB SDK now supports all APIs for Multi-Region. Please refer to the updated Amazon MemoryDB public documentation for detailed information on API usage. Add new Multi Domain Correlation findings. This release introduces APIs to upload documents directly into a Knowledge Base This release adds following capabilities: Configuring safeguards via AIGuardrails for Q in Connect inferencing, and APIs to support Q&A self-service use cases Amazon S3 introduces support for AWS Dedicated Local Zones This release adds documentation for a new feature in Amazon CloudWatch called Network Flow Monitor. You can use Network Flow Monitor to get near real-time metrics, including retransmissions and data transferred, for your actual workloads. Adds support for declarative policies that allow you to enforce desired configuration across an AWS organization through configuring account attributes. Adds support for Allowed AMIs that allows you to limit the use of AMIs in AWS accounts. Adds support for connectivity over non-HTTP protocols. FSx API changes to support the public launch of the Amazon FSx Intelligent Tiering for OpenZFS storage class. Adds PutIntegration, GetIntegration, ListIntegrations and DeleteIntegration APIs. Adds QueryLanguage support to StartQuery, GetQueryResults, DescribeQueries, DescribeQueryDefinitions, and PutQueryDefinition APIs. This release introduces Event Trigger APIs as part of Amazon Connect Customer Profiles service. Amazon S3 introduces support for AWS Dedicated Local Zones This feature introduces support for CRUDL APIs, enabling the creation and management of Connected data sources. Add new Multi Domain Correlation findings. This release adds support for Container Insights with Enhanced Observability for Amazon ECS. --- VERSION | 2 +- .../include/aws/awstransfer/TransferClient.h | 207 + .../awstransfer/TransferServiceClientModel.h | 39 + .../awstransfer/model/CreateServerRequest.h | 4 +- .../awstransfer/model/CreateWebAppRequest.h | 113 + .../awstransfer/model/CreateWebAppResult.h | 67 + .../model/DeleteWebAppCustomizationRequest.h | 59 + .../awstransfer/model/DeleteWebAppRequest.h | 58 + .../DescribeWebAppCustomizationRequest.h | 58 + .../model/DescribeWebAppCustomizationResult.h | 67 + .../awstransfer/model/DescribeWebAppRequest.h | 58 + .../awstransfer/model/DescribeWebAppResult.h | 66 + .../model/DescribedIdentityCenterConfig.h | 99 + .../aws/awstransfer/model/DescribedWebApp.h | 171 + .../model/DescribedWebAppCustomization.h | 128 + .../DescribedWebAppIdentityProviderDetails.h | 61 + .../awstransfer/model/IdentityCenterConfig.h | 80 + .../awstransfer/model/ListAccessesRequest.h | 2 +- .../awstransfer/model/ListAgreementsRequest.h | 2 +- .../model/ListCertificatesRequest.h | 2 +- .../awstransfer/model/ListConnectorsRequest.h | 2 +- .../awstransfer/model/ListExecutionsRequest.h | 2 +- .../awstransfer/model/ListHostKeysRequest.h | 2 +- .../awstransfer/model/ListProfilesRequest.h | 2 +- .../awstransfer/model/ListWebAppsRequest.h | 73 + .../aws/awstransfer/model/ListWebAppsResult.h | 86 + .../awstransfer/model/ListWorkflowsRequest.h | 2 +- .../aws/awstransfer/model/ListedWebApp.h | 117 + .../model/UpdateWebAppCustomizationRequest.h | 106 + .../model/UpdateWebAppCustomizationResult.h | 67 + .../model/UpdateWebAppIdentityCenterConfig.h | 62 + .../UpdateWebAppIdentityProviderDetails.h | 61 + .../awstransfer/model/UpdateWebAppRequest.h | 111 + .../awstransfer/model/UpdateWebAppResult.h | 67 + .../model/WebAppIdentityProviderDetails.h | 61 + .../aws/awstransfer/model/WebAppUnits.h | 60 + .../source/TransferClient.cpp | 216 + .../source/model/CreateWebAppRequest.cpp | 69 + .../source/model/CreateWebAppResult.cpp | 48 + .../DeleteWebAppCustomizationRequest.cpp | 43 + .../source/model/DeleteWebAppRequest.cpp | 43 + .../DescribeWebAppCustomizationRequest.cpp | 43 + .../DescribeWebAppCustomizationResult.cpp | 48 + .../source/model/DescribeWebAppRequest.cpp | 43 + .../source/model/DescribeWebAppResult.cpp | 48 + .../model/DescribedIdentityCenterConfig.cpp | 87 + .../source/model/DescribedWebApp.cpp | 151 + .../model/DescribedWebAppCustomization.cpp | 112 + ...DescribedWebAppIdentityProviderDetails.cpp | 59 + .../source/model/IdentityCenterConfig.cpp | 73 + .../source/model/ListWebAppsRequest.cpp | 51 + .../source/model/ListWebAppsResult.cpp | 57 + .../source/model/ListedWebApp.cpp | 101 + .../UpdateWebAppCustomizationRequest.cpp | 63 + .../model/UpdateWebAppCustomizationResult.cpp | 48 + .../UpdateWebAppIdentityCenterConfig.cpp | 59 + .../UpdateWebAppIdentityProviderDetails.cpp | 59 + .../source/model/UpdateWebAppRequest.cpp | 64 + .../source/model/UpdateWebAppResult.cpp | 48 + .../model/WebAppIdentityProviderDetails.cpp | 59 + .../source/model/WebAppUnits.cpp | 60 + .../BedrockAgentRuntimeClient.h | 58 + .../BedrockAgentRuntimeServiceClientModel.h | 9 + .../model/AttributeType.h | 33 + .../model/BedrockRerankingConfiguration.h | 73 + .../BedrockRerankingModelConfiguration.h | 85 + .../model/CitationEvent.h | 59 + .../model/CustomOrchestrationTrace.h | 2 +- .../model/CustomOrchestrationTraceEvent.h | 5 +- .../model/FieldForReranking.h | 63 + .../model/GuardrailEvent.h | 59 + .../model/ImplicitFilterConfiguration.h | 81 + .../KnowledgeBaseVectorSearchConfiguration.h | 35 + .../model/MetadataAttributeSchema.h | 94 + .../model/MetadataConfigurationForReranking.h | 79 + .../model/RerankDocument.h | 93 + .../model/RerankDocumentType.h | 31 + .../bedrock-agent-runtime/model/RerankQuery.h | 76 + .../model/RerankQueryContentType.h | 30 + .../model/RerankRequest.h | 113 + .../model/RerankResult.h | 87 + .../model/RerankSdkResult.h | 87 + .../model/RerankSource.h | 76 + .../model/RerankSourceType.h | 30 + .../model/RerankTextDocument.h | 62 + .../model/RerankingConfiguration.h | 75 + .../model/RerankingConfigurationType.h | 30 + .../model/RerankingMetadataSelectionMode.h | 31 + ...ankingMetadataSelectiveModeConfiguration.h | 86 + .../RetrievalResultCustomDocumentLocation.h | 62 + .../model/RetrievalResultLocation.h | 16 + .../model/RetrievalResultLocationType.h | 3 +- .../model/RetrieveAndGenerateOutputEvent.h | 61 + .../model/RetrieveAndGenerateStreamHandler.h | 91 + ...RetrieveAndGenerateStreamInitialResponse.h | 58 + .../model/RetrieveAndGenerateStreamRequest.h | 137 + .../RetrieveAndGenerateStreamResponseOutput.h | 250 + .../model/RetrieveRequest.h | 16 + .../model/RetrieveResult.h | 14 + ...ectorSearchBedrockRerankingConfiguration.h | 89 + ...SearchBedrockRerankingModelConfiguration.h | 86 + .../VectorSearchRerankingConfiguration.h | 76 + .../VectorSearchRerankingConfigurationType.h | 30 + .../source/BedrockAgentRuntimeClient.cpp | 59 + .../source/model/AttributeType.cpp | 86 + .../model/BedrockRerankingConfiguration.cpp | 74 + .../BedrockRerankingModelConfiguration.cpp | 81 + .../source/model/CitationEvent.cpp | 59 + .../source/model/FieldForReranking.cpp | 59 + .../source/model/GuardrailEvent.cpp | 59 + .../model/ImplicitFilterConfiguration.cpp | 81 + ...KnowledgeBaseVectorSearchConfiguration.cpp | 30 +- .../source/model/MetadataAttributeSchema.cpp | 87 + .../MetadataConfigurationForReranking.cpp | 73 + .../source/model/RerankDocument.cpp | 89 + .../source/model/RerankDocumentType.cpp | 72 + .../source/model/RerankQuery.cpp | 73 + .../source/model/RerankQueryContentType.cpp | 65 + .../source/model/RerankRequest.cpp | 66 + .../source/model/RerankResult.cpp | 89 + .../source/model/RerankSdkResult.cpp | 57 + .../source/model/RerankSource.cpp | 73 + .../source/model/RerankSourceType.cpp | 65 + .../source/model/RerankTextDocument.cpp | 59 + .../source/model/RerankingConfiguration.cpp | 73 + .../model/RerankingConfigurationType.cpp | 65 + .../model/RerankingMetadataSelectionMode.cpp | 72 + ...kingMetadataSelectiveModeConfiguration.cpp | 89 + .../RetrievalResultCustomDocumentLocation.cpp | 59 + .../source/model/RetrievalResultLocation.cpp | 14 + .../model/RetrievalResultLocationType.cpp | 7 + .../model/RetrieveAndGenerateOutputEvent.cpp | 59 + .../RetrieveAndGenerateStreamHandler.cpp | 291 + ...trieveAndGenerateStreamInitialResponse.cpp | 60 + .../RetrieveAndGenerateStreamRequest.cpp | 57 + .../source/model/RetrieveRequest.cpp | 7 + .../source/model/RetrieveResult.cpp | 10 +- ...torSearchBedrockRerankingConfiguration.cpp | 88 + ...archBedrockRerankingModelConfiguration.cpp | 81 + .../VectorSearchRerankingConfiguration.cpp | 73 + ...VectorSearchRerankingConfigurationType.cpp | 65 + .../aws/bedrock-agent/BedrockAgentClient.h | 126 +- .../BedrockAgentServiceClientModel.h | 20 + .../aws/bedrock-agent/model/ByteContentDoc.h | 99 + .../model/ContentDataSourceType.h | 31 + .../aws/bedrock-agent/model/CustomContent.h | 111 + .../model/CustomDocumentIdentifier.h | 62 + .../bedrock-agent/model/CustomS3Location.h | 81 + .../bedrock-agent/model/CustomSourceType.h | 31 + .../aws/bedrock-agent/model/DataSourceType.h | 3 +- .../DeleteKnowledgeBaseDocumentsRequest.h | 116 + .../DeleteKnowledgeBaseDocumentsResult.h | 70 + .../aws/bedrock-agent/model/DocumentContent.h | 96 + .../bedrock-agent/model/DocumentIdentifier.h | 94 + .../bedrock-agent/model/DocumentMetadata.h | 98 + .../aws/bedrock-agent/model/DocumentStatus.h | 41 + .../model/GetKnowledgeBaseDocumentsRequest.h | 94 + .../model/GetKnowledgeBaseDocumentsResult.h | 70 + .../IngestKnowledgeBaseDocumentsRequest.h | 116 + .../IngestKnowledgeBaseDocumentsResult.h | 70 + .../aws/bedrock-agent/model/InlineContent.h | 93 + .../bedrock-agent/model/InlineContentType.h | 31 + .../model/KnowledgeBaseDocument.h | 76 + .../model/KnowledgeBaseDocumentDetail.h | 160 + .../model/ListKnowledgeBaseDocumentsRequest.h | 110 + .../model/ListKnowledgeBaseDocumentsResult.h | 87 + .../bedrock-agent/model/MetadataAttribute.h | 78 + .../model/MetadataAttributeValue.h | 123 + .../bedrock-agent/model/MetadataSourceType.h | 31 + .../bedrock-agent/model/MetadataValueType.h | 33 + .../aws/bedrock-agent/model/S3Content.h | 60 + .../aws/bedrock-agent/model/TextContentDoc.h | 62 + .../source/BedrockAgentClient.cpp | 168 + .../source/model/ByteContentDoc.cpp | 72 + .../source/model/ContentDataSourceType.cpp | 72 + .../source/model/CustomContent.cpp | 101 + .../source/model/CustomDocumentIdentifier.cpp | 59 + .../source/model/CustomS3Location.cpp | 73 + .../source/model/CustomSourceType.cpp | 72 + .../source/model/DataSourceType.cpp | 7 + .../DeleteKnowledgeBaseDocumentsRequest.cpp | 50 + .../DeleteKnowledgeBaseDocumentsResult.cpp | 51 + .../source/model/DocumentContent.cpp | 87 + .../source/model/DocumentIdentifier.cpp | 87 + .../source/model/DocumentMetadata.cpp | 95 + .../source/model/DocumentStatus.cpp | 142 + .../GetKnowledgeBaseDocumentsRequest.cpp | 42 + .../model/GetKnowledgeBaseDocumentsResult.cpp | 51 + .../IngestKnowledgeBaseDocumentsRequest.cpp | 50 + .../IngestKnowledgeBaseDocumentsResult.cpp | 51 + .../source/model/InlineContent.cpp | 87 + .../source/model/InlineContentType.cpp | 72 + .../source/model/KnowledgeBaseDocument.cpp | 73 + .../model/KnowledgeBaseDocumentDetail.cpp | 128 + .../ListKnowledgeBaseDocumentsRequest.cpp | 45 + .../ListKnowledgeBaseDocumentsResult.cpp | 57 + .../source/model/MetadataAttribute.cpp | 73 + .../source/model/MetadataAttributeValue.cpp | 125 + .../source/model/MetadataSourceType.cpp | 72 + .../source/model/MetadataValueType.cpp | 86 + .../source/model/S3Content.cpp | 59 + .../source/model/TextContentDoc.cpp | 59 + .../include/aws/bedrock/BedrockClient.h | 19 +- .../aws/bedrock/model/ApplicationType.h | 31 + .../bedrock/model/AutomatedEvaluationConfig.h | 24 +- .../model/BatchDeleteEvaluationJobError.h | 8 +- .../model/BatchDeleteEvaluationJobItem.h | 8 +- .../model/BatchDeleteEvaluationJobRequest.h | 3 +- .../model/BatchDeleteEvaluationJobResult.h | 6 +- .../aws/bedrock/model/BedrockEvaluatorModel.h | 64 + .../aws/bedrock/model/ByteContentDoc.h | 95 + .../model/CreateEvaluationJobRequest.h | 53 +- .../bedrock/model/CreateEvaluationJobResult.h | 2 +- .../bedrock/model/EvaluationBedrockModel.h | 6 +- .../aws/bedrock/model/EvaluationConfig.h | 12 +- .../model/EvaluationDatasetMetricConfig.h | 36 +- .../bedrock/model/EvaluationInferenceConfig.h | 30 +- .../model/EvaluationOutputDataConfig.h | 4 +- .../aws/bedrock/model/EvaluationSummary.h | 71 +- .../aws/bedrock/model/EvaluatorModelConfig.h | 67 + .../aws/bedrock/model/ExternalSource.h | 93 + .../aws/bedrock/model/ExternalSourceType.h | 31 + .../ExternalSourcesGenerationConfiguration.h | 121 + ...lSourcesRetrieveAndGenerateConfiguration.h | 101 + .../aws/bedrock/model/FilterAttribute.h | 80 + .../bedrock/model/GenerationConfiguration.h | 121 + .../bedrock/model/GetEvaluationJobRequest.h | 3 +- .../bedrock/model/GetEvaluationJobResult.h | 50 +- .../bedrock/model/GuardrailConfiguration.h | 78 + .../aws/bedrock/model/KbInferenceConfig.h | 61 + .../aws/bedrock/model/KnowledgeBaseConfig.h | 78 + .../KnowledgeBaseRetrievalConfiguration.h | 61 + ...edgeBaseRetrieveAndGenerateConfiguration.h | 131 + .../KnowledgeBaseVectorSearchConfiguration.h | 95 + .../bedrock/model/ListEvaluationJobsRequest.h | 34 +- .../bedrock/model/ListEvaluationJobsResult.h | 2 +- .../model/OrchestrationConfiguration.h | 60 + .../aws/bedrock/model/PromptTemplate.h | 70 + .../model/QueryTransformationConfiguration.h | 60 + .../bedrock/model/QueryTransformationType.h | 30 + .../include/aws/bedrock/model/RAGConfig.h | 61 + .../aws/bedrock/model/RetrievalFilter.h | 299 + .../model/RetrieveAndGenerateConfiguration.h | 97 + .../bedrock/model/RetrieveAndGenerateType.h | 31 + .../aws/bedrock/model/RetrieveConfig.h | 78 + .../include/aws/bedrock/model/S3ObjectDoc.h | 62 + .../include/aws/bedrock/model/SearchType.h | 31 + .../bedrock/model/StopEvaluationJobRequest.h | 2 +- .../aws/bedrock/model/TextInferenceConfig.h | 115 + .../source/model/ApplicationType.cpp | 72 + .../model/AutomatedEvaluationConfig.cpp | 16 +- .../source/model/BedrockEvaluatorModel.cpp | 59 + .../source/model/ByteContentDoc.cpp | 86 + .../model/CreateEvaluationJobRequest.cpp | 7 + .../model/EvaluationInferenceConfig.cpp | 24 +- .../source/model/EvaluationSummary.cpp | 60 +- .../source/model/EvaluatorModelConfig.cpp | 67 + .../source/model/ExternalSource.cpp | 87 + .../source/model/ExternalSourceType.cpp | 72 + ...ExternalSourcesGenerationConfiguration.cpp | 109 + ...ourcesRetrieveAndGenerateConfiguration.cpp | 95 + .../source/model/FilterAttribute.cpp | 75 + .../source/model/GenerationConfiguration.cpp | 109 + .../source/model/GetEvaluationJobResult.cpp | 9 +- .../source/model/GuardrailConfiguration.cpp | 73 + .../source/model/KbInferenceConfig.cpp | 59 + .../source/model/KnowledgeBaseConfig.cpp | 73 + .../KnowledgeBaseRetrievalConfiguration.cpp | 59 + ...geBaseRetrieveAndGenerateConfiguration.cpp | 115 + ...KnowledgeBaseVectorSearchConfiguration.cpp | 88 + .../model/ListEvaluationJobsRequest.cpp | 9 + .../model/OrchestrationConfiguration.cpp | 59 + .../source/model/PromptTemplate.cpp | 59 + .../QueryTransformationConfiguration.cpp | 59 + .../source/model/QueryTransformationType.cpp | 65 + .../source/model/RAGConfig.cpp | 59 + .../source/model/RetrievalFilter.cpp | 243 + .../RetrieveAndGenerateConfiguration.cpp | 87 + .../source/model/RetrieveAndGenerateType.cpp | 72 + .../source/model/RetrieveConfig.cpp | 73 + .../source/model/S3ObjectDoc.cpp | 59 + .../source/model/SearchType.cpp | 72 + .../source/model/TextInferenceConfig.cpp | 112 + .../aws/chime-sdk-voice/ChimeSDKVoiceClient.h | 78 + .../ChimeSDKVoiceServiceClientModel.h | 14 + .../model/ContactCenterSystemType.h | 33 + .../model/CreateVoiceConnectorRequest.h | 36 + ...ectorExternalSystemsConfigurationRequest.h | 57 + .../model/ExternalSystemsConfiguration.h | 81 + ...ectorExternalSystemsConfigurationRequest.h | 57 + ...nectorExternalSystemsConfigurationResult.h | 67 + ...ectorExternalSystemsConfigurationRequest.h | 94 + ...nectorExternalSystemsConfigurationResult.h | 67 + .../model/SessionBorderControllerType.h | 34 + .../chime-sdk-voice/model/VoiceConnector.h | 16 + .../model/VoiceConnectorIntegrationType.h | 31 + .../source/ChimeSDKVoiceClient.cpp | 105 + .../source/model/ContactCenterSystemType.cpp | 86 + .../model/CreateVoiceConnectorRequest.cpp | 9 +- ...torExternalSystemsConfigurationRequest.cpp | 27 + .../model/ExternalSystemsConfiguration.cpp | 89 + ...torExternalSystemsConfigurationRequest.cpp | 27 + ...ctorExternalSystemsConfigurationResult.cpp | 48 + ...torExternalSystemsConfigurationRequest.cpp | 53 + ...ctorExternalSystemsConfigurationResult.cpp | 48 + .../model/SessionBorderControllerType.cpp | 93 + .../source/model/VoiceConnector.cpp | 16 +- .../model/VoiceConnectorIntegrationType.cpp | 72 + .../cleanrooms/model/AthenaTableReference.h | 112 + .../include/aws/cleanrooms/model/Column.h | 2 +- .../aws/cleanrooms/model/ConfiguredTable.h | 2 +- .../model/CreateConfiguredTableRequest.h | 2 +- .../model/SnowflakeTableReference.h | 145 + .../cleanrooms/model/SnowflakeTableSchema.h | 62 + .../cleanrooms/model/SnowflakeTableSchemaV1.h | 86 + .../aws/cleanrooms/model/TableReference.h | 38 +- .../source/model/AthenaTableReference.cpp | 101 + .../source/model/SnowflakeTableReference.cpp | 129 + .../source/model/SnowflakeTableSchema.cpp | 67 + .../source/model/SnowflakeTableSchemaV1.cpp | 73 + .../source/model/TableReference.cpp | 30 +- .../include/aws/connect/ConnectClient.h | 25 +- .../aws/connect/model/AssociateFlowRequest.h | 5 +- .../model/BatchGetFlowAssociationRequest.h | 6 +- .../connect/model/ClaimedPhoneNumberSummary.h | 5 +- .../aws/connect/model/ContactRecordingType.h | 32 + .../CreateIntegrationAssociationRequest.h | 5 +- .../connect/model/DisassociateFlowRequest.h | 5 +- .../model/FlowAssociationResourceType.h | 4 +- .../connect/model/GetFlowAssociationRequest.h | 5 +- .../connect/model/GetMetricDataV2Request.h | 137 +- .../connect/model/ImportPhoneNumberRequest.h | 5 +- .../aws/connect/model/IntegrationType.h | 4 +- .../aws/connect/model/IvrRecordingTrack.h | 30 + .../model/ListFlowAssociationResourceType.h | 4 +- .../connect/model/ListPhoneNumbersSummary.h | 5 +- .../aws/connect/model/MetricFilterV2.h | 11 +- .../aws/connect/model/QueueInfoInput.h | 61 + .../model/ResumeContactRecordingRequest.h | 16 + .../aws/connect/model/SecurityProfile.h | 2 +- .../model/SendChatIntegrationEventRequest.h | 7 +- .../model/StopContactRecordingRequest.h | 16 + .../model/SuspendContactRecordingRequest.h | 16 + .../include/aws/connect/model/TagSet.h | 2 +- .../aws/connect/model/UpdateContactRequest.h | 87 + .../model/VoiceRecordingConfiguration.h | 16 + .../source/model/ContactRecordingType.cpp | 79 + .../model/FlowAssociationResourceType.cpp | 14 + .../source/model/IntegrationType.cpp | 14 + .../source/model/IvrRecordingTrack.cpp | 65 + .../model/ListFlowAssociationResourceType.cpp | 16 +- .../source/model/QueueInfoInput.cpp | 59 + .../model/ResumeContactRecordingRequest.cpp | 9 +- .../model/StopContactRecordingRequest.cpp | 9 +- .../model/SuspendContactRecordingRequest.cpp | 9 +- .../source/model/UpdateContactRequest.cpp | 30 +- .../model/VoiceRecordingConfiguration.cpp | 16 +- .../ConnectCampaignsV2Client.h | 26 + .../ConnectCampaignsV2ServiceClientModel.h | 5 + .../connectcampaignsv2/model/EventTrigger.h | 59 + .../model/FailedProfileOutboundRequest.h | 88 + .../model/ProfileOutboundRequest.h | 88 + .../model/ProfileOutboundRequestFailureCode.h | 34 + .../PutProfileOutboundRequestBatchRequest.h | 75 + .../PutProfileOutboundRequestBatchResult.h | 87 + .../aws/connectcampaignsv2/model/Source.h | 14 + .../model/SuccessfulProfileOutboundRequest.h | 74 + .../source/ConnectCampaignsV2Client.cpp | 35 + .../source/model/EventTrigger.cpp | 59 + .../model/FailedProfileOutboundRequest.cpp | 87 + .../source/model/ProfileOutboundRequest.cpp | 86 + .../ProfileOutboundRequestFailureCode.cpp | 93 + .../PutProfileOutboundRequestBatchRequest.cpp | 41 + .../PutProfileOutboundRequestBatchResult.cpp | 60 + .../source/model/Source.cpp | 16 +- .../SuccessfulProfileOutboundRequest.cpp | 73 + .../CustomerProfilesClient.h | 130 + .../CustomerProfilesServiceClientModel.h | 25 + .../model/ComparisonOperator.h | 44 + .../model/CreateEventTriggerRequest.h | 186 + .../model/CreateEventTriggerResult.h | 195 + .../model/DeleteEventTriggerRequest.h | 73 + .../model/DeleteEventTriggerResult.h | 67 + .../model/EventTriggerCondition.h | 79 + .../model/EventTriggerDimension.h | 62 + .../model/EventTriggerLimits.h | 78 + .../model/EventTriggerLogicalOperator.h | 32 + .../model/EventTriggerSummaryItem.h | 149 + .../model/GetEventTriggerRequest.h | 73 + .../model/GetEventTriggerResult.h | 195 + .../model/GetIntegrationResult.h | 19 + .../model/ListEventTriggersRequest.h | 92 + .../model/ListEventTriggersResult.h | 84 + .../model/ListIntegrationItem.h | 20 + .../customer-profiles/model/ObjectAttribute.h | 114 + .../aws/customer-profiles/model/Period.h | 100 + .../aws/customer-profiles/model/PeriodUnit.h | 33 + .../model/PutIntegrationRequest.h | 20 + .../model/PutIntegrationResult.h | 19 + .../model/UpdateEventTriggerRequest.h | 163 + .../model/UpdateEventTriggerResult.h | 195 + .../source/CustomerProfilesClient.cpp | 199 + .../source/model/ComparisonOperator.cpp | 163 + .../model/CreateEventTriggerRequest.cpp | 82 + .../source/model/CreateEventTriggerResult.cpp | 102 + .../model/DeleteEventTriggerRequest.cpp | 28 + .../source/model/DeleteEventTriggerResult.cpp | 48 + .../source/model/EventTriggerCondition.cpp | 81 + .../source/model/EventTriggerDimension.cpp | 67 + .../source/model/EventTriggerLimits.cpp | 82 + .../model/EventTriggerLogicalOperator.cpp | 79 + .../source/model/EventTriggerSummaryItem.cpp | 135 + .../source/model/GetEventTriggerRequest.cpp | 28 + .../source/model/GetEventTriggerResult.cpp | 102 + .../source/model/GetIntegrationResult.cpp | 9 + .../source/model/ListEventTriggersRequest.cpp | 51 + .../source/model/ListEventTriggersResult.cpp | 57 + .../source/model/ListIntegrationItem.cpp | 24 +- .../source/model/ObjectAttribute.cpp | 109 + .../source/model/Period.cpp | 104 + .../source/model/PeriodUnit.cpp | 86 + .../source/model/PutIntegrationRequest.cpp | 14 +- .../source/model/PutIntegrationResult.cpp | 9 + .../model/UpdateEventTriggerRequest.cpp | 70 + .../source/model/UpdateEventTriggerResult.cpp | 102 + .../include/aws/ec2/EC2Client.h | 422 +- .../include/aws/ec2/EC2ServiceClientModel.h | 212 +- .../AllowedImagesSettingsDisabledState.h | 30 + .../model/AllowedImagesSettingsEnabledState.h | 31 + .../include/aws/ec2/model/AttributeSummary.h | 129 + .../CancelDeclarativePoliciesReportRequest.h | 76 + .../CancelDeclarativePoliciesReportResponse.h | 61 + .../CreateVerifiedAccessEndpointCidrOptions.h | 117 + .../CreateVerifiedAccessEndpointEniOptions.h | 19 + ...erifiedAccessEndpointLoadBalancerOptions.h | 18 + .../CreateVerifiedAccessEndpointPortRange.h | 71 + .../CreateVerifiedAccessEndpointRdsOptions.h | 163 + .../CreateVerifiedAccessEndpointRequest.h | 34 + .../CreateVerifiedAccessInstanceRequest.h | 17 + ...rifiedAccessNativeApplicationOidcOptions.h | 182 + ...CreateVerifiedAccessTrustProviderRequest.h | 16 + .../aws/ec2/model/CreateVolumeResponse.h | 2 +- .../aws/ec2/model/CreateVpcEndpointRequest.h | 36 + .../aws/ec2/model/DeclarativePoliciesReport.h | 184 + ...escribeDeclarativePoliciesReportsRequest.h | 112 + ...scribeDeclarativePoliciesReportsResponse.h | 84 + .../aws/ec2/model/DescribeImagesRequest.h | 18 +- .../DescribeInstanceImageMetadataRequest.h | 18 +- .../aws/ec2/model/DescribeSnapshotsRequest.h | 10 +- .../DescribeVpcEndpointAssociationsRequest.h | 139 + .../DescribeVpcEndpointAssociationsResponse.h | 83 + .../DisableAllowedImagesSettingsRequest.h | 57 + .../DisableAllowedImagesSettingsResponse.h | 65 + .../aws/ec2/model/EbsInstanceBlockDevice.h | 2 +- .../EnableAllowedImagesSettingsRequest.h | 76 + .../EnableAllowedImagesSettingsResponse.h | 65 + ...AccessInstanceClientConfigurationRequest.h | 76 + ...ccessInstanceClientConfigurationResponse.h | 143 + .../model/GetAllowedImagesSettingsRequest.h | 57 + .../model/GetAllowedImagesSettingsResponse.h | 109 + ...tDeclarativePoliciesReportSummaryRequest.h | 76 + ...DeclarativePoliciesReportSummaryResponse.h | 182 + .../GetImageBlockPublicAccessStateResponse.h | 18 + .../GetSerialConsoleAccessStatusResponse.h | 17 + ...etSnapshotBlockPublicAccessStateResponse.h | 18 + .../GetVerifiedAccessEndpointTargetsRequest.h | 108 + ...GetVerifiedAccessEndpointTargetsResponse.h | 84 + .../include/aws/ec2/model/Image.h | 21 + .../include/aws/ec2/model/ImageCriterion.h | 81 + .../aws/ec2/model/ImageCriterionRequest.h | 82 + .../include/aws/ec2/model/ImageMetadata.h | 18 + .../include/aws/ec2/model/Instance.h | 2 +- .../model/InstanceMetadataDefaultsResponse.h | 39 + .../aws/ec2/model/InstanceNetworkInterface.h | 2 +- .../include/aws/ec2/model/InstanceStatus.h | 2 +- .../include/aws/ec2/model/InstanceType.h | 20 +- .../include/aws/ec2/model/ManagedBy.h | 31 + .../ModifyVerifiedAccessEndpointCidrOptions.h | 65 + .../ModifyVerifiedAccessEndpointEniOptions.h | 19 + ...erifiedAccessEndpointLoadBalancerOptions.h | 18 + .../ModifyVerifiedAccessEndpointPortRange.h | 71 + .../ModifyVerifiedAccessEndpointRdsOptions.h | 95 + .../ModifyVerifiedAccessEndpointRequest.h | 32 + .../ModifyVerifiedAccessInstanceRequest.h | 17 + ...rifiedAccessNativeApplicationOidcOptions.h | 182 + ...VerifiedAccessTrustProviderDeviceOptions.h | 2 +- ...ModifyVerifiedAccessTrustProviderRequest.h | 16 + .../ec2/model/NativeApplicationOidcOptions.h | 165 + .../include/aws/ec2/model/NetworkInterface.h | 2 +- .../include/aws/ec2/model/OperatorRequest.h | 4 +- .../include/aws/ec2/model/OperatorResponse.h | 8 +- .../include/aws/ec2/model/RegionalSummary.h | 92 + ...geCriteriaInAllowedImagesSettingsRequest.h | 79 + ...eCriteriaInAllowedImagesSettingsResponse.h | 62 + .../include/aws/ec2/model/ReportState.h | 33 + .../include/aws/ec2/model/ResourceType.h | 2 + .../StartDeclarativePoliciesReportRequest.h | 132 + .../StartDeclarativePoliciesReportResponse.h | 66 + .../include/aws/ec2/model/State.h | 3 +- .../include/aws/ec2/model/SubnetIpPrefixes.h | 82 + .../aws/ec2/model/VerifiedAccessEndpoint.h | 32 + .../model/VerifiedAccessEndpointCidrOptions.h | 117 + .../model/VerifiedAccessEndpointEniOptions.h | 19 + ...erifiedAccessEndpointLoadBalancerOptions.h | 18 + .../model/VerifiedAccessEndpointPortRange.h | 70 + .../model/VerifiedAccessEndpointProtocol.h | 3 +- .../model/VerifiedAccessEndpointRdsOptions.h | 163 + .../ec2/model/VerifiedAccessEndpointTarget.h | 98 + .../ec2/model/VerifiedAccessEndpointType.h | 4 +- .../aws/ec2/model/VerifiedAccessInstance.h | 16 + .../VerifiedAccessInstanceCustomSubDomain.h | 83 + ...AccessInstanceOpenVpnClientConfiguration.h | 82 + ...sInstanceOpenVpnClientConfigurationRoute.h | 63 + ...anceUserTrustProviderClientConfiguration.h | 211 + .../ec2/model/VerifiedAccessTrustProvider.h | 16 + .../include/aws/ec2/model/Volume.h | 2 +- .../VpcBlockPublicAccessExclusionsAllowed.h | 31 + .../ec2/model/VpcBlockPublicAccessOptions.h | 38 + .../include/aws/ec2/model/VpcEndpoint.h | 86 + .../aws/ec2/model/VpcEndpointAssociation.h | 252 + .../include/aws/ec2/model/VpcEndpointType.h | 4 +- .../src/aws-cpp-sdk-ec2/source/EC2Client.cpp | 54 +- .../src/aws-cpp-sdk-ec2/source/EC2Client1.cpp | 54 +- .../src/aws-cpp-sdk-ec2/source/EC2Client2.cpp | 108 +- .../src/aws-cpp-sdk-ec2/source/EC2Client3.cpp | 216 +- .../src/aws-cpp-sdk-ec2/source/EC2Client4.cpp | 432 +- .../src/aws-cpp-sdk-ec2/source/EC2Client5.cpp | 486 +- .../src/aws-cpp-sdk-ec2/source/EC2Client6.cpp | 297 + .../AllowedImagesSettingsDisabledState.cpp | 65 + .../AllowedImagesSettingsEnabledState.cpp | 72 + .../source/model/AttributeSummary.cpp | 154 + ...CancelDeclarativePoliciesReportRequest.cpp | 42 + ...ancelDeclarativePoliciesReportResponse.cpp | 59 + ...reateVerifiedAccessEndpointCidrOptions.cpp | 151 + ...CreateVerifiedAccessEndpointEniOptions.cpp | 36 +- ...ifiedAccessEndpointLoadBalancerOptions.cpp | 36 +- .../CreateVerifiedAccessEndpointPortRange.cpp | 88 + ...CreateVerifiedAccessEndpointRdsOptions.cpp | 182 + .../CreateVerifiedAccessEndpointRequest.cpp | 14 +- .../CreateVerifiedAccessInstanceRequest.cpp | 8 +- ...fiedAccessNativeApplicationOidcOptions.cpp | 182 + ...eateVerifiedAccessTrustProviderRequest.cpp | 8 +- .../source/model/CreateVpcEndpointRequest.cpp | 12 + .../model/DeclarativePoliciesReport.cpp | 201 + ...cribeDeclarativePoliciesReportsRequest.cpp | 61 + ...ribeDeclarativePoliciesReportsResponse.cpp | 68 + ...DescribeVpcEndpointAssociationsRequest.cpp | 72 + ...escribeVpcEndpointAssociationsResponse.cpp | 68 + .../DisableAllowedImagesSettingsRequest.cpp | 36 + .../DisableAllowedImagesSettingsResponse.cpp | 59 + .../EnableAllowedImagesSettingsRequest.cpp | 43 + .../EnableAllowedImagesSettingsResponse.cpp | 59 + ...cessInstanceClientConfigurationRequest.cpp | 42 + ...essInstanceClientConfigurationResponse.cpp | 94 + .../model/GetAllowedImagesSettingsRequest.cpp | 36 + .../GetAllowedImagesSettingsResponse.cpp | 75 + ...eclarativePoliciesReportSummaryRequest.cpp | 42 + ...clarativePoliciesReportSummaryResponse.cpp | 106 + ...GetImageBlockPublicAccessStateResponse.cpp | 9 +- .../GetSerialConsoleAccessStatusResponse.cpp | 8 +- ...SnapshotBlockPublicAccessStateResponse.cpp | 8 +- ...etVerifiedAccessEndpointTargetsRequest.cpp | 55 + ...tVerifiedAccessEndpointTargetsResponse.cpp | 68 + .../aws-cpp-sdk-ec2/source/model/Image.cpp | 17 + .../source/model/ImageCriterion.cpp | 84 + .../source/model/ImageCriterionRequest.cpp | 84 + .../source/model/ImageMetadata.cpp | 17 + .../InstanceMetadataDefaultsResponse.cpp | 35 +- .../source/model/InstanceType.cpp | 162 + .../source/model/ManagedBy.cpp | 72 + ...odifyVerifiedAccessEndpointCidrOptions.cpp | 88 + ...ModifyVerifiedAccessEndpointEniOptions.cpp | 36 +- ...ifiedAccessEndpointLoadBalancerOptions.cpp | 36 +- .../ModifyVerifiedAccessEndpointPortRange.cpp | 88 + ...ModifyVerifiedAccessEndpointRdsOptions.cpp | 117 + .../ModifyVerifiedAccessEndpointRequest.cpp | 14 +- .../ModifyVerifiedAccessInstanceRequest.cpp | 8 +- ...fiedAccessNativeApplicationOidcOptions.cpp | 182 + ...difyVerifiedAccessTrustProviderRequest.cpp | 8 +- .../model/NativeApplicationOidcOptions.cpp | 166 + .../source/model/RegionalSummary.cpp | 104 + ...CriteriaInAllowedImagesSettingsRequest.cpp | 47 + ...riteriaInAllowedImagesSettingsResponse.cpp | 59 + .../source/model/ReportState.cpp | 86 + .../source/model/ResourceType.cpp | 14 + .../StartDeclarativePoliciesReportRequest.cpp | 65 + ...StartDeclarativePoliciesReportResponse.cpp | 57 + .../aws-cpp-sdk-ec2/source/model/State.cpp | 7 + .../source/model/SubnetIpPrefixes.cpp | 100 + .../source/model/VerifiedAccessEndpoint.cpp | 42 +- .../VerifiedAccessEndpointCidrOptions.cpp | 151 + .../VerifiedAccessEndpointEniOptions.cpp | 36 +- ...ifiedAccessEndpointLoadBalancerOptions.cpp | 36 +- .../model/VerifiedAccessEndpointPortRange.cpp | 88 + .../model/VerifiedAccessEndpointProtocol.cpp | 7 + .../VerifiedAccessEndpointRdsOptions.cpp | 182 + .../model/VerifiedAccessEndpointTarget.cpp | 102 + .../model/VerifiedAccessEndpointType.cpp | 14 + .../source/model/VerifiedAccessInstance.cpp | 22 +- .../VerifiedAccessInstanceCustomSubDomain.cpp | 100 + ...cessInstanceOpenVpnClientConfiguration.cpp | 104 + ...nstanceOpenVpnClientConfigurationRoute.cpp | 70 + ...ceUserTrustProviderClientConfiguration.cpp | 216 + .../model/VerifiedAccessTrustProvider.cpp | 22 +- .../VpcBlockPublicAccessExclusionsAllowed.cpp | 72 + .../model/VpcBlockPublicAccessOptions.cpp | 36 +- .../source/model/VpcEndpoint.cpp | 116 + .../source/model/VpcEndpointAssociation.cpp | 272 + .../source/model/VpcEndpointType.cpp | 14 + .../include/aws/ecs/ECSClient.h | 6 +- .../aws/ecs/model/AwsVpcConfiguration.h | 2 +- .../include/aws/ecs/model/ClusterSetting.h | 27 +- .../aws/ecs/model/DescribeTasksRequest.h | 4 +- .../include/aws/ecs/model/EphemeralStorage.h | 2 +- .../ecs/model/ListServiceDeploymentsRequest.h | 2 +- .../model/PutAccountSettingDefaultRequest.h | 36 +- .../aws/ecs/model/PutAccountSettingRequest.h | 36 +- .../include/aws/eks/model/AddonVersionInfo.h | 18 + .../include/aws/eks/model/BlockStorage.h | 62 + .../include/aws/eks/model/Cluster.h | 57 + .../aws/eks/model/ComputeConfigRequest.h | 103 + .../aws/eks/model/ComputeConfigResponse.h | 99 + .../aws/eks/model/CreateClusterRequest.h | 53 + .../aws/eks/model/ElasticLoadBalancing.h | 60 + .../model/KubernetesNetworkConfigRequest.h | 18 + .../model/KubernetesNetworkConfigResponse.h | 18 + .../eks/model/RemoteNetworkConfigRequest.h | 83 + .../eks/model/RemoteNetworkConfigResponse.h | 83 + .../include/aws/eks/model/RemoteNodeNetwork.h | 63 + .../include/aws/eks/model/RemotePodNetwork.h | 65 + .../aws/eks/model/StorageConfigRequest.h | 63 + .../aws/eks/model/StorageConfigResponse.h | 62 + .../eks/model/UpdateClusterConfigRequest.h | 48 + .../include/aws/eks/model/UpdateParamType.h | 5 +- .../include/aws/eks/model/UpdateType.h | 3 +- .../source/model/AddonVersionInfo.cpp | 22 + .../source/model/BlockStorage.cpp | 60 + .../aws-cpp-sdk-eks/source/model/Cluster.cpp | 44 +- .../source/model/ComputeConfigRequest.cpp | 96 + .../source/model/ComputeConfigResponse.cpp | 96 + .../source/model/CreateClusterRequest.cpp | 23 +- .../source/model/ElasticLoadBalancing.cpp | 60 + .../model/KubernetesNetworkConfigRequest.cpp | 16 +- .../model/KubernetesNetworkConfigResponse.cpp | 16 +- .../model/RemoteNetworkConfigRequest.cpp | 89 + .../model/RemoteNetworkConfigResponse.cpp | 89 + .../source/model/RemoteNodeNetwork.cpp | 67 + .../source/model/RemotePodNetwork.cpp | 67 + .../source/model/StorageConfigRequest.cpp | 59 + .../source/model/StorageConfigResponse.cpp | 59 + .../model/UpdateClusterConfigRequest.cpp | 23 +- .../source/model/UpdateParamType.cpp | 21 + .../source/model/UpdateType.cpp | 7 + .../aws/eventbridge/EventBridgeClient.h | 34 +- .../model/ConnectionAuthResponseParameters.h | 24 +- .../ConnectionBasicAuthResponseParameters.h | 4 +- .../model/ConnectionBodyParameter.h | 2 +- .../model/ConnectionHeaderParameter.h | 2 +- .../model/ConnectionHttpParameters.h | 9 +- .../ConnectionOAuthClientResponseParameters.h | 4 +- .../model/ConnectionOAuthResponseParameters.h | 5 +- .../model/ConnectionQueryStringParameter.h | 4 +- .../aws/eventbridge/model/ConnectionState.h | 4 +- .../ConnectivityResourceConfigurationArn.h | 63 + .../model/ConnectivityResourceParameters.h | 61 + ...ateConnectionApiKeyAuthRequestParameters.h | 4 +- .../CreateConnectionAuthRequestParameters.h | 44 +- ...teConnectionOAuthClientRequestParameters.h | 4 +- .../CreateConnectionOAuthRequestParameters.h | 6 +- .../model/CreateConnectionRequest.h | 25 +- .../aws/eventbridge/model/DeadLetterConfig.h | 6 +- ...DescribeConnectionConnectivityParameters.h | 65 + .../DescribeConnectionResourceParameters.h | 82 + .../model/DescribeConnectionResult.h | 18 + .../model/ListApiDestinationsRequest.h | 8 +- .../model/ListApiDestinationsResult.h | 11 +- .../eventbridge/model/ListArchivesRequest.h | 8 +- .../eventbridge/model/ListArchivesResult.h | 8 +- .../model/ListConnectionsRequest.h | 8 +- .../eventbridge/model/ListConnectionsResult.h | 8 +- .../eventbridge/model/ListEndpointsRequest.h | 11 +- .../eventbridge/model/ListEndpointsResult.h | 11 +- .../eventbridge/model/ListEventBusesRequest.h | 8 +- .../eventbridge/model/ListEventBusesResult.h | 8 +- .../model/ListEventSourcesRequest.h | 8 +- .../model/ListEventSourcesResult.h | 8 +- .../ListPartnerEventSourceAccountsRequest.h | 8 +- .../ListPartnerEventSourceAccountsResult.h | 8 +- .../model/ListPartnerEventSourcesRequest.h | 8 +- .../model/ListPartnerEventSourcesResult.h | 8 +- .../eventbridge/model/ListReplaysRequest.h | 8 +- .../aws/eventbridge/model/ListReplaysResult.h | 8 +- .../model/ListRuleNamesByTargetRequest.h | 8 +- .../model/ListRuleNamesByTargetResult.h | 8 +- .../aws/eventbridge/model/ListRulesRequest.h | 8 +- .../aws/eventbridge/model/ListRulesResult.h | 8 +- .../model/ListTargetsByRuleRequest.h | 8 +- .../model/ListTargetsByRuleResult.h | 8 +- .../include/aws/eventbridge/model/Target.h | 3 +- ...ateConnectionApiKeyAuthRequestParameters.h | 2 +- .../UpdateConnectionAuthRequestParameters.h | 33 +- ...dateConnectionBasicAuthRequestParameters.h | 2 +- ...teConnectionOAuthClientRequestParameters.h | 4 +- .../UpdateConnectionOAuthRequestParameters.h | 9 +- .../model/UpdateConnectionRequest.h | 20 + .../ConnectionAuthResponseParameters.cpp | 16 +- .../source/model/ConnectionState.cpp | 14 + .../ConnectivityResourceConfigurationArn.cpp | 59 + .../model/ConnectivityResourceParameters.cpp | 59 + .../CreateConnectionAuthRequestParameters.cpp | 16 +- .../source/model/CreateConnectionRequest.cpp | 9 +- ...scribeConnectionConnectivityParameters.cpp | 59 + .../DescribeConnectionResourceParameters.cpp | 73 + .../source/model/DescribeConnectionResult.cpp | 6 + .../UpdateConnectionAuthRequestParameters.cpp | 16 +- .../source/model/UpdateConnectionRequest.cpp | 9 +- .../include/aws/fsx/FSxClient.h | 1 + .../include/aws/fsx/model/Backup.h | 14 + .../CreateFileSystemOpenZFSConfiguration.h | 17 + .../aws/fsx/model/CreateFileSystemRequest.h | 30 +- .../model/CreateOpenZFSVolumeConfiguration.h | 15 +- .../model/OpenZFSFileSystemConfiguration.h | 18 + .../fsx/model/OpenZFSReadCacheConfiguration.h | 81 + .../fsx/model/OpenZFSReadCacheSizingMode.h | 32 + .../include/aws/fsx/model/StorageType.h | 3 +- .../UpdateFileSystemOpenZFSConfiguration.h | 17 + .../aws-cpp-sdk-fsx/source/model/Backup.cpp | 17 +- .../CreateFileSystemOpenZFSConfiguration.cpp | 16 +- .../model/OpenZFSFileSystemConfiguration.cpp | 16 +- .../model/OpenZFSReadCacheConfiguration.cpp | 74 + .../model/OpenZFSReadCacheSizingMode.cpp | 79 + .../source/model/StorageType.cpp | 7 + .../UpdateFileSystemOpenZFSConfiguration.cpp | 16 +- .../include/aws/guardduty/model/AccessKey.h | 95 + .../include/aws/guardduty/model/Account.h | 78 + .../include/aws/guardduty/model/Actor.h | 94 + .../aws/guardduty/model/AutonomousSystem.h | 75 + .../include/aws/guardduty/model/Detection.h | 16 + .../include/aws/guardduty/model/Ec2Instance.h | 204 + .../aws/guardduty/model/Ec2NetworkInterface.h | 151 + .../include/aws/guardduty/model/Finding.h | 17 + .../aws/guardduty/model/FindingResourceType.h | 34 + .../include/aws/guardduty/model/Indicator.h | 102 + .../aws/guardduty/model/IndicatorType.h | 39 + .../include/aws/guardduty/model/MfaStatus.h | 31 + .../aws/guardduty/model/NetworkConnection.h | 60 + .../aws/guardduty/model/NetworkDirection.h | 31 + .../aws/guardduty/model/NetworkEndpoint.h | 157 + .../aws/guardduty/model/NetworkGeoLocation.h | 105 + .../model/PublicAccessConfiguration.h | 115 + .../aws/guardduty/model/PublicAccessStatus.h | 31 + .../guardduty/model/PublicAclIgnoreBehavior.h | 31 + .../model/PublicBucketRestrictBehavior.h | 31 + .../guardduty/model/RdsLimitlessDbDetails.h | 2 +- .../aws/guardduty/model/ResourceData.h | 127 + .../include/aws/guardduty/model/ResourceV2.h | 200 + .../include/aws/guardduty/model/S3Bucket.h | 219 + .../include/aws/guardduty/model/S3Object.h | 97 + .../include/aws/guardduty/model/Sequence.h | 172 + .../include/aws/guardduty/model/Session.h | 118 + .../include/aws/guardduty/model/Signal.h | 294 + .../include/aws/guardduty/model/SignalType.h | 32 + .../include/aws/guardduty/model/User.h | 129 + .../source/model/AccessKey.cpp | 87 + .../source/model/Account.cpp | 73 + .../source/model/Actor.cpp | 87 + .../source/model/AutonomousSystem.cpp | 74 + .../source/model/Detection.cpp | 16 +- .../source/model/Ec2Instance.cpp | 187 + .../source/model/Ec2NetworkInterface.cpp | 153 + .../source/model/Finding.cpp | 16 +- .../source/model/FindingResourceType.cpp | 93 + .../source/model/Indicator.cpp | 95 + .../source/model/IndicatorType.cpp | 128 + .../source/model/MfaStatus.cpp | 72 + .../source/model/NetworkConnection.cpp | 59 + .../source/model/NetworkDirection.cpp | 72 + .../source/model/NetworkEndpoint.cpp | 144 + .../source/model/NetworkGeoLocation.cpp | 103 + .../model/PublicAccessConfiguration.cpp | 101 + .../source/model/PublicAccessStatus.cpp | 72 + .../source/model/PublicAclIgnoreBehavior.cpp | 72 + .../model/PublicBucketRestrictBehavior.cpp | 72 + .../source/model/ResourceData.cpp | 115 + .../source/model/ResourceV2.cpp | 179 + .../source/model/S3Bucket.cpp | 192 + .../source/model/S3Object.cpp | 87 + .../source/model/Sequence.cpp | 183 + .../source/model/Session.cpp | 100 + .../source/model/Signal.cpp | 271 + .../source/model/SignalType.cpp | 79 + .../source/model/User.cpp | 115 + .../aws/imagebuilder/ImagebuilderClient.h | 28 + .../ImagebuilderServiceClientModel.h | 5 + .../aws/imagebuilder/model/Component.h | 22 +- .../aws/imagebuilder/model/ComponentStatus.h | 4 +- .../aws/imagebuilder/model/ComponentVersion.h | 35 + .../model/GetMarketplaceResourceRequest.h | 92 + .../model/GetMarketplaceResourceResult.h | 98 + .../aws/imagebuilder/model/ImagePackage.h | 8 +- .../model/ImageTestsConfiguration.h | 4 +- .../model/MarketplaceResourceType.h | 31 + .../aws/imagebuilder/model/Ownership.h | 3 +- .../imagebuilder/model/ProductCodeListItem.h | 81 + .../aws/imagebuilder/model/ProductCodeType.h | 30 + .../model/TargetContainerRepository.h | 3 +- .../source/ImagebuilderClient.cpp | 28 + .../source/model/Component.cpp | 24 +- .../source/model/ComponentStatus.cpp | 14 + .../source/model/ComponentVersion.cpp | 38 +- .../model/GetMarketplaceResourceRequest.cpp | 49 + .../model/GetMarketplaceResourceResult.cpp | 60 + .../source/model/MarketplaceResourceType.cpp | 72 + .../source/model/Ownership.cpp | 7 + .../source/model/ProductCodeListItem.cpp | 73 + .../source/model/ProductCodeType.cpp | 65 + .../src/aws-cpp-sdk-invoicing/CMakeLists.txt | 76 + .../include/aws/invoicing/InvoicingClient.h | 339 ++ .../aws/invoicing/InvoicingEndpointProvider.h | 61 + .../aws/invoicing/InvoicingEndpointRules.h | 23 + .../aws/invoicing/InvoicingErrorMarshaller.h | 23 + .../include/aws/invoicing/InvoicingErrors.h | 73 + .../include/aws/invoicing/InvoicingRequest.h | 46 + .../invoicing/InvoicingServiceClientModel.h | 121 + .../include/aws/invoicing/Invoicing_EXPORTS.h | 32 + .../invoicing/model/AccessDeniedException.h | 77 + .../model/BatchGetInvoiceProfileRequest.h | 60 + .../model/BatchGetInvoiceProfileResult.h | 69 + .../model/CreateInvoiceUnitRequest.h | 145 + .../invoicing/model/CreateInvoiceUnitResult.h | 68 + .../model/DeleteInvoiceUnitRequest.h | 59 + .../invoicing/model/DeleteInvoiceUnitResult.h | 68 + .../include/aws/invoicing/model/Filters.h | 113 + .../invoicing/model/GetInvoiceUnitRequest.h | 78 + .../invoicing/model/GetInvoiceUnitResult.h | 154 + .../invoicing/model/InternalServerException.h | 74 + .../aws/invoicing/model/InvoiceProfile.h | 146 + .../include/aws/invoicing/model/InvoiceUnit.h | 167 + .../aws/invoicing/model/InvoiceUnitRule.h | 66 + .../invoicing/model/ListInvoiceUnitsRequest.h | 110 + .../invoicing/model/ListInvoiceUnitsResult.h | 86 + .../model/ListTagsForResourceRequest.h | 58 + .../model/ListTagsForResourceResult.h | 69 + .../aws/invoicing/model/ReceiverAddress.h | 198 + .../model/ResourceNotFoundException.h | 76 + .../include/aws/invoicing/model/ResourceTag.h | 79 + .../aws/invoicing/model/TagResourceRequest.h | 77 + .../aws/invoicing/model/TagResourceResult.h | 52 + .../invoicing/model/UntagResourceRequest.h | 77 + .../aws/invoicing/model/UntagResourceResult.h | 52 + .../model/UpdateInvoiceUnitRequest.h | 107 + .../invoicing/model/UpdateInvoiceUnitResult.h | 68 + .../aws/invoicing/model/ValidationException.h | 113 + .../model/ValidationExceptionField.h | 81 + .../model/ValidationExceptionReason.h | 43 + .../source/InvoicingClient.cpp | 409 ++ .../source/InvoicingEndpointProvider.cpp | 16 + .../source/InvoicingEndpointRules.cpp | 101 + .../source/InvoicingErrorMarshaller.cpp | 22 + .../source/InvoicingErrors.cpp | 71 + .../source/InvoicingRequest.cpp | 14 + .../source/model/AccessDeniedException.cpp | 73 + .../model/BatchGetInvoiceProfileRequest.cpp | 48 + .../model/BatchGetInvoiceProfileResult.cpp | 51 + .../source/model/CreateInvoiceUnitRequest.cpp | 84 + .../source/model/CreateInvoiceUnitResult.cpp | 48 + .../source/model/DeleteInvoiceUnitRequest.cpp | 43 + .../source/model/DeleteInvoiceUnitResult.cpp | 48 + .../source/model/Filters.cpp | 111 + .../source/model/GetInvoiceUnitRequest.cpp | 49 + .../source/model/GetInvoiceUnitResult.cpp | 86 + .../source/model/InternalServerException.cpp | 74 + .../source/model/InvoiceProfile.cpp | 129 + .../source/model/InvoiceUnit.cpp | 143 + .../source/model/InvoiceUnitRule.cpp | 67 + .../source/model/ListInvoiceUnitsRequest.cpp | 64 + .../source/model/ListInvoiceUnitsResult.cpp | 57 + .../model/ListTagsForResourceRequest.cpp | 43 + .../model/ListTagsForResourceResult.cpp | 51 + .../source/model/ReceiverAddress.cpp | 171 + .../model/ResourceNotFoundException.cpp | 73 + .../source/model/ResourceTag.cpp | 73 + .../source/model/TagResourceRequest.cpp | 55 + .../source/model/TagResourceResult.cpp | 42 + .../source/model/UntagResourceRequest.cpp | 55 + .../source/model/UntagResourceResult.cpp | 42 + .../source/model/UpdateInvoiceUnitRequest.cpp | 65 + .../source/model/UpdateInvoiceUnitResult.cpp | 48 + .../source/model/ValidationException.cpp | 109 + .../source/model/ValidationExceptionField.cpp | 73 + .../model/ValidationExceptionReason.cpp | 156 + .../include/aws/logs/CloudWatchLogsClient.h | 118 + .../logs/CloudWatchLogsServiceClientModel.h | 21 + .../aws/logs/model/DeleteIntegrationRequest.h | 75 + .../aws/logs/model/DeleteIntegrationResult.h | 52 + .../aws/logs/model/DescribeQueriesRequest.h | 17 + .../model/DescribeQueryDefinitionsRequest.h | 19 + .../aws/logs/model/GetIntegrationRequest.h | 61 + .../aws/logs/model/GetIntegrationResult.h | 113 + .../aws/logs/model/GetQueryResultsResult.h | 17 + .../aws/logs/model/IntegrationDetails.h | 65 + .../aws/logs/model/IntegrationStatus.h | 32 + .../aws/logs/model/IntegrationSummary.h | 97 + .../include/aws/logs/model/IntegrationType.h | 30 + .../aws/logs/model/ListIntegrationsRequest.h | 93 + .../aws/logs/model/ListIntegrationsResult.h | 70 + .../aws/logs/model/OpenSearchApplication.h | 115 + .../aws/logs/model/OpenSearchCollection.h | 101 + .../logs/model/OpenSearchDataAccessPolicy.h | 85 + .../aws/logs/model/OpenSearchDataSource.h | 86 + .../logs/model/OpenSearchEncryptionPolicy.h | 83 + .../logs/model/OpenSearchIntegrationDetails.h | 216 + .../logs/model/OpenSearchLifecyclePolicy.h | 84 + .../aws/logs/model/OpenSearchNetworkPolicy.h | 83 + .../aws/logs/model/OpenSearchResourceConfig.h | 145 + .../aws/logs/model/OpenSearchResourceStatus.h | 78 + .../logs/model/OpenSearchResourceStatusType.h | 32 + .../aws/logs/model/OpenSearchWorkspace.h | 84 + .../aws/logs/model/PutIntegrationRequest.h | 92 + .../aws/logs/model/PutIntegrationResult.h | 83 + .../logs/model/PutQueryDefinitionRequest.h | 27 +- .../include/aws/logs/model/QueryDefinition.h | 19 + .../include/aws/logs/model/QueryInfo.h | 19 + .../include/aws/logs/model/QueryLanguage.h | 32 + .../include/aws/logs/model/ResourceConfig.h | 61 + .../aws/logs/model/StartQueryRequest.h | 38 +- .../source/CloudWatchLogsClient.cpp | 108 + .../source/model/DeleteIntegrationRequest.cpp | 51 + .../source/model/DeleteIntegrationResult.cpp | 42 + .../source/model/DescribeQueriesRequest.cpp | 9 +- .../model/DescribeQueryDefinitionsRequest.cpp | 7 + .../source/model/GetIntegrationRequest.cpp | 43 + .../source/model/GetIntegrationResult.cpp | 69 + .../source/model/GetQueryResultsResult.cpp | 7 + .../source/model/IntegrationDetails.cpp | 59 + .../source/model/IntegrationStatus.cpp | 79 + .../source/model/IntegrationSummary.cpp | 87 + .../source/model/IntegrationType.cpp | 65 + .../source/model/ListIntegrationsRequest.cpp | 57 + .../source/model/ListIntegrationsResult.cpp | 51 + .../source/model/OpenSearchApplication.cpp | 101 + .../source/model/OpenSearchCollection.cpp | 87 + .../model/OpenSearchDataAccessPolicy.cpp | 73 + .../source/model/OpenSearchDataSource.cpp | 73 + .../model/OpenSearchEncryptionPolicy.cpp | 73 + .../model/OpenSearchIntegrationDetails.cpp | 157 + .../model/OpenSearchLifecyclePolicy.cpp | 73 + .../source/model/OpenSearchNetworkPolicy.cpp | 73 + .../source/model/OpenSearchResourceConfig.cpp | 124 + .../source/model/OpenSearchResourceStatus.cpp | 73 + .../model/OpenSearchResourceStatusType.cpp | 79 + .../source/model/OpenSearchWorkspace.cpp | 73 + .../source/model/PutIntegrationRequest.cpp | 57 + .../source/model/PutIntegrationResult.cpp | 56 + .../model/PutQueryDefinitionRequest.cpp | 7 + .../source/model/QueryDefinition.cpp | 14 + .../source/model/QueryInfo.cpp | 14 + .../source/model/QueryLanguage.cpp | 79 + .../source/model/ResourceConfig.cpp | 59 + .../source/model/StartQueryRequest.cpp | 7 + .../include/aws/memorydb/MemoryDBClient.h | 158 +- .../include/aws/memorydb/MemoryDBErrors.h | 4 + .../aws/memorydb/MemoryDBServiceClientModel.h | 26 + .../include/aws/memorydb/model/Cluster.h | 23 +- .../aws/memorydb/model/ClusterConfiguration.h | 40 +- .../aws/memorydb/model/CreateClusterRequest.h | 22 +- .../model/CreateMultiRegionClusterRequest.h | 189 + .../model/CreateMultiRegionClusterResult.h | 66 + .../memorydb/model/CreateSubnetGroupResult.h | 2 +- .../aws/memorydb/model/DeleteACLRequest.h | 2 +- .../aws/memorydb/model/DeleteClusterRequest.h | 17 + .../aws/memorydb/model/DeleteClusterResult.h | 2 +- .../model/DeleteMultiRegionClusterRequest.h | 58 + .../model/DeleteMultiRegionClusterResult.h | 66 + .../memorydb/model/DeleteSnapshotRequest.h | 2 +- .../memorydb/model/DeleteSubnetGroupRequest.h | 2 +- .../aws/memorydb/model/DescribeACLsRequest.h | 2 +- .../aws/memorydb/model/DescribeACLsResult.h | 2 +- .../memorydb/model/DescribeClustersRequest.h | 2 +- .../model/DescribeEngineVersionsRequest.h | 4 +- .../DescribeMultiRegionClustersRequest.h | 101 + .../model/DescribeMultiRegionClustersResult.h | 84 + .../model/DescribeServiceUpdatesRequest.h | 4 +- .../aws/memorydb/model/DescribeUsersRequest.h | 2 +- .../aws/memorydb/model/EngineVersionInfo.h | 5 +- .../aws/memorydb/model/FailoverShardRequest.h | 4 +- .../aws/memorydb/model/FailoverShardResult.h | 2 +- ...tAllowedMultiRegionClusterUpdatesRequest.h | 58 + ...stAllowedMultiRegionClusterUpdatesResult.h | 85 + .../aws/memorydb/model/ListTagsRequest.h | 2 +- .../aws/memorydb/model/MultiRegionCluster.h | 225 + .../aws/memorydb/model/RegionalCluster.h | 112 + .../aws/memorydb/model/ServiceUpdate.h | 3 +- .../aws/memorydb/model/TagResourceRequest.h | 2 +- .../aws/memorydb/model/UntagResourceRequest.h | 4 +- .../aws/memorydb/model/UntagResourceResult.h | 2 +- .../aws/memorydb/model/UpdateACLRequest.h | 6 +- .../aws/memorydb/model/UpdateACLResult.h | 2 +- .../aws/memorydb/model/UpdateClusterRequest.h | 19 +- .../aws/memorydb/model/UpdateClusterResult.h | 2 +- .../model/UpdateMultiRegionClusterRequest.h | 156 + .../model/UpdateMultiRegionClusterResult.h | 66 + .../aws/memorydb/model/UpdateStrategy.h | 31 + .../source/MemoryDBClient.cpp | 135 + .../source/MemoryDBErrors.cpp | 20 + .../source/model/Cluster.cpp | 14 + .../source/model/ClusterConfiguration.cpp | 30 +- .../source/model/CreateClusterRequest.cpp | 7 + .../model/CreateMultiRegionClusterRequest.cpp | 106 + .../model/CreateMultiRegionClusterResult.cpp | 48 + .../source/model/DeleteClusterRequest.cpp | 7 + .../model/DeleteMultiRegionClusterRequest.cpp | 43 + .../model/DeleteMultiRegionClusterResult.cpp | 48 + .../DescribeMultiRegionClustersRequest.cpp | 66 + .../DescribeMultiRegionClustersResult.cpp | 57 + ...llowedMultiRegionClusterUpdatesRequest.cpp | 43 + ...AllowedMultiRegionClusterUpdatesResult.cpp | 60 + .../source/model/MultiRegionCluster.cpp | 209 + .../source/model/RegionalCluster.cpp | 101 + .../model/UpdateMultiRegionClusterRequest.cpp | 85 + .../model/UpdateMultiRegionClusterResult.cpp | 48 + .../source/model/UpdateStrategy.cpp | 72 + .../CMakeLists.txt | 76 + .../NetworkFlowMonitorClient.h | 845 +++ .../NetworkFlowMonitorEndpointProvider.h | 61 + .../NetworkFlowMonitorEndpointRules.h | 23 + .../NetworkFlowMonitorErrorMarshaller.h | 23 + .../NetworkFlowMonitorErrors.h | 74 + .../NetworkFlowMonitorRequest.h | 46 + .../NetworkFlowMonitorServiceClientModel.h | 202 + .../NetworkFlowMonitor_EXPORTS.h | 32 + .../model/CreateMonitorRequest.h | 159 + .../model/CreateMonitorResult.h | 187 + .../model/CreateScopeRequest.h | 102 + .../model/CreateScopeResult.h | 121 + .../model/DeleteMonitorRequest.h | 56 + .../model/DeleteMonitorResult.h | 52 + .../model/DeleteScopeRequest.h | 58 + .../model/DeleteScopeResult.h | 52 + .../model/DestinationCategory.h | 35 + .../model/GetMonitorRequest.h | 56 + .../model/GetMonitorResult.h | 183 + ...ueryResultsMonitorTopContributorsRequest.h | 111 + ...QueryResultsMonitorTopContributorsResult.h | 100 + ...rkloadInsightsTopContributorsDataRequest.h | 113 + ...orkloadInsightsTopContributorsDataResult.h | 99 + ...tsWorkloadInsightsTopContributorsRequest.h | 113 + ...ltsWorkloadInsightsTopContributorsResult.h | 86 + ...QueryStatusMonitorTopContributorsRequest.h | 74 + ...tQueryStatusMonitorTopContributorsResult.h | 73 + ...rkloadInsightsTopContributorsDataRequest.h | 77 + ...orkloadInsightsTopContributorsDataResult.h | 71 + ...usWorkloadInsightsTopContributorsRequest.h | 76 + ...tusWorkloadInsightsTopContributorsResult.h | 73 + .../model/GetScopeRequest.h | 59 + .../networkflowmonitor/model/GetScopeResult.h | 138 + .../model/KubernetesMetadata.h | 146 + .../model/ListMonitorsRequest.h | 98 + .../model/ListMonitorsResult.h | 85 + .../model/ListScopesRequest.h | 76 + .../model/ListScopesResult.h | 85 + .../model/ListTagsForResourceRequest.h | 56 + .../model/ListTagsForResourceResult.h | 73 + .../aws/networkflowmonitor/model/MetricUnit.h | 56 + .../model/MonitorLocalResource.h | 79 + .../model/MonitorLocalResourceType.h | 32 + .../networkflowmonitor/model/MonitorMetric.h | 33 + .../model/MonitorRemoteResource.h | 82 + .../model/MonitorRemoteResourceType.h | 33 + .../networkflowmonitor/model/MonitorStatus.h | 34 + .../networkflowmonitor/model/MonitorSummary.h | 101 + .../model/MonitorTopContributorsRow.h | 480 ++ .../networkflowmonitor/model/QueryStatus.h | 34 + .../networkflowmonitor/model/ScopeStatus.h | 32 + .../networkflowmonitor/model/ScopeSummary.h | 99 + .../StartQueryMonitorTopContributorsRequest.h | 146 + .../StartQueryMonitorTopContributorsResult.h | 68 + ...rkloadInsightsTopContributorsDataRequest.h | 134 + ...orkloadInsightsTopContributorsDataResult.h | 68 + ...ryWorkloadInsightsTopContributorsRequest.h | 148 + ...eryWorkloadInsightsTopContributorsResult.h | 68 + .../StopQueryMonitorTopContributorsRequest.h | 74 + .../StopQueryMonitorTopContributorsResult.h | 52 + ...rkloadInsightsTopContributorsDataRequest.h | 76 + ...orkloadInsightsTopContributorsDataResult.h | 52 + ...ryWorkloadInsightsTopContributorsRequest.h | 76 + ...eryWorkloadInsightsTopContributorsResult.h | 52 + .../model/TagResourceRequest.h | 79 + .../model/TagResourceResult.h | 52 + .../aws/networkflowmonitor/model/TargetId.h | 64 + .../model/TargetIdentifier.h | 78 + .../networkflowmonitor/model/TargetResource.h | 81 + .../aws/networkflowmonitor/model/TargetType.h | 30 + .../model/TraversedComponent.h | 113 + .../model/UntagResourceRequest.h | 81 + .../model/UntagResourceResult.h | 52 + .../model/UpdateMonitorRequest.h | 151 + .../model/UpdateMonitorResult.h | 185 + .../model/UpdateScopeRequest.h | 94 + .../model/UpdateScopeResult.h | 121 + .../model/WorkloadInsightsMetric.h | 32 + ...WorkloadInsightsTopContributorsDataPoint.h | 98 + .../WorkloadInsightsTopContributorsRow.h | 194 + .../source/NetworkFlowMonitorClient.cpp | 1069 ++++ .../NetworkFlowMonitorEndpointProvider.cpp | 16 + .../NetworkFlowMonitorEndpointRules.cpp | 92 + .../NetworkFlowMonitorErrorMarshaller.cpp | 22 + .../source/NetworkFlowMonitorErrors.cpp | 47 + .../source/NetworkFlowMonitorRequest.cpp | 14 + .../source/model/CreateMonitorRequest.cpp | 86 + .../source/model/CreateMonitorResult.cpp | 101 + .../source/model/CreateScopeRequest.cpp | 60 + .../source/model/CreateScopeResult.cpp | 71 + .../source/model/DeleteMonitorRequest.cpp | 27 + .../source/model/DeleteMonitorResult.cpp | 42 + .../source/model/DeleteScopeRequest.cpp | 27 + .../source/model/DeleteScopeResult.cpp | 42 + .../source/model/DestinationCategory.cpp | 100 + .../source/model/GetMonitorRequest.cpp | 27 + .../source/model/GetMonitorResult.cpp | 101 + ...ryResultsMonitorTopContributorsRequest.cpp | 52 + ...eryResultsMonitorTopContributorsResult.cpp | 65 + ...loadInsightsTopContributorsDataRequest.cpp | 52 + ...kloadInsightsTopContributorsDataResult.cpp | 65 + ...WorkloadInsightsTopContributorsRequest.cpp | 52 + ...sWorkloadInsightsTopContributorsResult.cpp | 57 + ...eryStatusMonitorTopContributorsRequest.cpp | 28 + ...ueryStatusMonitorTopContributorsResult.cpp | 50 + ...loadInsightsTopContributorsDataRequest.cpp | 28 + ...kloadInsightsTopContributorsDataResult.cpp | 50 + ...WorkloadInsightsTopContributorsRequest.cpp | 28 + ...sWorkloadInsightsTopContributorsResult.cpp | 50 + .../source/model/GetScopeRequest.cpp | 27 + .../source/model/GetScopeResult.cpp | 80 + .../source/model/KubernetesMetadata.cpp | 129 + .../source/model/ListMonitorsRequest.cpp | 59 + .../source/model/ListMonitorsResult.cpp | 57 + .../source/model/ListScopesRequest.cpp | 50 + .../source/model/ListScopesResult.cpp | 57 + .../model/ListTagsForResourceRequest.cpp | 27 + .../model/ListTagsForResourceResult.cpp | 51 + .../source/model/MetricUnit.cpp | 247 + .../source/model/MonitorLocalResource.cpp | 73 + .../source/model/MonitorLocalResourceType.cpp | 79 + .../source/model/MonitorMetric.cpp | 86 + .../source/model/MonitorRemoteResource.cpp | 73 + .../model/MonitorRemoteResourceType.cpp | 86 + .../source/model/MonitorStatus.cpp | 93 + .../source/model/MonitorSummary.cpp | 87 + .../model/MonitorTopContributorsRow.cpp | 405 ++ .../source/model/QueryStatus.cpp | 93 + .../source/model/ScopeStatus.cpp | 79 + .../source/model/ScopeSummary.cpp | 87 + ...tartQueryMonitorTopContributorsRequest.cpp | 63 + ...StartQueryMonitorTopContributorsResult.cpp | 48 + ...loadInsightsTopContributorsDataRequest.cpp | 55 + ...kloadInsightsTopContributorsDataResult.cpp | 48 + ...WorkloadInsightsTopContributorsRequest.cpp | 63 + ...yWorkloadInsightsTopContributorsResult.cpp | 48 + ...StopQueryMonitorTopContributorsRequest.cpp | 28 + .../StopQueryMonitorTopContributorsResult.cpp | 42 + ...loadInsightsTopContributorsDataRequest.cpp | 28 + ...kloadInsightsTopContributorsDataResult.cpp | 42 + ...WorkloadInsightsTopContributorsRequest.cpp | 28 + ...yWorkloadInsightsTopContributorsResult.cpp | 42 + .../source/model/TagResourceRequest.cpp | 41 + .../source/model/TagResourceResult.cpp | 42 + .../source/model/TargetId.cpp | 59 + .../source/model/TargetIdentifier.cpp | 73 + .../source/model/TargetResource.cpp | 73 + .../source/model/TargetType.cpp | 65 + .../source/model/TraversedComponent.cpp | 101 + .../source/model/UntagResourceRequest.cpp | 45 + .../source/model/UntagResourceResult.cpp | 42 + .../source/model/UpdateMonitorRequest.cpp | 85 + .../source/model/UpdateMonitorResult.cpp | 101 + .../source/model/UpdateScopeRequest.cpp | 53 + .../source/model/UpdateScopeResult.cpp | 71 + .../source/model/WorkloadInsightsMetric.cpp | 79 + ...rkloadInsightsTopContributorsDataPoint.cpp | 103 + .../WorkloadInsightsTopContributorsRow.cpp | 172 + .../aws/opensearch/OpenSearchServiceClient.h | 149 +- .../OpenSearchServiceServiceClientModel.h | 25 + .../model/AddDirectQueryDataSourceRequest.h | 128 + .../model/AddDirectQueryDataSourceResult.h | 68 + .../aws/opensearch/model/AddTagsRequest.h | 7 +- .../model/CloudWatchDirectQueryDataSource.h | 63 + .../DeleteDirectQueryDataSourceRequest.h | 57 + .../opensearch/model/DirectQueryDataSource.h | 153 + .../model/DirectQueryDataSourceType.h | 77 + .../model/GetDirectQueryDataSourceRequest.h | 57 + .../model/GetDirectQueryDataSourceResult.h | 133 + .../model/ListDirectQueryDataSourcesRequest.h | 60 + .../model/ListDirectQueryDataSourcesResult.h | 83 + .../aws/opensearch/model/ListTagsRequest.h | 3 +- .../aws/opensearch/model/ListTagsResult.h | 3 +- .../aws/opensearch/model/RemoveTagsRequest.h | 7 +- .../model/SecurityLakeDirectQueryDataSource.h | 63 + .../UpdateDirectQueryDataSourceRequest.h | 112 + .../model/UpdateDirectQueryDataSourceResult.h | 68 + .../source/OpenSearchServiceClient.cpp | 158 + .../model/AddDirectQueryDataSourceRequest.cpp | 73 + .../model/AddDirectQueryDataSourceResult.cpp | 48 + .../model/CloudWatchDirectQueryDataSource.cpp | 59 + .../DeleteDirectQueryDataSourceRequest.cpp | 27 + .../source/model/DirectQueryDataSource.cpp | 145 + .../model/DirectQueryDataSourceType.cpp | 73 + .../model/GetDirectQueryDataSourceRequest.cpp | 27 + .../model/GetDirectQueryDataSourceResult.cpp | 75 + .../ListDirectQueryDataSourcesRequest.cpp | 41 + .../ListDirectQueryDataSourcesResult.cpp | 57 + .../SecurityLakeDirectQueryDataSource.cpp | 59 + .../UpdateDirectQueryDataSourceRequest.cpp | 55 + .../UpdateDirectQueryDataSourceResult.cpp | 48 + .../aws/organizations/OrganizationsClient.h | 7 +- .../model/ConstraintViolationException.h | 2 +- .../organizations/model/CreatePolicyRequest.h | 2 + .../model/DescribeEffectivePolicyRequest.h | 2 + .../model/DisablePolicyTypeRequest.h | 2 + .../organizations/model/EffectivePolicyType.h | 3 +- .../model/EnablePolicyTypeRequest.h | 2 + .../model/ListPoliciesForTargetRequest.h | 2 + .../organizations/model/ListPoliciesRequest.h | 2 + .../aws/organizations/model/PolicyType.h | 3 +- .../source/model/EffectivePolicyType.cpp | 7 + .../source/model/PolicyType.cpp | 7 + .../include/aws/qbusiness/QBusinessClient.h | 94 +- .../include/aws/qbusiness/QBusinessErrors.h | 2 + .../qbusiness/QBusinessServiceClientModel.h | 10 + .../include/aws/qbusiness/model/Attachment.h | 210 + .../aws/qbusiness/model/AttachmentInput.h | 43 +- .../aws/qbusiness/model/AttachmentOutput.h | 34 + .../aws/qbusiness/model/AttachmentStatus.h | 2 +- .../aws/qbusiness/model/BrowserExtension.h | 31 + .../model/BrowserExtensionConfiguration.h | 68 + .../aws/qbusiness/model/ChatSyncRequest.h | 29 +- .../aws/qbusiness/model/ConflictException.h | 2 +- .../aws/qbusiness/model/ConversationSource.h | 79 + .../aws/qbusiness/model/CopyFromSource.h | 60 + .../qbusiness/model/CreateDataSourceRequest.h | 17 + .../aws/qbusiness/model/CreateIndexRequest.h | 34 +- .../model/CreateWebExperienceRequest.h | 22 + .../include/aws/qbusiness/model/Document.h | 16 + .../include/aws/qbusiness/model/ErrorDetail.h | 8 +- .../aws/qbusiness/model/GetDataSourceResult.h | 15 + .../aws/qbusiness/model/GetIndexResult.h | 28 +- .../aws/qbusiness/model/GetMediaRequest.h | 109 + .../aws/qbusiness/model/GetMediaResult.h | 81 + .../qbusiness/model/GetWebExperienceResult.h | 15 + .../model/ImageExtractionConfiguration.h | 63 + .../qbusiness/model/ImageExtractionStatus.h | 31 + .../qbusiness/model/ListAttachmentsRequest.h | 130 + .../qbusiness/model/ListAttachmentsResult.h | 85 + .../aws/qbusiness/model/ListMessagesRequest.h | 6 +- .../model/MediaExtractionConfiguration.h | 63 + .../include/aws/qbusiness/model/TextSegment.h | 37 + .../qbusiness/model/UpdateDataSourceRequest.h | 17 + .../model/UpdateWebExperienceRequest.h | 22 + .../source/QBusinessClient.cpp | 90 + .../source/QBusinessErrors.cpp | 10 + .../source/model/Attachment.cpp | 185 + .../source/model/AttachmentInput.cpp | 26 +- .../source/model/AttachmentOutput.cpp | 30 +- .../source/model/AttachmentStatus.cpp | 10 +- .../source/model/BrowserExtension.cpp | 72 + .../model/BrowserExtensionConfiguration.cpp | 67 + .../source/model/ConversationSource.cpp | 73 + .../source/model/CopyFromSource.cpp | 59 + .../source/model/CreateDataSourceRequest.cpp | 9 +- .../source/model/CreateIndexRequest.cpp | 12 +- .../model/CreateWebExperienceRequest.cpp | 9 +- .../source/model/Document.cpp | 16 +- .../source/model/GetDataSourceResult.cpp | 6 + .../source/model/GetIndexResult.cpp | 16 +- .../source/model/GetMediaRequest.cpp | 30 + .../source/model/GetMediaResult.cpp | 54 + .../source/model/GetWebExperienceResult.cpp | 6 + .../model/ImageExtractionConfiguration.cpp | 59 + .../source/model/ImageExtractionStatus.cpp | 72 + .../source/model/ListAttachmentsRequest.cpp | 67 + .../source/model/ListAttachmentsResult.cpp | 57 + .../model/MediaExtractionConfiguration.cpp | 59 + .../source/model/TextSegment.cpp | 30 +- .../source/model/UpdateDataSourceRequest.cpp | 9 +- .../model/UpdateWebExperienceRequest.cpp | 9 +- .../include/aws/qconnect/QConnectClient.h | 281 + .../aws/qconnect/QConnectServiceClientModel.h | 55 + .../aws/qconnect/model/AIAgentConfiguration.h | 16 + .../include/aws/qconnect/model/AIAgentType.h | 3 +- .../model/AIGuardrailContentPolicyConfig.h | 64 + ...GuardrailContextualGroundingPolicyConfig.h | 64 + .../aws/qconnect/model/AIGuardrailData.h | 336 ++ ...uardrailSensitiveInformationPolicyConfig.h | 81 + .../aws/qconnect/model/AIGuardrailSummary.h | 218 + .../model/AIGuardrailTopicPolicyConfig.h | 63 + .../model/AIGuardrailVersionSummary.h | 72 + .../model/AIGuardrailWordPolicyConfig.h | 81 + .../include/aws/qconnect/model/AIPromptType.h | 4 +- ...AnswerRecommendationAIAgentConfiguration.h | 18 + .../aws/qconnect/model/ConversationContext.h | 64 + .../aws/qconnect/model/ConversationState.h | 75 + .../aws/qconnect/model/ConversationStatus.h | 32 + .../qconnect/model/ConversationStatusReason.h | 32 + .../qconnect/model/CreateAIGuardrailRequest.h | 267 + .../qconnect/model/CreateAIGuardrailResult.h | 66 + .../model/CreateAIGuardrailVersionRequest.h | 112 + .../model/CreateAIGuardrailVersionResult.h | 77 + .../qconnect/model/DeleteAIGuardrailRequest.h | 75 + .../qconnect/model/DeleteAIGuardrailResult.h | 52 + .../model/DeleteAIGuardrailVersionRequest.h | 87 + .../model/DeleteAIGuardrailVersionResult.h | 52 + .../qconnect/model/GetAIGuardrailRequest.h | 74 + .../aws/qconnect/model/GetAIGuardrailResult.h | 79 + .../qconnect/model/GetNextMessageRequest.h | 97 + .../aws/qconnect/model/GetNextMessageResult.h | 141 + .../model/GuardrailContentFilterConfig.h | 118 + .../model/GuardrailContentFilterType.h | 35 + ...GuardrailContextualGroundingFilterConfig.h | 73 + .../GuardrailContextualGroundingFilterType.h | 31 + .../qconnect/model/GuardrailFilterStrength.h | 33 + .../model/GuardrailManagedWordsConfig.h | 60 + .../model/GuardrailManagedWordsType.h | 30 + .../qconnect/model/GuardrailPiiEntityConfig.h | 178 + .../qconnect/model/GuardrailPiiEntityType.h | 60 + .../aws/qconnect/model/GuardrailRegexConfig.h | 114 + .../GuardrailSensitiveInformationAction.h | 31 + .../aws/qconnect/model/GuardrailTopicConfig.h | 115 + .../aws/qconnect/model/GuardrailTopicType.h | 30 + .../aws/qconnect/model/GuardrailWordConfig.h | 61 + .../model/ListAIGuardrailVersionsRequest.h | 112 + .../model/ListAIGuardrailVersionsResult.h | 85 + .../qconnect/model/ListAIGuardrailsRequest.h | 94 + .../qconnect/model/ListAIGuardrailsResult.h | 85 + .../aws/qconnect/model/ListMessagesRequest.h | 110 + .../aws/qconnect/model/ListMessagesResult.h | 85 + .../model/ManualSearchAIAgentConfiguration.h | 18 + .../include/aws/qconnect/model/MessageData.h | 59 + .../include/aws/qconnect/model/MessageInput.h | 59 + .../aws/qconnect/model/MessageOutput.h | 109 + .../include/aws/qconnect/model/MessageType.h | 30 + .../include/aws/qconnect/model/Participant.h | 32 + .../model/SelfServiceAIAgentConfiguration.h | 117 + .../model/SelfServiceConversationHistory.h | 92 + .../aws/qconnect/model/SendMessageRequest.h | 142 + .../aws/qconnect/model/SendMessageResult.h | 82 + .../include/aws/qconnect/model/TextMessage.h | 61 + .../qconnect/model/UpdateAIGuardrailRequest.h | 244 + .../qconnect/model/UpdateAIGuardrailResult.h | 66 + .../source/QConnectClient.cpp | 456 ++ .../source/model/AIAgentConfiguration.cpp | 16 +- .../source/model/AIAgentType.cpp | 7 + .../model/AIGuardrailContentPolicyConfig.cpp | 67 + ...ardrailContextualGroundingPolicyConfig.cpp | 67 + .../source/model/AIGuardrailData.cpp | 290 + ...rdrailSensitiveInformationPolicyConfig.cpp | 89 + .../source/model/AIGuardrailSummary.cpp | 192 + .../model/AIGuardrailTopicPolicyConfig.cpp | 67 + .../model/AIGuardrailVersionSummary.cpp | 74 + .../model/AIGuardrailWordPolicyConfig.cpp | 89 + .../source/model/AIPromptType.cpp | 14 + ...swerRecommendationAIAgentConfiguration.cpp | 14 + .../source/model/ConversationContext.cpp | 67 + .../source/model/ConversationState.cpp | 73 + .../source/model/ConversationStatus.cpp | 79 + .../source/model/ConversationStatusReason.cpp | 79 + .../source/model/CreateAIGuardrailRequest.cpp | 119 + .../source/model/CreateAIGuardrailResult.cpp | 48 + .../model/CreateAIGuardrailVersionRequest.cpp | 44 + .../model/CreateAIGuardrailVersionResult.cpp | 56 + .../source/model/DeleteAIGuardrailRequest.cpp | 28 + .../source/model/DeleteAIGuardrailResult.cpp | 42 + .../model/DeleteAIGuardrailVersionRequest.cpp | 30 + .../model/DeleteAIGuardrailVersionResult.cpp | 42 + .../source/model/GetAIGuardrailRequest.cpp | 28 + .../source/model/GetAIGuardrailResult.cpp | 56 + .../source/model/GetNextMessageRequest.cpp | 43 + .../source/model/GetNextMessageResult.cpp | 83 + .../model/GuardrailContentFilterConfig.cpp | 87 + .../model/GuardrailContentFilterType.cpp | 100 + ...ardrailContextualGroundingFilterConfig.cpp | 74 + ...GuardrailContextualGroundingFilterType.cpp | 72 + .../source/model/GuardrailFilterStrength.cpp | 86 + .../model/GuardrailManagedWordsConfig.cpp | 59 + .../model/GuardrailManagedWordsType.cpp | 65 + .../source/model/GuardrailPiiEntityConfig.cpp | 73 + .../source/model/GuardrailPiiEntityType.cpp | 275 + .../source/model/GuardrailRegexConfig.cpp | 101 + .../GuardrailSensitiveInformationAction.cpp | 72 + .../source/model/GuardrailTopicConfig.cpp | 109 + .../source/model/GuardrailTopicType.cpp | 65 + .../source/model/GuardrailWordConfig.cpp | 59 + .../model/ListAIGuardrailVersionsRequest.cpp | 52 + .../model/ListAIGuardrailVersionsResult.cpp | 57 + .../source/model/ListAIGuardrailsRequest.cpp | 51 + .../source/model/ListAIGuardrailsResult.cpp | 57 + .../source/model/ListMessagesRequest.cpp | 52 + .../source/model/ListMessagesResult.cpp | 57 + .../ManualSearchAIAgentConfiguration.cpp | 14 + .../source/model/MessageData.cpp | 59 + .../source/model/MessageInput.cpp | 59 + .../source/model/MessageOutput.cpp | 100 + .../source/model/MessageType.cpp | 65 + .../source/model/Participant.cpp | 79 + .../model/SelfServiceAIAgentConfiguration.cpp | 109 + .../model/SelfServiceConversationHistory.cpp | 88 + .../source/model/SendMessageRequest.cpp | 59 + .../source/model/SendMessageResult.cpp | 54 + .../source/model/TextMessage.cpp | 59 + .../source/model/UpdateAIGuardrailRequest.cpp | 101 + .../source/model/UpdateAIGuardrailResult.cpp | 48 + .../include/aws/rds/RDSClient.h | 16 +- .../aws/rds/model/CreateDBClusterRequest.h | 16 + .../CreateDBInstanceReadReplicaRequest.h | 16 + .../aws/rds/model/CreateDBInstanceRequest.h | 16 + .../include/aws/rds/model/DBCluster.h | 16 + .../include/aws/rds/model/DBInstance.h | 16 + .../aws/rds/model/DatabaseInsightsMode.h | 31 + .../aws/rds/model/ModifyDBClusterRequest.h | 23 +- .../aws/rds/model/ModifyDBInstanceRequest.h | 16 + .../model/RestoreDBInstanceFromS3Request.h | 16 + .../source/model/CreateDBClusterRequest.cpp | 7 + .../CreateDBInstanceReadReplicaRequest.cpp | 7 + .../source/model/CreateDBInstanceRequest.cpp | 7 + .../source/model/DBCluster.cpp | 17 + .../source/model/DBInstance.cpp | 17 + .../source/model/DatabaseInsightsMode.cpp | 72 + .../source/model/ModifyDBClusterRequest.cpp | 7 + .../source/model/ModifyDBInstanceRequest.cpp | 7 + .../model/RestoreDBInstanceFromS3Request.cpp | 7 + .../include/aws/s3-crt/S3CrtClient.h | 748 ++- .../model/AbortMultipartUploadRequest.h | 10 +- .../include/aws/s3-crt/model/BucketInfo.h | 4 +- .../model/CompleteMultipartUploadRequest.h | 10 +- .../aws/s3-crt/model/CopyObjectRequest.h | 25 +- .../aws/s3-crt/model/CopyObjectResult.h | 5 +- .../s3-crt/model/CreateBucketConfiguration.h | 9 +- .../aws/s3-crt/model/CreateBucketRequest.h | 11 +- .../model/CreateMultipartUploadRequest.h | 10 +- .../include/aws/s3-crt/model/DataRedundancy.h | 3 +- .../model/DeleteBucketEncryptionRequest.h | 11 +- .../s3-crt/model/DeleteBucketPolicyRequest.h | 11 +- .../aws/s3-crt/model/DeleteBucketRequest.h | 11 +- .../aws/s3-crt/model/DeleteObjectRequest.h | 10 +- .../aws/s3-crt/model/DeleteObjectsRequest.h | 10 +- .../s3-crt/model/GetBucketEncryptionRequest.h | 11 +- .../aws/s3-crt/model/GetBucketPolicyRequest.h | 11 +- .../s3-crt/model/GetObjectAttributesRequest.h | 10 +- .../aws/s3-crt/model/GetObjectRequest.h | 10 +- .../aws/s3-crt/model/GetObjectResult.h | 6 +- .../aws/s3-crt/model/HeadBucketRequest.h | 10 +- .../aws/s3-crt/model/HeadBucketResult.h | 7 +- .../aws/s3-crt/model/HeadObjectRequest.h | 10 +- .../aws/s3-crt/model/HeadObjectResult.h | 6 +- .../model/ListMultipartUploadsRequest.h | 10 +- .../aws/s3-crt/model/ListObjectsRequest.h | 10 +- .../aws/s3-crt/model/ListObjectsV2Request.h | 10 +- .../aws/s3-crt/model/ListPartsRequest.h | 10 +- .../include/aws/s3-crt/model/LocationInfo.h | 10 +- .../include/aws/s3-crt/model/LocationType.h | 3 +- .../s3-crt/model/PutBucketEncryptionRequest.h | 11 +- .../aws/s3-crt/model/PutBucketPolicyRequest.h | 11 +- .../aws/s3-crt/model/PutObjectRequest.h | 10 +- .../aws/s3-crt/model/PutObjectResult.h | 6 +- .../include/aws/s3-crt/model/RestoreRequest.h | 12 +- .../s3-crt/model/SelectObjectContentRequest.h | 17 +- .../aws/s3-crt/model/SelectParameters.h | 20 +- .../aws/s3-crt/model/UploadPartCopyRequest.h | 25 +- .../aws/s3-crt/model/UploadPartRequest.h | 10 +- .../source/S3CrtEndpointRules.cpp | 4896 +++++++++-------- .../source/model/DataRedundancy.cpp | 7 + .../source/model/LocationType.cpp | 7 + .../aws-cpp-sdk-s3/include/aws/s3/S3Client.h | 748 ++- .../s3/model/AbortMultipartUploadRequest.h | 10 +- .../include/aws/s3/model/BucketInfo.h | 4 +- .../s3/model/CompleteMultipartUploadRequest.h | 10 +- .../include/aws/s3/model/CopyObjectRequest.h | 25 +- .../include/aws/s3/model/CopyObjectResult.h | 5 +- .../aws/s3/model/CreateBucketConfiguration.h | 9 +- .../aws/s3/model/CreateBucketRequest.h | 11 +- .../s3/model/CreateMultipartUploadRequest.h | 10 +- .../include/aws/s3/model/DataRedundancy.h | 3 +- .../s3/model/DeleteBucketEncryptionRequest.h | 11 +- .../aws/s3/model/DeleteBucketPolicyRequest.h | 11 +- .../aws/s3/model/DeleteBucketRequest.h | 11 +- .../aws/s3/model/DeleteObjectRequest.h | 10 +- .../aws/s3/model/DeleteObjectsRequest.h | 10 +- .../aws/s3/model/GetBucketEncryptionRequest.h | 11 +- .../aws/s3/model/GetBucketPolicyRequest.h | 11 +- .../aws/s3/model/GetObjectAttributesRequest.h | 10 +- .../include/aws/s3/model/GetObjectRequest.h | 10 +- .../include/aws/s3/model/GetObjectResult.h | 6 +- .../include/aws/s3/model/HeadBucketRequest.h | 10 +- .../include/aws/s3/model/HeadBucketResult.h | 7 +- .../include/aws/s3/model/HeadObjectRequest.h | 10 +- .../include/aws/s3/model/HeadObjectResult.h | 6 +- .../s3/model/ListMultipartUploadsRequest.h | 10 +- .../include/aws/s3/model/ListObjectsRequest.h | 10 +- .../aws/s3/model/ListObjectsV2Request.h | 10 +- .../include/aws/s3/model/ListPartsRequest.h | 10 +- .../include/aws/s3/model/LocationInfo.h | 10 +- .../include/aws/s3/model/LocationType.h | 3 +- .../aws/s3/model/PutBucketEncryptionRequest.h | 11 +- .../aws/s3/model/PutBucketPolicyRequest.h | 11 +- .../include/aws/s3/model/PutObjectRequest.h | 10 +- .../include/aws/s3/model/PutObjectResult.h | 6 +- .../include/aws/s3/model/RestoreRequest.h | 12 +- .../aws/s3/model/SelectObjectContentRequest.h | 17 +- .../include/aws/s3/model/SelectParameters.h | 20 +- .../aws/s3/model/UploadPartCopyRequest.h | 25 +- .../include/aws/s3/model/UploadPartRequest.h | 10 +- .../aws-cpp-sdk-s3/source/S3EndpointRules.cpp | 4896 +++++++++-------- .../source/model/DataRedundancy.cpp | 7 + .../source/model/LocationType.cpp | 7 + .../include/aws/s3control/S3ControlClient.h | 21 +- .../aws/s3control/model/CreateJobRequest.h | 2 +- .../s3control/model/S3CopyObjectOperation.h | 48 +- .../aws/s3control/model/S3ObjectMetadata.h | 12 +- .../aws-cpp-sdk-security-ir/CMakeLists.txt | 76 + .../aws/security-ir/SecurityIRClient.h | 662 +++ .../security-ir/SecurityIREndpointProvider.h | 61 + .../aws/security-ir/SecurityIREndpointRules.h | 23 + .../security-ir/SecurityIRErrorMarshaller.h | 23 + .../aws/security-ir/SecurityIRErrors.h | 76 + .../aws/security-ir/SecurityIRRequest.h | 46 + .../SecurityIRServiceClientModel.h | 187 + .../aws/security-ir/SecurityIR_EXPORTS.h | 32 + .../include/aws/security-ir/model/AwsRegion.h | 61 + .../BatchGetMemberAccountDetailsRequest.h | 77 + .../BatchGetMemberAccountDetailsResult.h | 87 + .../model/CancelMembershipRequest.h | 57 + .../model/CancelMembershipResult.h | 68 + .../model/CaseAttachmentAttributes.h | 127 + .../security-ir/model/CaseAttachmentStatus.h | 32 + .../aws/security-ir/model/CaseEditItem.h | 111 + .../aws/security-ir/model/CaseStatus.h | 36 + .../aws/security-ir/model/CloseCaseRequest.h | 57 + .../aws/security-ir/model/CloseCaseResult.h | 82 + .../aws/security-ir/model/ClosureCode.h | 33 + .../aws/security-ir/model/ConflictException.h | 93 + .../model/CreateCaseCommentRequest.h | 93 + .../model/CreateCaseCommentResult.h | 67 + .../aws/security-ir/model/CreateCaseRequest.h | 266 + .../aws/security-ir/model/CreateCaseResult.h | 68 + .../model/CreateMembershipRequest.h | 137 + .../model/CreateMembershipResult.h | 68 + .../aws/security-ir/model/CustomerType.h | 31 + .../aws/security-ir/model/EngagementType.h | 31 + .../GetCaseAttachmentDownloadUrlRequest.h | 75 + .../GetCaseAttachmentDownloadUrlResult.h | 68 + .../model/GetCaseAttachmentUploadUrlRequest.h | 107 + .../model/GetCaseAttachmentUploadUrlResult.h | 68 + .../aws/security-ir/model/GetCaseRequest.h | 56 + .../aws/security-ir/model/GetCaseResult.h | 344 ++ .../model/GetMembershipAccountDetailError.h | 95 + .../model/GetMembershipAccountDetailItem.h | 93 + .../security-ir/model/GetMembershipRequest.h | 57 + .../security-ir/model/GetMembershipResult.h | 236 + .../aws/security-ir/model/ImpactedAwsRegion.h | 59 + .../aws/security-ir/model/IncidentResponder.h | 95 + .../model/InternalServerException.h | 73 + .../security-ir/model/ListCaseEditsRequest.h | 87 + .../security-ir/model/ListCaseEditsResult.h | 97 + .../aws/security-ir/model/ListCasesItem.h | 205 + .../aws/security-ir/model/ListCasesRequest.h | 69 + .../aws/security-ir/model/ListCasesResult.h | 97 + .../aws/security-ir/model/ListCommentsItem.h | 143 + .../security-ir/model/ListCommentsRequest.h | 86 + .../security-ir/model/ListCommentsResult.h | 96 + .../security-ir/model/ListMembershipItem.h | 127 + .../model/ListMembershipsRequest.h | 69 + .../security-ir/model/ListMembershipsResult.h | 85 + .../model/ListTagsForResourceRequest.h | 57 + .../model/ListTagsForResourceResult.h | 74 + .../MembershipAccountRelationshipStatus.h | 31 + .../model/MembershipAccountRelationshipType.h | 30 + .../aws/security-ir/model/MembershipStatus.h | 32 + .../aws/security-ir/model/OptInFeature.h | 72 + .../aws/security-ir/model/OptInFeatureName.h | 30 + .../aws/security-ir/model/PendingAction.h | 31 + .../aws/security-ir/model/ResolverType.h | 31 + .../security-ir/model/SelfManagedCaseStatus.h | 33 + .../model/ServiceQuotaExceededException.h | 127 + .../security-ir/model/TagResourceRequest.h | 81 + .../aws/security-ir/model/TagResourceResult.h | 52 + .../aws/security-ir/model/ThreatActorIp.h | 78 + .../security-ir/model/ThrottlingException.h | 107 + .../security-ir/model/UntagResourceRequest.h | 82 + .../security-ir/model/UntagResourceResult.h | 52 + .../model/UpdateCaseCommentRequest.h | 93 + .../model/UpdateCaseCommentResult.h | 83 + .../aws/security-ir/model/UpdateCaseRequest.h | 330 ++ .../aws/security-ir/model/UpdateCaseResult.h | 52 + .../model/UpdateCaseStatusRequest.h | 74 + .../model/UpdateCaseStatusResult.h | 67 + .../model/UpdateMembershipRequest.h | 112 + .../model/UpdateMembershipResult.h | 52 + .../model/UpdateResolverTypeRequest.h | 72 + .../model/UpdateResolverTypeResult.h | 98 + .../security-ir/model/ValidationException.h | 95 + .../model/ValidationExceptionField.h | 78 + .../model/ValidationExceptionReason.h | 33 + .../include/aws/security-ir/model/Watcher.h | 95 + .../source/SecurityIRClient.cpp | 920 ++++ .../source/SecurityIREndpointProvider.cpp | 16 + .../source/SecurityIREndpointRules.cpp | 92 + .../source/SecurityIRErrorMarshaller.cpp | 22 + .../source/SecurityIRErrors.cpp | 93 + .../source/SecurityIRRequest.cpp | 14 + .../source/model/AwsRegion.cpp | 282 + .../BatchGetMemberAccountDetailsRequest.cpp | 41 + .../BatchGetMemberAccountDetailsResult.cpp | 60 + .../source/model/CancelMembershipRequest.cpp | 27 + .../source/model/CancelMembershipResult.cpp | 48 + .../source/model/CaseAttachmentAttributes.cpp | 114 + .../source/model/CaseAttachmentStatus.cpp | 79 + .../source/model/CaseEditItem.cpp | 100 + .../source/model/CaseStatus.cpp | 107 + .../source/model/CloseCaseRequest.cpp | 27 + .../source/model/CloseCaseResult.cpp | 56 + .../source/model/ClosureCode.cpp | 86 + .../source/model/ConflictException.cpp | 87 + .../source/model/CreateCaseCommentRequest.cpp | 44 + .../source/model/CreateCaseCommentResult.cpp | 48 + .../source/model/CreateCaseRequest.cpp | 142 + .../source/model/CreateCaseResult.cpp | 48 + .../source/model/CreateMembershipRequest.cpp | 79 + .../source/model/CreateMembershipResult.cpp | 48 + .../source/model/CustomerType.cpp | 72 + .../source/model/EngagementType.cpp | 72 + .../GetCaseAttachmentDownloadUrlRequest.cpp | 28 + .../GetCaseAttachmentDownloadUrlResult.cpp | 48 + .../GetCaseAttachmentUploadUrlRequest.cpp | 52 + .../GetCaseAttachmentUploadUrlResult.cpp | 48 + .../source/model/GetCaseRequest.cpp | 27 + .../source/model/GetCaseResult.cpp | 180 + .../model/GetMembershipAccountDetailError.cpp | 87 + .../model/GetMembershipAccountDetailItem.cpp | 87 + .../source/model/GetMembershipRequest.cpp | 27 + .../source/model/GetMembershipResult.cpp | 125 + .../source/model/ImpactedAwsRegion.cpp | 59 + .../source/model/IncidentResponder.cpp | 87 + .../source/model/InternalServerException.cpp | 62 + .../source/model/ListCaseEditsRequest.cpp | 44 + .../source/model/ListCaseEditsResult.cpp | 65 + .../source/model/ListCasesItem.cpp | 182 + .../source/model/ListCasesRequest.cpp | 43 + .../source/model/ListCasesResult.cpp | 65 + .../source/model/ListCommentsItem.cpp | 127 + .../source/model/ListCommentsRequest.cpp | 44 + .../source/model/ListCommentsResult.cpp | 65 + .../source/model/ListMembershipItem.cpp | 115 + .../source/model/ListMembershipsRequest.cpp | 43 + .../source/model/ListMembershipsResult.cpp | 57 + .../model/ListTagsForResourceRequest.cpp | 27 + .../model/ListTagsForResourceResult.cpp | 51 + .../MembershipAccountRelationshipStatus.cpp | 72 + .../MembershipAccountRelationshipType.cpp | 65 + .../source/model/MembershipStatus.cpp | 79 + .../source/model/OptInFeature.cpp | 74 + .../source/model/OptInFeatureName.cpp | 65 + .../source/model/PendingAction.cpp | 72 + .../source/model/ResolverType.cpp | 72 + .../source/model/SelfManagedCaseStatus.cpp | 86 + .../model/ServiceQuotaExceededException.cpp | 115 + .../source/model/TagResourceRequest.cpp | 41 + .../source/model/TagResourceResult.cpp | 42 + .../source/model/ThreatActorIp.cpp | 73 + .../source/model/ThrottlingException.cpp | 90 + .../source/model/UntagResourceRequest.cpp | 45 + .../source/model/UntagResourceResult.cpp | 42 + .../source/model/UpdateCaseCommentRequest.cpp | 37 + .../source/model/UpdateCaseCommentResult.cpp | 54 + .../source/model/UpdateCaseRequest.cpp | 182 + .../source/model/UpdateCaseResult.cpp | 42 + .../source/model/UpdateCaseStatusRequest.cpp | 36 + .../source/model/UpdateCaseStatusResult.cpp | 50 + .../source/model/UpdateMembershipRequest.cpp | 60 + .../source/model/UpdateMembershipResult.cpp | 42 + .../model/UpdateResolverTypeRequest.cpp | 36 + .../source/model/UpdateResolverTypeResult.cpp | 63 + .../source/model/ValidationException.cpp | 95 + .../source/model/ValidationExceptionField.cpp | 73 + .../model/ValidationExceptionReason.cpp | 86 + .../source/model/Watcher.cpp | 87 + .../include/aws/securityhub/model/Actor.h | 103 + .../aws/securityhub/model/ActorSession.h | 120 + .../securityhub/model/ActorSessionMfaStatus.h | 31 + .../include/aws/securityhub/model/ActorUser.h | 136 + .../securityhub/model/AwsSecurityFinding.h | 22 + .../securityhub/model/ConnectionDirection.h | 31 + .../include/aws/securityhub/model/Detection.h | 67 + .../include/aws/securityhub/model/Indicator.h | 127 + .../model/NetworkAutonomousSystem.h | 82 + .../aws/securityhub/model/NetworkConnection.h | 67 + .../aws/securityhub/model/NetworkEndpoint.h | 166 + .../securityhub/model/NetworkGeoLocation.h | 112 + .../model/SecurityControlDefinition.h | 2 +- .../include/aws/securityhub/model/Sequence.h | 146 + .../include/aws/securityhub/model/Signal.h | 314 ++ .../aws/securityhub/model/StatusReason.h | 4 +- .../aws/securityhub/model/UserAccount.h | 87 + .../source/model/Actor.cpp | 87 + .../source/model/ActorSession.cpp | 102 + .../source/model/ActorSessionMfaStatus.cpp | 72 + .../source/model/ActorUser.cpp | 115 + .../source/model/AwsSecurityFinding.cpp | 16 +- .../source/model/ConnectionDirection.cpp | 72 + .../source/model/Detection.cpp | 59 + .../source/model/Indicator.cpp | 109 + .../source/model/NetworkAutonomousSystem.cpp | 74 + .../source/model/NetworkConnection.cpp | 59 + .../source/model/NetworkEndpoint.cpp | 144 + .../source/model/NetworkGeoLocation.cpp | 103 + .../source/model/Sequence.cpp | 147 + .../source/model/Signal.cpp | 293 + .../source/model/UserAccount.cpp | 73 + .../aws/vpc-lattice/VPCLatticeClient.h | 505 +- .../VPCLatticeServiceClientModel.h | 88 + .../model/AccessLogSubscriptionSummary.h | 24 +- .../aws/vpc-lattice/model/ArnResource.h | 61 + .../model/BatchUpdateRuleRequest.h | 4 +- .../CreateAccessLogSubscriptionRequest.h | 18 +- .../model/CreateAccessLogSubscriptionResult.h | 14 + .../vpc-lattice/model/CreateListenerRequest.h | 2 +- .../CreateResourceConfigurationRequest.h | 228 + .../model/CreateResourceConfigurationResult.h | 243 + .../model/CreateResourceGatewayRequest.h | 171 + .../model/CreateResourceGatewayResult.h | 173 + .../aws/vpc-lattice/model/CreateRuleRequest.h | 4 +- .../model/CreateServiceNetworkRequest.h | 16 + ...ServiceNetworkResourceAssociationRequest.h | 119 + ...eServiceNetworkResourceAssociationResult.h | 111 + .../model/CreateServiceNetworkResult.h | 14 + ...eServiceNetworkServiceAssociationRequest.h | 6 +- ...reateServiceNetworkVpcAssociationRequest.h | 4 +- .../DeleteAccessLogSubscriptionRequest.h | 2 +- .../model/DeleteAuthPolicyRequest.h | 2 +- .../vpc-lattice/model/DeleteListenerRequest.h | 4 +- .../DeleteResourceConfigurationRequest.h | 56 + .../model/DeleteResourceConfigurationResult.h | 52 + ...DeleteResourceEndpointAssociationRequest.h | 56 + .../DeleteResourceEndpointAssociationResult.h | 129 + .../model/DeleteResourceGatewayRequest.h | 56 + .../model/DeleteResourceGatewayResult.h | 111 + .../aws/vpc-lattice/model/DeleteRuleRequest.h | 6 +- .../model/DeleteServiceNetworkRequest.h | 2 +- ...ServiceNetworkResourceAssociationRequest.h | 56 + ...eServiceNetworkResourceAssociationResult.h | 96 + ...eServiceNetworkServiceAssociationRequest.h | 2 +- ...eleteServiceNetworkVpcAssociationRequest.h | 2 +- .../vpc-lattice/model/DeleteServiceRequest.h | 2 +- .../model/DeleteTargetGroupRequest.h | 2 +- .../model/DeregisterTargetsRequest.h | 2 +- .../aws/vpc-lattice/model/DnsResource.h | 77 + .../model/GetAccessLogSubscriptionRequest.h | 2 +- .../model/GetAccessLogSubscriptionResult.h | 22 +- .../vpc-lattice/model/GetAuthPolicyRequest.h | 2 +- .../vpc-lattice/model/GetAuthPolicyResult.h | 7 +- .../vpc-lattice/model/GetListenerRequest.h | 4 +- .../aws/vpc-lattice/model/GetListenerResult.h | 6 +- .../model/GetResourceConfigurationRequest.h | 56 + .../model/GetResourceConfigurationResult.h | 291 + .../model/GetResourceGatewayRequest.h | 56 + .../model/GetResourceGatewayResult.h | 202 + .../aws/vpc-lattice/model/GetRuleRequest.h | 6 +- .../aws/vpc-lattice/model/GetRuleResult.h | 7 +- .../model/GetServiceNetworkRequest.h | 2 +- ...ServiceNetworkResourceAssociationRequest.h | 56 + ...tServiceNetworkResourceAssociationResult.h | 302 + .../model/GetServiceNetworkResult.h | 18 +- ...tServiceNetworkServiceAssociationRequest.h | 2 +- ...etServiceNetworkServiceAssociationResult.h | 3 +- .../GetServiceNetworkVpcAssociationRequest.h | 2 +- .../GetServiceNetworkVpcAssociationResult.h | 10 +- .../aws/vpc-lattice/model/GetServiceRequest.h | 2 +- .../aws/vpc-lattice/model/GetServiceResult.h | 6 +- .../vpc-lattice/model/GetTargetGroupRequest.h | 2 +- .../vpc-lattice/model/GetTargetGroupResult.h | 7 +- .../aws/vpc-lattice/model/IpResource.h | 61 + .../model/ListAccessLogSubscriptionsRequest.h | 2 +- .../vpc-lattice/model/ListListenersRequest.h | 2 +- .../model/ListResourceConfigurationsRequest.h | 109 + .../model/ListResourceConfigurationsResult.h | 85 + .../ListResourceEndpointAssociationsRequest.h | 143 + .../ListResourceEndpointAssociationsResult.h | 85 + .../model/ListResourceGatewaysRequest.h | 76 + .../model/ListResourceGatewaysResult.h | 85 + .../aws/vpc-lattice/model/ListRulesRequest.h | 4 +- ...erviceNetworkResourceAssociationsRequest.h | 110 + ...ServiceNetworkResourceAssociationsResult.h | 85 + ...ServiceNetworkServiceAssociationsRequest.h | 4 +- ...ListServiceNetworkVpcAssociationsRequest.h | 4 +- ...iceNetworkVpcEndpointAssociationsRequest.h | 93 + ...viceNetworkVpcEndpointAssociationsResult.h | 86 + .../model/ListTargetGroupsRequest.h | 2 +- .../vpc-lattice/model/ListTargetsRequest.h | 2 +- .../aws/vpc-lattice/model/ListenerSummary.h | 6 +- .../aws/vpc-lattice/model/ProtocolType.h | 30 + .../vpc-lattice/model/PutAuthPolicyRequest.h | 4 +- .../model/PutResourcePolicyRequest.h | 4 +- .../model/RegisterTargetsRequest.h | 2 +- .../model/ResourceConfigurationDefinition.h | 91 + .../ResourceConfigurationIpAddressType.h | 32 + .../model/ResourceConfigurationStatus.h | 36 + .../model/ResourceConfigurationSummary.h | 213 + .../model/ResourceConfigurationType.h | 33 + .../ResourceEndpointAssociationSummary.h | 198 + .../model/ResourceGatewayIpAddressType.h | 32 + .../vpc-lattice/model/ResourceGatewayStatus.h | 36 + .../model/ResourceGatewaySummary.h | 214 + .../aws/vpc-lattice/model/RuleSummary.h | 9 +- .../aws/vpc-lattice/model/RuleUpdate.h | 2 +- .../aws/vpc-lattice/model/RuleUpdateFailure.h | 2 +- .../model/ServiceNetworkEndpointAssociation.h | 163 + .../vpc-lattice/model/ServiceNetworkLogType.h | 31 + .../ServiceNetworkResourceAssociationStatus.h | 35 + ...ServiceNetworkResourceAssociationSummary.h | 296 + .../ServiceNetworkServiceAssociationSummary.h | 5 +- .../vpc-lattice/model/ServiceNetworkSummary.h | 19 +- .../ServiceNetworkVpcAssociationSummary.h | 7 +- .../aws/vpc-lattice/model/ServiceSummary.h | 6 +- .../aws/vpc-lattice/model/SharingConfig.h | 56 + .../vpc-lattice/model/TargetGroupSummary.h | 7 +- .../UpdateAccessLogSubscriptionRequest.h | 2 +- .../vpc-lattice/model/UpdateListenerRequest.h | 4 +- .../UpdateResourceConfigurationRequest.h | 107 + .../model/UpdateResourceConfigurationResult.h | 219 + .../model/UpdateResourceGatewayRequest.h | 75 + .../model/UpdateResourceGatewayResult.h | 173 + .../aws/vpc-lattice/model/UpdateRuleRequest.h | 6 +- .../model/UpdateServiceNetworkRequest.h | 2 +- ...pdateServiceNetworkVpcAssociationRequest.h | 2 +- .../vpc-lattice/model/UpdateServiceRequest.h | 2 +- .../model/UpdateTargetGroupRequest.h | 2 +- .../vpc-lattice/model/WeightedTargetGroup.h | 2 +- .../source/VPCLatticeClient.cpp | 540 ++ .../model/AccessLogSubscriptionSummary.cpp | 16 +- .../source/model/ArnResource.cpp | 59 + .../CreateAccessLogSubscriptionRequest.cpp | 7 + .../CreateAccessLogSubscriptionResult.cpp | 10 +- .../CreateResourceConfigurationRequest.cpp | 110 + .../CreateResourceConfigurationResult.cpp | 128 + .../model/CreateResourceGatewayRequest.cpp | 93 + .../model/CreateResourceGatewayResult.cpp | 99 + .../model/CreateServiceNetworkRequest.cpp | 7 + ...rviceNetworkResourceAssociationRequest.cpp | 62 + ...erviceNetworkResourceAssociationResult.cpp | 68 + .../model/CreateServiceNetworkResult.cpp | 6 + .../DeleteResourceConfigurationRequest.cpp | 27 + .../DeleteResourceConfigurationResult.cpp | 42 + ...leteResourceEndpointAssociationRequest.cpp | 27 + ...eleteResourceEndpointAssociationResult.cpp | 72 + .../model/DeleteResourceGatewayRequest.cpp | 27 + .../model/DeleteResourceGatewayResult.cpp | 68 + ...rviceNetworkResourceAssociationRequest.cpp | 27 + ...erviceNetworkResourceAssociationResult.cpp | 62 + .../source/model/DnsResource.cpp | 73 + .../model/GetAccessLogSubscriptionResult.cpp | 10 +- .../model/GetResourceConfigurationRequest.cpp | 27 + .../model/GetResourceConfigurationResult.cpp | 147 + .../model/GetResourceGatewayRequest.cpp | 27 + .../source/model/GetResourceGatewayResult.cpp | 111 + ...rviceNetworkResourceAssociationRequest.cpp | 27 + ...erviceNetworkResourceAssociationResult.cpp | 147 + .../source/model/GetServiceNetworkResult.cpp | 6 + .../source/model/IpResource.cpp | 59 + .../ListResourceConfigurationsRequest.cpp | 66 + .../ListResourceConfigurationsResult.cpp | 57 + ...istResourceEndpointAssociationsRequest.cpp | 82 + ...ListResourceEndpointAssociationsResult.cpp | 57 + .../model/ListResourceGatewaysRequest.cpp | 50 + .../model/ListResourceGatewaysResult.cpp | 57 + ...viceNetworkResourceAssociationsRequest.cpp | 66 + ...rviceNetworkResourceAssociationsResult.cpp | 57 + ...eNetworkVpcEndpointAssociationsRequest.cpp | 58 + ...ceNetworkVpcEndpointAssociationsResult.cpp | 57 + .../source/model/ProtocolType.cpp | 65 + .../model/ResourceConfigurationDefinition.cpp | 87 + .../ResourceConfigurationIpAddressType.cpp | 79 + .../model/ResourceConfigurationStatus.cpp | 107 + .../model/ResourceConfigurationSummary.cpp | 184 + .../model/ResourceConfigurationType.cpp | 86 + .../ResourceEndpointAssociationSummary.cpp | 170 + .../model/ResourceGatewayIpAddressType.cpp | 79 + .../source/model/ResourceGatewayStatus.cpp | 107 + .../source/model/ResourceGatewaySummary.cpp | 199 + .../ServiceNetworkEndpointAssociation.cpp | 142 + .../source/model/ServiceNetworkLogType.cpp | 72 + ...erviceNetworkResourceAssociationStatus.cpp | 100 + ...rviceNetworkResourceAssociationSummary.cpp | 255 + .../source/model/ServiceNetworkSummary.cpp | 15 + .../source/model/SharingConfig.cpp | 60 + .../UpdateResourceConfigurationRequest.cpp | 56 + .../UpdateResourceConfigurationResult.cpp | 116 + .../model/UpdateResourceGatewayRequest.cpp | 41 + .../model/UpdateResourceGatewayResult.cpp | 99 + .../tests/invoicing-gen-tests/CMakeLists.txt | 42 + .../InvoicingEndpointProviderTests.cpp | 371 ++ .../tests/invoicing-gen-tests/RunTests.cpp | 29 + .../CMakeLists.txt | 42 + ...etworkFlowMonitorEndpointProviderTests.cpp | 371 ++ .../networkflowmonitor-gen-tests/RunTests.cpp | 29 + .../S3CrtEndpointProviderTests.cpp | 206 +- .../s3-gen-tests/S3EndpointProviderTests.cpp | 206 +- .../security-ir-gen-tests/CMakeLists.txt | 42 + .../tests/security-ir-gen-tests/RunTests.cpp | 29 + .../SecurityIREndpointProviderTests.cpp | 371 ++ .../include/aws/core/VersionConfig.h | 4 +- .../bedrock-2023-04-20.normal.json | 788 ++- .../bedrock-agent-2023-06-05.normal.json | 632 ++- ...drock-agent-runtime-2023-07-26.normal.json | 644 ++- .../chime-sdk-voice-2022-08-03.normal.json | 180 + .../cleanrooms-2022-02-17.normal.json | 170 +- .../connect-2017-08-08.normal.json | 112 +- .../connectcampaignsv2-2024-04-23.normal.json | 129 +- .../customer-profiles-2020-08-15.normal.json | 622 +++ .../ec2-2016-11-15.normal.json | 1547 +++++- .../ecs-2014-11-13.normal.json | 24 +- .../eks-2017-11-01.normal.json | 187 +- .../eventbridge-2015-10-07.normal.json | 240 +- .../fsx-2018-03-01.normal.json | 56 +- .../guardduty-2017-11-28.normal.json | 807 ++- .../imagebuilder-2019-12-02.normal.json | 133 +- .../invoicing-2024-12-01.normal.json | 798 +++ .../logs-2014-03-28.normal.json | 551 +- .../memorydb-2021-01-01.normal.json | 509 +- .../networkflowmonitor-2023-04-19.normal.json | 2185 ++++++++ .../opensearch-2021-01-01.normal.json | 337 +- .../organizations-2016-11-28.normal.json | 22 +- .../qbusiness-2023-11-27.normal.json | 458 +- .../qconnect-2020-10-19.normal.json | 1822 +++++- .../rds-2014-10-31.normal.json | 45 +- .../s3-2006-03-01.normal.json | 146 +- .../s3control-2018-08-20.normal.json | 12 +- .../security-ir-2018-05-10.normal.json | 2331 ++++++++ .../securityhub-2018-10-26.normal.json | 328 +- .../transfer-2018-11-05.normal.json | 573 +- .../vpc-lattice-2022-11-30.normal.json | 2136 ++++++- ...nvoicing-2024-12-01.endpoint-rule-set.json | 151 + .../invoicing-2024-12-01.endpoint-tests.json | 313 ++ ...wmonitor-2023-04-19.endpoint-rule-set.json | 137 + ...flowmonitor-2023-04-19.endpoint-tests.json | 201 + .../s3-2006-03-01.endpoint-rule-set.json | 528 ++ .../s3-2006-03-01.endpoint-tests.json | 483 +- ...urity-ir-2018-05-10.endpoint-rule-set.json | 137 + ...security-ir-2018-05-10.endpoint-tests.json | 201 + 1946 files changed, 150581 insertions(+), 8164 deletions(-) create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateWebAppRequest.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateWebAppResult.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DeleteWebAppCustomizationRequest.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DeleteWebAppRequest.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppCustomizationRequest.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppCustomizationResult.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppRequest.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppResult.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedIdentityCenterConfig.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebApp.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebAppCustomization.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebAppIdentityProviderDetails.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/IdentityCenterConfig.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWebAppsRequest.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWebAppsResult.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListedWebApp.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppCustomizationRequest.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppCustomizationResult.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppIdentityCenterConfig.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppIdentityProviderDetails.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppRequest.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppResult.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/WebAppIdentityProviderDetails.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/WebAppUnits.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/CreateWebAppRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/CreateWebAppResult.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/DeleteWebAppCustomizationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/DeleteWebAppRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppCustomizationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppCustomizationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppResult.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedIdentityCenterConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebApp.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebAppCustomization.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebAppIdentityProviderDetails.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/IdentityCenterConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/ListWebAppsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/ListWebAppsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/ListedWebApp.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppCustomizationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppCustomizationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppIdentityCenterConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppIdentityProviderDetails.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppResult.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/WebAppIdentityProviderDetails.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/model/WebAppUnits.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/AttributeType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/BedrockRerankingConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/BedrockRerankingModelConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CitationEvent.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/FieldForReranking.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/GuardrailEvent.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/ImplicitFilterConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/MetadataAttributeSchema.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/MetadataConfigurationForReranking.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankDocument.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankDocumentType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankQuery.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankQueryContentType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankRequest.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankResult.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSdkResult.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSource.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSourceType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankTextDocument.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingConfigurationType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingMetadataSelectionMode.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingMetadataSelectiveModeConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultCustomDocumentLocation.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateOutputEvent.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamHandler.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamInitialResponse.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamRequest.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamResponseOutput.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchBedrockRerankingConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchBedrockRerankingModelConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchRerankingConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchRerankingConfigurationType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/AttributeType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/BedrockRerankingConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/BedrockRerankingModelConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/CitationEvent.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/FieldForReranking.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/GuardrailEvent.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/ImplicitFilterConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/MetadataAttributeSchema.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/MetadataConfigurationForReranking.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankDocument.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankDocumentType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankQuery.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankQueryContentType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankResult.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSdkResult.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSource.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSourceType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankTextDocument.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingConfigurationType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingMetadataSelectionMode.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingMetadataSelectiveModeConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultCustomDocumentLocation.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateOutputEvent.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamHandler.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamInitialResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchBedrockRerankingConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchBedrockRerankingModelConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchRerankingConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchRerankingConfigurationType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ByteContentDoc.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ContentDataSourceType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomContent.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomDocumentIdentifier.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomS3Location.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomSourceType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DeleteKnowledgeBaseDocumentsRequest.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DeleteKnowledgeBaseDocumentsResult.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentContent.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentIdentifier.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentMetadata.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentStatus.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/GetKnowledgeBaseDocumentsRequest.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/GetKnowledgeBaseDocumentsResult.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/IngestKnowledgeBaseDocumentsRequest.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/IngestKnowledgeBaseDocumentsResult.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/InlineContent.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/InlineContentType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/KnowledgeBaseDocument.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/KnowledgeBaseDocumentDetail.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ListKnowledgeBaseDocumentsRequest.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ListKnowledgeBaseDocumentsResult.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataAttribute.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataAttributeValue.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataSourceType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataValueType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/S3Content.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/TextContentDoc.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/ByteContentDoc.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/ContentDataSourceType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomContent.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomDocumentIdentifier.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomS3Location.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomSourceType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/DeleteKnowledgeBaseDocumentsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/DeleteKnowledgeBaseDocumentsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentContent.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentIdentifier.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentMetadata.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/GetKnowledgeBaseDocumentsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/GetKnowledgeBaseDocumentsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/IngestKnowledgeBaseDocumentsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/IngestKnowledgeBaseDocumentsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/InlineContent.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/InlineContentType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/KnowledgeBaseDocument.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/KnowledgeBaseDocumentDetail.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/ListKnowledgeBaseDocumentsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/ListKnowledgeBaseDocumentsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataAttribute.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataAttributeValue.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataSourceType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataValueType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/S3Content.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agent/source/model/TextContentDoc.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ApplicationType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BedrockEvaluatorModel.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ByteContentDoc.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluatorModelConfig.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSource.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourceType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourcesGenerationConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourcesRetrieveAndGenerateConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/FilterAttribute.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GenerationConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KbInferenceConfig.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseConfig.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseRetrievalConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseRetrieveAndGenerateConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseVectorSearchConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/OrchestrationConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/PromptTemplate.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/QueryTransformationConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/QueryTransformationType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RAGConfig.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrievalFilter.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveAndGenerateConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveAndGenerateType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveConfig.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/S3ObjectDoc.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/SearchType.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/TextInferenceConfig.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/ApplicationType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/BedrockEvaluatorModel.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/ByteContentDoc.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/EvaluatorModelConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSource.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourceType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourcesGenerationConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourcesRetrieveAndGenerateConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/FilterAttribute.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/GenerationConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/KbInferenceConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseRetrievalConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseRetrieveAndGenerateConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseVectorSearchConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/OrchestrationConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/PromptTemplate.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/QueryTransformationConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/QueryTransformationType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/RAGConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/RetrievalFilter.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveAndGenerateConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveAndGenerateType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/S3ObjectDoc.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/SearchType.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/TextInferenceConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/ContactCenterSystemType.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/DeleteVoiceConnectorExternalSystemsConfigurationRequest.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/ExternalSystemsConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/GetVoiceConnectorExternalSystemsConfigurationRequest.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/GetVoiceConnectorExternalSystemsConfigurationResult.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/PutVoiceConnectorExternalSystemsConfigurationRequest.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/PutVoiceConnectorExternalSystemsConfigurationResult.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/SessionBorderControllerType.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/VoiceConnectorIntegrationType.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/ContactCenterSystemType.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/DeleteVoiceConnectorExternalSystemsConfigurationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/ExternalSystemsConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/GetVoiceConnectorExternalSystemsConfigurationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/GetVoiceConnectorExternalSystemsConfigurationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/PutVoiceConnectorExternalSystemsConfigurationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/PutVoiceConnectorExternalSystemsConfigurationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/SessionBorderControllerType.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/VoiceConnectorIntegrationType.cpp create mode 100644 generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/AthenaTableReference.h create mode 100644 generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableReference.h create mode 100644 generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableSchema.h create mode 100644 generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableSchemaV1.h create mode 100644 generated/src/aws-cpp-sdk-cleanrooms/source/model/AthenaTableReference.cpp create mode 100644 generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableReference.cpp create mode 100644 generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableSchema.cpp create mode 100644 generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableSchemaV1.cpp create mode 100644 generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ContactRecordingType.h create mode 100644 generated/src/aws-cpp-sdk-connect/include/aws/connect/model/IvrRecordingTrack.h create mode 100644 generated/src/aws-cpp-sdk-connect/include/aws/connect/model/QueueInfoInput.h create mode 100644 generated/src/aws-cpp-sdk-connect/source/model/ContactRecordingType.cpp create mode 100644 generated/src/aws-cpp-sdk-connect/source/model/IvrRecordingTrack.cpp create mode 100644 generated/src/aws-cpp-sdk-connect/source/model/QueueInfoInput.cpp create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/EventTrigger.h create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/FailedProfileOutboundRequest.h create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/ProfileOutboundRequest.h create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/ProfileOutboundRequestFailureCode.h create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/PutProfileOutboundRequestBatchRequest.h create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/PutProfileOutboundRequestBatchResult.h create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/SuccessfulProfileOutboundRequest.h create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/EventTrigger.cpp create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/FailedProfileOutboundRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/ProfileOutboundRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/ProfileOutboundRequestFailureCode.cpp create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/PutProfileOutboundRequestBatchRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/PutProfileOutboundRequestBatchResult.cpp create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/SuccessfulProfileOutboundRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ComparisonOperator.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateEventTriggerRequest.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateEventTriggerResult.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteEventTriggerRequest.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteEventTriggerResult.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerCondition.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerDimension.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerLimits.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerLogicalOperator.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerSummaryItem.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetEventTriggerRequest.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetEventTriggerResult.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListEventTriggersRequest.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListEventTriggersResult.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ObjectAttribute.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Period.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PeriodUnit.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateEventTriggerRequest.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateEventTriggerResult.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/ComparisonOperator.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateEventTriggerRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateEventTriggerResult.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteEventTriggerRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteEventTriggerResult.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerCondition.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerDimension.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerLimits.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerLogicalOperator.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerSummaryItem.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/GetEventTriggerRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/GetEventTriggerResult.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/ListEventTriggersRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/ListEventTriggersResult.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/ObjectAttribute.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/Period.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/PeriodUnit.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateEventTriggerRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateEventTriggerResult.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AllowedImagesSettingsDisabledState.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AllowedImagesSettingsEnabledState.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AttributeSummary.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CancelDeclarativePoliciesReportRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CancelDeclarativePoliciesReportResponse.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointCidrOptions.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointPortRange.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointRdsOptions.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessNativeApplicationOidcOptions.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DeclarativePoliciesReport.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeDeclarativePoliciesReportsRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeDeclarativePoliciesReportsResponse.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeVpcEndpointAssociationsRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeVpcEndpointAssociationsResponse.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisableAllowedImagesSettingsRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisableAllowedImagesSettingsResponse.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EnableAllowedImagesSettingsRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EnableAllowedImagesSettingsResponse.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ExportVerifiedAccessInstanceClientConfigurationRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ExportVerifiedAccessInstanceClientConfigurationResponse.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetAllowedImagesSettingsRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetAllowedImagesSettingsResponse.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetDeclarativePoliciesReportSummaryRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetDeclarativePoliciesReportSummaryResponse.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetVerifiedAccessEndpointTargetsRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetVerifiedAccessEndpointTargetsResponse.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageCriterion.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageCriterionRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ManagedBy.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointCidrOptions.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointPortRange.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointRdsOptions.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessNativeApplicationOidcOptions.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NativeApplicationOidcOptions.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RegionalSummary.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReplaceImageCriteriaInAllowedImagesSettingsRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReplaceImageCriteriaInAllowedImagesSettingsResponse.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReportState.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/StartDeclarativePoliciesReportRequest.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/StartDeclarativePoliciesReportResponse.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SubnetIpPrefixes.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointCidrOptions.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointPortRange.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointRdsOptions.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointTarget.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceCustomSubDomain.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceOpenVpnClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceOpenVpnClientConfigurationRoute.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceUserTrustProviderClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcBlockPublicAccessExclusionsAllowed.h create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpointAssociation.h create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/AllowedImagesSettingsDisabledState.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/AllowedImagesSettingsEnabledState.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/AttributeSummary.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/CancelDeclarativePoliciesReportRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/CancelDeclarativePoliciesReportResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointCidrOptions.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointPortRange.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointRdsOptions.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessNativeApplicationOidcOptions.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/DeclarativePoliciesReport.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/DescribeDeclarativePoliciesReportsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/DescribeDeclarativePoliciesReportsResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/DescribeVpcEndpointAssociationsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/DescribeVpcEndpointAssociationsResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/DisableAllowedImagesSettingsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/DisableAllowedImagesSettingsResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/EnableAllowedImagesSettingsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/EnableAllowedImagesSettingsResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ExportVerifiedAccessInstanceClientConfigurationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ExportVerifiedAccessInstanceClientConfigurationResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/GetAllowedImagesSettingsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/GetAllowedImagesSettingsResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/GetDeclarativePoliciesReportSummaryRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/GetDeclarativePoliciesReportSummaryResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/GetVerifiedAccessEndpointTargetsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/GetVerifiedAccessEndpointTargetsResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ImageCriterion.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ImageCriterionRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ManagedBy.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointCidrOptions.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointPortRange.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointRdsOptions.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessNativeApplicationOidcOptions.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/NativeApplicationOidcOptions.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/RegionalSummary.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ReplaceImageCriteriaInAllowedImagesSettingsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ReplaceImageCriteriaInAllowedImagesSettingsResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/ReportState.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/StartDeclarativePoliciesReportRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/StartDeclarativePoliciesReportResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/SubnetIpPrefixes.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointCidrOptions.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointPortRange.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointRdsOptions.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointTarget.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceCustomSubDomain.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceOpenVpnClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceOpenVpnClientConfigurationRoute.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceUserTrustProviderClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/VpcBlockPublicAccessExclusionsAllowed.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpointAssociation.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/BlockStorage.h create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigRequest.h create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigResponse.h create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ElasticLoadBalancing.h create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigRequest.h create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigResponse.h create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNodeNetwork.h create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemotePodNetwork.h create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigRequest.h create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigResponse.h create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/BlockStorage.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/ComputeConfigRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/ComputeConfigResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/ElasticLoadBalancing.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/RemoteNetworkConfigRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/RemoteNetworkConfigResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/RemoteNodeNetwork.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/RemotePodNetwork.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/StorageConfigRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/source/model/StorageConfigResponse.cpp create mode 100644 generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectivityResourceConfigurationArn.h create mode 100644 generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectivityResourceParameters.h create mode 100644 generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionConnectivityParameters.h create mode 100644 generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionResourceParameters.h create mode 100644 generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectivityResourceConfigurationArn.cpp create mode 100644 generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectivityResourceParameters.cpp create mode 100644 generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionConnectivityParameters.cpp create mode 100644 generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionResourceParameters.cpp create mode 100644 generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSReadCacheConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSReadCacheSizingMode.h create mode 100644 generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSReadCacheConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSReadCacheSizingMode.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AccessKey.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Account.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Actor.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AutonomousSystem.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Ec2Instance.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Ec2NetworkInterface.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FindingResourceType.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Indicator.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/IndicatorType.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/MfaStatus.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkConnection.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkDirection.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkEndpoint.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkGeoLocation.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAccessConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAccessStatus.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAclIgnoreBehavior.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicBucketRestrictBehavior.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceData.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceV2.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/S3Bucket.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/S3Object.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Sequence.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Session.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Signal.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/SignalType.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/User.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/AccessKey.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/Account.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/Actor.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/AutonomousSystem.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/Ec2Instance.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/Ec2NetworkInterface.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/FindingResourceType.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/Indicator.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/IndicatorType.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/MfaStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/NetworkConnection.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/NetworkDirection.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/NetworkEndpoint.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/NetworkGeoLocation.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/PublicAccessConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/PublicAccessStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/PublicAclIgnoreBehavior.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/PublicBucketRestrictBehavior.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/ResourceData.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/ResourceV2.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/S3Bucket.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/S3Object.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/Sequence.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/Session.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/Signal.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/SignalType.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/model/User.cpp create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/GetMarketplaceResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/GetMarketplaceResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/MarketplaceResourceType.h create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ProductCodeListItem.h create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ProductCodeType.h create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/source/model/GetMarketplaceResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/source/model/GetMarketplaceResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/source/model/MarketplaceResourceType.cpp create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/source/model/ProductCodeListItem.cpp create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/source/model/ProductCodeType.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/CMakeLists.txt create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClient.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointProvider.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointRules.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingErrorMarshaller.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingErrors.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingRequest.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingServiceClientModel.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/Invoicing_EXPORTS.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/AccessDeniedException.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/BatchGetInvoiceProfileRequest.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/BatchGetInvoiceProfileResult.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/CreateInvoiceUnitRequest.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/CreateInvoiceUnitResult.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/DeleteInvoiceUnitRequest.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/DeleteInvoiceUnitResult.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/Filters.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/GetInvoiceUnitRequest.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/GetInvoiceUnitResult.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InternalServerException.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceProfile.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceUnit.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceUnitRule.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListInvoiceUnitsRequest.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListInvoiceUnitsResult.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListTagsForResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListTagsForResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ReceiverAddress.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ResourceNotFoundException.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ResourceTag.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/TagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/TagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UntagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UntagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UpdateInvoiceUnitRequest.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UpdateInvoiceUnitResult.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationException.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationExceptionField.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationExceptionReason.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/InvoicingClient.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointProvider.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointRules.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/InvoicingErrorMarshaller.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/InvoicingErrors.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/InvoicingRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/AccessDeniedException.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/BatchGetInvoiceProfileRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/BatchGetInvoiceProfileResult.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/CreateInvoiceUnitRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/CreateInvoiceUnitResult.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/DeleteInvoiceUnitRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/DeleteInvoiceUnitResult.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/Filters.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/GetInvoiceUnitRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/GetInvoiceUnitResult.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/InternalServerException.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceProfile.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceUnit.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceUnitRule.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/ListInvoiceUnitsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/ListInvoiceUnitsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/ListTagsForResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/ListTagsForResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/ReceiverAddress.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/ResourceNotFoundException.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/ResourceTag.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/TagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/TagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/UntagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/UntagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/UpdateInvoiceUnitRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/UpdateInvoiceUnitResult.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/ValidationException.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/ValidationExceptionField.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/model/ValidationExceptionReason.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeleteIntegrationRequest.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeleteIntegrationResult.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetIntegrationRequest.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetIntegrationResult.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationDetails.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationStatus.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationSummary.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationType.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListIntegrationsRequest.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListIntegrationsResult.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchApplication.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchCollection.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchDataAccessPolicy.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchDataSource.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchEncryptionPolicy.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchIntegrationDetails.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchLifecyclePolicy.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchNetworkPolicy.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceConfig.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceStatus.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceStatusType.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchWorkspace.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutIntegrationRequest.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutIntegrationResult.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryLanguage.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ResourceConfig.h create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/DeleteIntegrationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/DeleteIntegrationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/GetIntegrationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/GetIntegrationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/IntegrationDetails.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/IntegrationStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/IntegrationSummary.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/IntegrationType.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/ListIntegrationsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/ListIntegrationsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchApplication.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchCollection.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchDataAccessPolicy.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchDataSource.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchEncryptionPolicy.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchIntegrationDetails.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchLifecyclePolicy.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchNetworkPolicy.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceStatusType.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OpenSearchWorkspace.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/PutIntegrationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/PutIntegrationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/QueryLanguage.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/ResourceConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateMultiRegionClusterRequest.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateMultiRegionClusterResult.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteMultiRegionClusterRequest.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteMultiRegionClusterResult.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeMultiRegionClustersRequest.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeMultiRegionClustersResult.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListAllowedMultiRegionClusterUpdatesRequest.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListAllowedMultiRegionClusterUpdatesResult.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/MultiRegionCluster.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/RegionalCluster.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateMultiRegionClusterRequest.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateMultiRegionClusterResult.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateStrategy.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/CreateMultiRegionClusterRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/CreateMultiRegionClusterResult.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/DeleteMultiRegionClusterRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/DeleteMultiRegionClusterResult.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/DescribeMultiRegionClustersRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/DescribeMultiRegionClustersResult.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/ListAllowedMultiRegionClusterUpdatesRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/ListAllowedMultiRegionClusterUpdatesResult.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/MultiRegionCluster.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/RegionalCluster.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/UpdateMultiRegionClusterRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/UpdateMultiRegionClusterResult.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/model/UpdateStrategy.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/CMakeLists.txt create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClient.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointProvider.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointRules.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorErrorMarshaller.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorErrors.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorServiceClientModel.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitor_EXPORTS.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateMonitorRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateMonitorResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateScopeRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateScopeResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteMonitorRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteMonitorResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteScopeRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteScopeResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DestinationCategory.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetMonitorRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetMonitorResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsMonitorTopContributorsRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsMonitorTopContributorsResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsDataRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsDataResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusMonitorTopContributorsRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusMonitorTopContributorsResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsDataRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsDataResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetScopeRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetScopeResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/KubernetesMetadata.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListMonitorsRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListMonitorsResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListScopesRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListScopesResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListTagsForResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListTagsForResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MetricUnit.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorLocalResource.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorLocalResourceType.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorMetric.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorRemoteResource.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorRemoteResourceType.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorStatus.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorSummary.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorTopContributorsRow.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/QueryStatus.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ScopeStatus.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ScopeSummary.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryMonitorTopContributorsRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryMonitorTopContributorsResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsDataRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsDataResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryMonitorTopContributorsRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryMonitorTopContributorsResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsDataRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsDataResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetId.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetIdentifier.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetResource.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetType.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TraversedComponent.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UntagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UntagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateMonitorRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateMonitorResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateScopeRequest.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateScopeResult.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsMetric.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsTopContributorsDataPoint.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsTopContributorsRow.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClient.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointProvider.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointRules.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorErrorMarshaller.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorErrors.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateMonitorRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateMonitorResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateScopeRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateScopeResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteMonitorRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteMonitorResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteScopeRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteScopeResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DestinationCategory.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetMonitorRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetMonitorResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsMonitorTopContributorsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsMonitorTopContributorsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsDataRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsDataResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusMonitorTopContributorsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusMonitorTopContributorsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsDataRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsDataResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetScopeRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetScopeResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/KubernetesMetadata.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListMonitorsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListMonitorsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListScopesRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListScopesResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListTagsForResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListTagsForResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MetricUnit.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorLocalResource.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorLocalResourceType.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorMetric.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorRemoteResource.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorRemoteResourceType.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorSummary.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorTopContributorsRow.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/QueryStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ScopeStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ScopeSummary.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryMonitorTopContributorsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryMonitorTopContributorsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsDataRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsDataResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryMonitorTopContributorsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryMonitorTopContributorsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsDataRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsDataResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetId.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetIdentifier.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetResource.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetType.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TraversedComponent.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UntagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UntagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateMonitorRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateMonitorResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateScopeRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateScopeResult.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsMetric.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsTopContributorsDataPoint.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsTopContributorsRow.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddDirectQueryDataSourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddDirectQueryDataSourceResult.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CloudWatchDirectQueryDataSource.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DeleteDirectQueryDataSourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DirectQueryDataSource.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DirectQueryDataSourceType.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetDirectQueryDataSourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetDirectQueryDataSourceResult.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListDirectQueryDataSourcesRequest.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListDirectQueryDataSourcesResult.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/SecurityLakeDirectQueryDataSource.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDirectQueryDataSourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDirectQueryDataSourceResult.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/AddDirectQueryDataSourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/AddDirectQueryDataSourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/CloudWatchDirectQueryDataSource.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/DeleteDirectQueryDataSourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/DirectQueryDataSource.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/DirectQueryDataSourceType.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/GetDirectQueryDataSourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/GetDirectQueryDataSourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/ListDirectQueryDataSourcesRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/ListDirectQueryDataSourcesResult.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/SecurityLakeDirectQueryDataSource.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDirectQueryDataSourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDirectQueryDataSourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/Attachment.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/BrowserExtension.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/BrowserExtensionConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ConversationSource.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CopyFromSource.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetMediaRequest.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetMediaResult.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ImageExtractionConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ImageExtractionStatus.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListAttachmentsRequest.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListAttachmentsResult.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/MediaExtractionConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/Attachment.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/BrowserExtension.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/BrowserExtensionConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/ConversationSource.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/CopyFromSource.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/GetMediaRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/GetMediaResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/ImageExtractionConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/ImageExtractionStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/ListAttachmentsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/ListAttachmentsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/model/MediaExtractionConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailContentPolicyConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailContextualGroundingPolicyConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailData.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailSensitiveInformationPolicyConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailSummary.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailTopicPolicyConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailVersionSummary.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailWordPolicyConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationContext.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationState.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationStatus.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationStatusReason.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailRequest.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailResult.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailVersionRequest.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailVersionResult.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailRequest.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailResult.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailVersionRequest.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailVersionResult.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetAIGuardrailRequest.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetAIGuardrailResult.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetNextMessageRequest.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetNextMessageResult.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContentFilterConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContentFilterType.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContextualGroundingFilterConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContextualGroundingFilterType.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailFilterStrength.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailManagedWordsConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailManagedWordsType.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailPiiEntityConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailPiiEntityType.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailRegexConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailSensitiveInformationAction.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailTopicConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailTopicType.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailWordConfig.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailVersionsRequest.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailVersionsResult.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailsRequest.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailsResult.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListMessagesRequest.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListMessagesResult.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageData.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageInput.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageOutput.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageType.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/Participant.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SelfServiceAIAgentConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SelfServiceConversationHistory.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SendMessageRequest.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SendMessageResult.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/TextMessage.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/UpdateAIGuardrailRequest.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/UpdateAIGuardrailResult.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailContentPolicyConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailContextualGroundingPolicyConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailData.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailSensitiveInformationPolicyConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailSummary.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailTopicPolicyConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailVersionSummary.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailWordPolicyConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/ConversationContext.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/ConversationState.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/ConversationStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/ConversationStatusReason.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailVersionRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailVersionResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailVersionRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailVersionResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GetAIGuardrailRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GetAIGuardrailResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GetNextMessageRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GetNextMessageResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContentFilterConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContentFilterType.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContextualGroundingFilterConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContextualGroundingFilterType.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailFilterStrength.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailManagedWordsConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailManagedWordsType.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailPiiEntityConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailPiiEntityType.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailRegexConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailSensitiveInformationAction.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailTopicConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailTopicType.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailWordConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailVersionsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailVersionsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/ListMessagesRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/ListMessagesResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/MessageData.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/MessageInput.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/MessageOutput.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/MessageType.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/Participant.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/SelfServiceAIAgentConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/SelfServiceConversationHistory.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/SendMessageRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/SendMessageResult.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/TextMessage.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/UpdateAIGuardrailRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/model/UpdateAIGuardrailResult.cpp create mode 100644 generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DatabaseInsightsMode.h create mode 100644 generated/src/aws-cpp-sdk-rds/source/model/DatabaseInsightsMode.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/CMakeLists.txt create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClient.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointProvider.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointRules.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRErrorMarshaller.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRErrors.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRServiceClientModel.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIR_EXPORTS.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/AwsRegion.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/BatchGetMemberAccountDetailsRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/BatchGetMemberAccountDetailsResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CancelMembershipRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CancelMembershipResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseAttachmentAttributes.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseAttachmentStatus.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseEditItem.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseStatus.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CloseCaseRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CloseCaseResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ClosureCode.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ConflictException.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseCommentRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseCommentResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateMembershipRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateMembershipResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CustomerType.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/EngagementType.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentDownloadUrlRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentDownloadUrlResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentUploadUrlRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentUploadUrlResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipAccountDetailError.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipAccountDetailItem.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ImpactedAwsRegion.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/IncidentResponder.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/InternalServerException.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCaseEditsRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCaseEditsResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesItem.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsItem.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipItem.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipsRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipsResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListTagsForResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListTagsForResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipAccountRelationshipStatus.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipAccountRelationshipType.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipStatus.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/OptInFeature.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/OptInFeatureName.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/PendingAction.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ResolverType.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/SelfManagedCaseStatus.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ServiceQuotaExceededException.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/TagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/TagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ThreatActorIp.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ThrottlingException.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UntagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UntagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseCommentRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseCommentResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseStatusRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseStatusResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateMembershipRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateMembershipResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateResolverTypeRequest.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateResolverTypeResult.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationException.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationExceptionField.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationExceptionReason.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/Watcher.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClient.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointProvider.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointRules.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/SecurityIRErrorMarshaller.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/SecurityIRErrors.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/SecurityIRRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/AwsRegion.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/BatchGetMemberAccountDetailsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/BatchGetMemberAccountDetailsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CancelMembershipRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CancelMembershipResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CaseAttachmentAttributes.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CaseAttachmentStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CaseEditItem.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CaseStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CloseCaseRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CloseCaseResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ClosureCode.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ConflictException.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseCommentRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseCommentResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CreateMembershipRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CreateMembershipResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/CustomerType.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/EngagementType.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentDownloadUrlRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentDownloadUrlResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentUploadUrlRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentUploadUrlResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipAccountDetailError.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipAccountDetailItem.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ImpactedAwsRegion.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/IncidentResponder.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/InternalServerException.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListCaseEditsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListCaseEditsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesItem.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsItem.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipItem.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListTagsForResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ListTagsForResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/MembershipAccountRelationshipStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/MembershipAccountRelationshipType.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/MembershipStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/OptInFeature.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/OptInFeatureName.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/PendingAction.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ResolverType.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/SelfManagedCaseStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ServiceQuotaExceededException.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/TagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/TagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ThreatActorIp.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ThrottlingException.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UntagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UntagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseCommentRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseCommentResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseStatusRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseStatusResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UpdateMembershipRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UpdateMembershipResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UpdateResolverTypeRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/UpdateResolverTypeResult.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ValidationException.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ValidationExceptionField.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/ValidationExceptionReason.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/model/Watcher.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Actor.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorSession.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorSessionMfaStatus.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorUser.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectionDirection.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Detection.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Indicator.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkAutonomousSystem.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkConnection.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkEndpoint.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkGeoLocation.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Sequence.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Signal.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UserAccount.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/Actor.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/ActorSession.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/ActorSessionMfaStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/ActorUser.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/ConnectionDirection.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/Detection.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/Indicator.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/NetworkAutonomousSystem.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/NetworkConnection.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/NetworkEndpoint.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/NetworkGeoLocation.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/Sequence.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/Signal.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/model/UserAccount.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ArnResource.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceConfigurationRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceConfigurationResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceGatewayRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceGatewayResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResourceAssociationRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResourceAssociationResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceConfigurationRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceConfigurationResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceEndpointAssociationRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceEndpointAssociationResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceGatewayRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceGatewayResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkResourceAssociationRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkResourceAssociationResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DnsResource.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceConfigurationRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceConfigurationResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceGatewayRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceGatewayResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResourceAssociationRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResourceAssociationResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/IpResource.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceConfigurationsRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceConfigurationsResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceEndpointAssociationsRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceEndpointAssociationsResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceGatewaysRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceGatewaysResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkResourceAssociationsRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkResourceAssociationsResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcEndpointAssociationsRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcEndpointAssociationsResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ProtocolType.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationDefinition.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationIpAddressType.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationStatus.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationSummary.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationType.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceEndpointAssociationSummary.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewayIpAddressType.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewayStatus.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewaySummary.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkEndpointAssociation.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkLogType.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkResourceAssociationStatus.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkResourceAssociationSummary.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/SharingConfig.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceConfigurationRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceConfigurationResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceGatewayRequest.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceGatewayResult.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ArnResource.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceConfigurationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceConfigurationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceGatewayRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceGatewayResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResourceAssociationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResourceAssociationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceConfigurationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceConfigurationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceEndpointAssociationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceEndpointAssociationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceGatewayRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceGatewayResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteServiceNetworkResourceAssociationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteServiceNetworkResourceAssociationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/DnsResource.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceConfigurationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceConfigurationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceGatewayRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceGatewayResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResourceAssociationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResourceAssociationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/IpResource.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceConfigurationsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceConfigurationsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceEndpointAssociationsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceEndpointAssociationsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceGatewaysRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceGatewaysResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkResourceAssociationsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkResourceAssociationsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkVpcEndpointAssociationsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkVpcEndpointAssociationsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ProtocolType.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationDefinition.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationIpAddressType.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationSummary.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationType.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceEndpointAssociationSummary.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewayIpAddressType.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewayStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewaySummary.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkEndpointAssociation.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkLogType.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkResourceAssociationStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkResourceAssociationSummary.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/SharingConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceConfigurationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceConfigurationResult.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceGatewayRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceGatewayResult.cpp create mode 100644 generated/tests/invoicing-gen-tests/CMakeLists.txt create mode 100644 generated/tests/invoicing-gen-tests/InvoicingEndpointProviderTests.cpp create mode 100644 generated/tests/invoicing-gen-tests/RunTests.cpp create mode 100644 generated/tests/networkflowmonitor-gen-tests/CMakeLists.txt create mode 100644 generated/tests/networkflowmonitor-gen-tests/NetworkFlowMonitorEndpointProviderTests.cpp create mode 100644 generated/tests/networkflowmonitor-gen-tests/RunTests.cpp create mode 100644 generated/tests/security-ir-gen-tests/CMakeLists.txt create mode 100644 generated/tests/security-ir-gen-tests/RunTests.cpp create mode 100644 generated/tests/security-ir-gen-tests/SecurityIREndpointProviderTests.cpp create mode 100644 tools/code-generation/api-descriptions/invoicing-2024-12-01.normal.json create mode 100644 tools/code-generation/api-descriptions/networkflowmonitor-2023-04-19.normal.json create mode 100644 tools/code-generation/api-descriptions/security-ir-2018-05-10.normal.json create mode 100644 tools/code-generation/endpoints/invoicing-2024-12-01.endpoint-rule-set.json create mode 100644 tools/code-generation/endpoints/invoicing-2024-12-01.endpoint-tests.json create mode 100644 tools/code-generation/endpoints/networkflowmonitor-2023-04-19.endpoint-rule-set.json create mode 100644 tools/code-generation/endpoints/networkflowmonitor-2023-04-19.endpoint-tests.json create mode 100644 tools/code-generation/endpoints/security-ir-2018-05-10.endpoint-rule-set.json create mode 100644 tools/code-generation/endpoints/security-ir-2018-05-10.endpoint-tests.json diff --git a/VERSION b/VERSION index 1be848333eb..c49945e448a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.457 \ No newline at end of file +1.11.458 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h index e361a2eb493..5c54c0833d9 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h @@ -271,6 +271,32 @@ namespace Transfer return SubmitAsync(&TransferClient::CreateUser, request, handler, context); } + /** + *

Creates a web app based on specified parameters, and returns the ID for the + * new web app.

See Also:

AWS + * API Reference

+ */ + virtual Model::CreateWebAppOutcome CreateWebApp(const Model::CreateWebAppRequest& request) const; + + /** + * A Callable wrapper for CreateWebApp that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateWebAppOutcomeCallable CreateWebAppCallable(const CreateWebAppRequestT& request) const + { + return SubmitCallable(&TransferClient::CreateWebApp, request); + } + + /** + * An Async wrapper for CreateWebApp that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateWebAppAsync(const CreateWebAppRequestT& request, const CreateWebAppResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&TransferClient::CreateWebApp, request, handler, context); + } + /** *

Allows you to create a workflow with specified steps and step details the * workflow invokes after file transfer completes. After creating a workflow, you @@ -535,6 +561,57 @@ namespace Transfer return SubmitAsync(&TransferClient::DeleteUser, request, handler, context); } + /** + *

Deletes the specified web app.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteWebAppOutcome DeleteWebApp(const Model::DeleteWebAppRequest& request) const; + + /** + * A Callable wrapper for DeleteWebApp that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteWebAppOutcomeCallable DeleteWebAppCallable(const DeleteWebAppRequestT& request) const + { + return SubmitCallable(&TransferClient::DeleteWebApp, request); + } + + /** + * An Async wrapper for DeleteWebApp that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteWebAppAsync(const DeleteWebAppRequestT& request, const DeleteWebAppResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&TransferClient::DeleteWebApp, request, handler, context); + } + + /** + *

Deletes the WebAppCustomization object that corresponds to the + * web app ID specified.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteWebAppCustomizationOutcome DeleteWebAppCustomization(const Model::DeleteWebAppCustomizationRequest& request) const; + + /** + * A Callable wrapper for DeleteWebAppCustomization that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteWebAppCustomizationOutcomeCallable DeleteWebAppCustomizationCallable(const DeleteWebAppCustomizationRequestT& request) const + { + return SubmitCallable(&TransferClient::DeleteWebAppCustomization, request); + } + + /** + * An Async wrapper for DeleteWebAppCustomization that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteWebAppCustomizationAsync(const DeleteWebAppCustomizationRequestT& request, const DeleteWebAppCustomizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&TransferClient::DeleteWebAppCustomization, request, handler, context); + } + /** *

Deletes the specified workflow.

See Also:

AWS @@ -837,6 +914,58 @@ namespace Transfer return SubmitAsync(&TransferClient::DescribeUser, request, handler, context); } + /** + *

Describes the web app that's identified by + * WebAppId.

See Also:

AWS + * API Reference

+ */ + virtual Model::DescribeWebAppOutcome DescribeWebApp(const Model::DescribeWebAppRequest& request) const; + + /** + * A Callable wrapper for DescribeWebApp that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeWebAppOutcomeCallable DescribeWebAppCallable(const DescribeWebAppRequestT& request) const + { + return SubmitCallable(&TransferClient::DescribeWebApp, request); + } + + /** + * An Async wrapper for DescribeWebApp that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeWebAppAsync(const DescribeWebAppRequestT& request, const DescribeWebAppResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&TransferClient::DescribeWebApp, request, handler, context); + } + + /** + *

Describes the web app customization object that's identified by + * WebAppId.

See Also:

AWS + * API Reference

+ */ + virtual Model::DescribeWebAppCustomizationOutcome DescribeWebAppCustomization(const Model::DescribeWebAppCustomizationRequest& request) const; + + /** + * A Callable wrapper for DescribeWebAppCustomization that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeWebAppCustomizationOutcomeCallable DescribeWebAppCustomizationCallable(const DescribeWebAppCustomizationRequestT& request) const + { + return SubmitCallable(&TransferClient::DescribeWebAppCustomization, request); + } + + /** + * An Async wrapper for DescribeWebAppCustomization that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeWebAppCustomizationAsync(const DescribeWebAppCustomizationRequestT& request, const DescribeWebAppCustomizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&TransferClient::DescribeWebAppCustomization, request, handler, context); + } + /** *

Describes the specified workflow.

See Also:

AWS @@ -1276,6 +1405,32 @@ namespace Transfer return SubmitAsync(&TransferClient::ListUsers, request, handler, context); } + /** + *

Lists all web apps associated with your Amazon Web Services account for your + * current region.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListWebAppsOutcome ListWebApps(const Model::ListWebAppsRequest& request = {}) const; + + /** + * A Callable wrapper for ListWebApps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListWebAppsOutcomeCallable ListWebAppsCallable(const ListWebAppsRequestT& request = {}) const + { + return SubmitCallable(&TransferClient::ListWebApps, request); + } + + /** + * An Async wrapper for ListWebApps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListWebAppsAsync(const ListWebAppsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListWebAppsRequestT& request = {}) const + { + return SubmitAsync(&TransferClient::ListWebApps, request, handler, context); + } + /** *

Lists all workflows associated with your Amazon Web Services account for your * current region.

See Also:

Assigns new properties to a web app. You can modify the access point, + * identity provider details, and the web app units.

See Also:

AWS + * API Reference

+ */ + virtual Model::UpdateWebAppOutcome UpdateWebApp(const Model::UpdateWebAppRequest& request) const; + + /** + * A Callable wrapper for UpdateWebApp that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateWebAppOutcomeCallable UpdateWebAppCallable(const UpdateWebAppRequestT& request) const + { + return SubmitCallable(&TransferClient::UpdateWebApp, request); + } + + /** + * An Async wrapper for UpdateWebApp that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateWebAppAsync(const UpdateWebAppRequestT& request, const UpdateWebAppResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&TransferClient::UpdateWebApp, request, handler, context); + } + + /** + *

Assigns new customization properties to a web app. You can modify the icon + * file, logo file, and title.

See Also:

AWS + * API Reference

+ */ + virtual Model::UpdateWebAppCustomizationOutcome UpdateWebAppCustomization(const Model::UpdateWebAppCustomizationRequest& request) const; + + /** + * A Callable wrapper for UpdateWebAppCustomization that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateWebAppCustomizationOutcomeCallable UpdateWebAppCustomizationCallable(const UpdateWebAppCustomizationRequestT& request) const + { + return SubmitCallable(&TransferClient::UpdateWebAppCustomization, request); + } + + /** + * An Async wrapper for UpdateWebAppCustomization that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateWebAppCustomizationAsync(const UpdateWebAppCustomizationRequestT& request, const UpdateWebAppCustomizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&TransferClient::UpdateWebAppCustomization, request, handler, context); + } + void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferServiceClientModel.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferServiceClientModel.h index 29d05c09369..c5ba35925ef 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferServiceClientModel.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -35,6 +36,8 @@ #include #include #include +#include +#include #include #include #include @@ -51,6 +54,7 @@ #include #include #include +#include #include #include #include @@ -65,12 +69,15 @@ #include #include #include +#include +#include #include #include #include #include #include #include +#include #include #include /* End of service model headers required in TransferClient header */ @@ -119,6 +126,7 @@ namespace Aws class CreateProfileRequest; class CreateServerRequest; class CreateUserRequest; + class CreateWebAppRequest; class CreateWorkflowRequest; class DeleteAccessRequest; class DeleteAgreementRequest; @@ -129,6 +137,8 @@ namespace Aws class DeleteServerRequest; class DeleteSshPublicKeyRequest; class DeleteUserRequest; + class DeleteWebAppRequest; + class DeleteWebAppCustomizationRequest; class DeleteWorkflowRequest; class DescribeAccessRequest; class DescribeAgreementRequest; @@ -140,6 +150,8 @@ namespace Aws class DescribeSecurityPolicyRequest; class DescribeServerRequest; class DescribeUserRequest; + class DescribeWebAppRequest; + class DescribeWebAppCustomizationRequest; class DescribeWorkflowRequest; class ImportCertificateRequest; class ImportHostKeyRequest; @@ -156,6 +168,7 @@ namespace Aws class ListServersRequest; class ListTagsForResourceRequest; class ListUsersRequest; + class ListWebAppsRequest; class ListWorkflowsRequest; class SendWorkflowStepStateRequest; class StartDirectoryListingRequest; @@ -174,6 +187,8 @@ namespace Aws class UpdateProfileRequest; class UpdateServerRequest; class UpdateUserRequest; + class UpdateWebAppRequest; + class UpdateWebAppCustomizationRequest; /* End of service model forward declarations required in TransferClient header */ /* Service model Outcome class definitions */ @@ -183,6 +198,7 @@ namespace Aws typedef Aws::Utils::Outcome CreateProfileOutcome; typedef Aws::Utils::Outcome CreateServerOutcome; typedef Aws::Utils::Outcome CreateUserOutcome; + typedef Aws::Utils::Outcome CreateWebAppOutcome; typedef Aws::Utils::Outcome CreateWorkflowOutcome; typedef Aws::Utils::Outcome DeleteAccessOutcome; typedef Aws::Utils::Outcome DeleteAgreementOutcome; @@ -193,6 +209,8 @@ namespace Aws typedef Aws::Utils::Outcome DeleteServerOutcome; typedef Aws::Utils::Outcome DeleteSshPublicKeyOutcome; typedef Aws::Utils::Outcome DeleteUserOutcome; + typedef Aws::Utils::Outcome DeleteWebAppOutcome; + typedef Aws::Utils::Outcome DeleteWebAppCustomizationOutcome; typedef Aws::Utils::Outcome DeleteWorkflowOutcome; typedef Aws::Utils::Outcome DescribeAccessOutcome; typedef Aws::Utils::Outcome DescribeAgreementOutcome; @@ -204,6 +222,8 @@ namespace Aws typedef Aws::Utils::Outcome DescribeSecurityPolicyOutcome; typedef Aws::Utils::Outcome DescribeServerOutcome; typedef Aws::Utils::Outcome DescribeUserOutcome; + typedef Aws::Utils::Outcome DescribeWebAppOutcome; + typedef Aws::Utils::Outcome DescribeWebAppCustomizationOutcome; typedef Aws::Utils::Outcome DescribeWorkflowOutcome; typedef Aws::Utils::Outcome ImportCertificateOutcome; typedef Aws::Utils::Outcome ImportHostKeyOutcome; @@ -220,6 +240,7 @@ namespace Aws typedef Aws::Utils::Outcome ListServersOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListUsersOutcome; + typedef Aws::Utils::Outcome ListWebAppsOutcome; typedef Aws::Utils::Outcome ListWorkflowsOutcome; typedef Aws::Utils::Outcome SendWorkflowStepStateOutcome; typedef Aws::Utils::Outcome StartDirectoryListingOutcome; @@ -238,6 +259,8 @@ namespace Aws typedef Aws::Utils::Outcome UpdateProfileOutcome; typedef Aws::Utils::Outcome UpdateServerOutcome; typedef Aws::Utils::Outcome UpdateUserOutcome; + typedef Aws::Utils::Outcome UpdateWebAppOutcome; + typedef Aws::Utils::Outcome UpdateWebAppCustomizationOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ @@ -247,6 +270,7 @@ namespace Aws typedef std::future CreateProfileOutcomeCallable; typedef std::future CreateServerOutcomeCallable; typedef std::future CreateUserOutcomeCallable; + typedef std::future CreateWebAppOutcomeCallable; typedef std::future CreateWorkflowOutcomeCallable; typedef std::future DeleteAccessOutcomeCallable; typedef std::future DeleteAgreementOutcomeCallable; @@ -257,6 +281,8 @@ namespace Aws typedef std::future DeleteServerOutcomeCallable; typedef std::future DeleteSshPublicKeyOutcomeCallable; typedef std::future DeleteUserOutcomeCallable; + typedef std::future DeleteWebAppOutcomeCallable; + typedef std::future DeleteWebAppCustomizationOutcomeCallable; typedef std::future DeleteWorkflowOutcomeCallable; typedef std::future DescribeAccessOutcomeCallable; typedef std::future DescribeAgreementOutcomeCallable; @@ -268,6 +294,8 @@ namespace Aws typedef std::future DescribeSecurityPolicyOutcomeCallable; typedef std::future DescribeServerOutcomeCallable; typedef std::future DescribeUserOutcomeCallable; + typedef std::future DescribeWebAppOutcomeCallable; + typedef std::future DescribeWebAppCustomizationOutcomeCallable; typedef std::future DescribeWorkflowOutcomeCallable; typedef std::future ImportCertificateOutcomeCallable; typedef std::future ImportHostKeyOutcomeCallable; @@ -284,6 +312,7 @@ namespace Aws typedef std::future ListServersOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListUsersOutcomeCallable; + typedef std::future ListWebAppsOutcomeCallable; typedef std::future ListWorkflowsOutcomeCallable; typedef std::future SendWorkflowStepStateOutcomeCallable; typedef std::future StartDirectoryListingOutcomeCallable; @@ -302,6 +331,8 @@ namespace Aws typedef std::future UpdateProfileOutcomeCallable; typedef std::future UpdateServerOutcomeCallable; typedef std::future UpdateUserOutcomeCallable; + typedef std::future UpdateWebAppOutcomeCallable; + typedef std::future UpdateWebAppCustomizationOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model @@ -314,6 +345,7 @@ namespace Aws typedef std::function&) > CreateProfileResponseReceivedHandler; typedef std::function&) > CreateServerResponseReceivedHandler; typedef std::function&) > CreateUserResponseReceivedHandler; + typedef std::function&) > CreateWebAppResponseReceivedHandler; typedef std::function&) > CreateWorkflowResponseReceivedHandler; typedef std::function&) > DeleteAccessResponseReceivedHandler; typedef std::function&) > DeleteAgreementResponseReceivedHandler; @@ -324,6 +356,8 @@ namespace Aws typedef std::function&) > DeleteServerResponseReceivedHandler; typedef std::function&) > DeleteSshPublicKeyResponseReceivedHandler; typedef std::function&) > DeleteUserResponseReceivedHandler; + typedef std::function&) > DeleteWebAppResponseReceivedHandler; + typedef std::function&) > DeleteWebAppCustomizationResponseReceivedHandler; typedef std::function&) > DeleteWorkflowResponseReceivedHandler; typedef std::function&) > DescribeAccessResponseReceivedHandler; typedef std::function&) > DescribeAgreementResponseReceivedHandler; @@ -335,6 +369,8 @@ namespace Aws typedef std::function&) > DescribeSecurityPolicyResponseReceivedHandler; typedef std::function&) > DescribeServerResponseReceivedHandler; typedef std::function&) > DescribeUserResponseReceivedHandler; + typedef std::function&) > DescribeWebAppResponseReceivedHandler; + typedef std::function&) > DescribeWebAppCustomizationResponseReceivedHandler; typedef std::function&) > DescribeWorkflowResponseReceivedHandler; typedef std::function&) > ImportCertificateResponseReceivedHandler; typedef std::function&) > ImportHostKeyResponseReceivedHandler; @@ -351,6 +387,7 @@ namespace Aws typedef std::function&) > ListServersResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListUsersResponseReceivedHandler; + typedef std::function&) > ListWebAppsResponseReceivedHandler; typedef std::function&) > ListWorkflowsResponseReceivedHandler; typedef std::function&) > SendWorkflowStepStateResponseReceivedHandler; typedef std::function&) > StartDirectoryListingResponseReceivedHandler; @@ -369,6 +406,8 @@ namespace Aws typedef std::function&) > UpdateProfileResponseReceivedHandler; typedef std::function&) > UpdateServerResponseReceivedHandler; typedef std::function&) > UpdateUserResponseReceivedHandler; + typedef std::function&) > UpdateWebAppResponseReceivedHandler; + typedef std::function&) > UpdateWebAppCustomizationResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace Transfer } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateServerRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateServerRequest.h index 9c929009ddd..daec7b34e8f 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateServerRequest.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateServerRequest.h @@ -178,8 +178,8 @@ namespace Model * AWS_DIRECTORY_SERVICE, Amazon Web Services_LAMBDA or * API_GATEWAY. Accepts an array containing all of the information * required to use a directory in AWS_DIRECTORY_SERVICE or invoke a - * customer-supplied authentication API, including the API Gateway URL. Not - * required when IdentityProviderType is set to + * customer-supplied authentication API, including the API Gateway URL. Cannot be + * specified when IdentityProviderType is set to * SERVICE_MANAGED.

*/ inline const IdentityProviderDetails& GetIdentityProviderDetails() const{ return m_identityProviderDetails; } diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateWebAppRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateWebAppRequest.h new file mode 100644 index 00000000000..0d4b6c1bb06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateWebAppRequest.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + + /** + */ + class CreateWebAppRequest : public TransferRequest + { + public: + AWS_TRANSFER_API CreateWebAppRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateWebApp"; } + + AWS_TRANSFER_API Aws::String SerializePayload() const override; + + AWS_TRANSFER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

You can provide a structure that contains the details for the identity + * provider to use with your web app.

+ */ + inline const WebAppIdentityProviderDetails& GetIdentityProviderDetails() const{ return m_identityProviderDetails; } + inline bool IdentityProviderDetailsHasBeenSet() const { return m_identityProviderDetailsHasBeenSet; } + inline void SetIdentityProviderDetails(const WebAppIdentityProviderDetails& value) { m_identityProviderDetailsHasBeenSet = true; m_identityProviderDetails = value; } + inline void SetIdentityProviderDetails(WebAppIdentityProviderDetails&& value) { m_identityProviderDetailsHasBeenSet = true; m_identityProviderDetails = std::move(value); } + inline CreateWebAppRequest& WithIdentityProviderDetails(const WebAppIdentityProviderDetails& value) { SetIdentityProviderDetails(value); return *this;} + inline CreateWebAppRequest& WithIdentityProviderDetails(WebAppIdentityProviderDetails&& value) { SetIdentityProviderDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The AccessEndpoint is the URL that you provide to your users for + * them to interact with the Transfer Family web app. You can specify a custom URL + * or use the default value.

+ */ + inline const Aws::String& GetAccessEndpoint() const{ return m_accessEndpoint; } + inline bool AccessEndpointHasBeenSet() const { return m_accessEndpointHasBeenSet; } + inline void SetAccessEndpoint(const Aws::String& value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint = value; } + inline void SetAccessEndpoint(Aws::String&& value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint = std::move(value); } + inline void SetAccessEndpoint(const char* value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint.assign(value); } + inline CreateWebAppRequest& WithAccessEndpoint(const Aws::String& value) { SetAccessEndpoint(value); return *this;} + inline CreateWebAppRequest& WithAccessEndpoint(Aws::String&& value) { SetAccessEndpoint(std::move(value)); return *this;} + inline CreateWebAppRequest& WithAccessEndpoint(const char* value) { SetAccessEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

A union that contains the value for number of concurrent connections or the + * user sessions on your web app.

+ */ + inline const WebAppUnits& GetWebAppUnits() const{ return m_webAppUnits; } + inline bool WebAppUnitsHasBeenSet() const { return m_webAppUnitsHasBeenSet; } + inline void SetWebAppUnits(const WebAppUnits& value) { m_webAppUnitsHasBeenSet = true; m_webAppUnits = value; } + inline void SetWebAppUnits(WebAppUnits&& value) { m_webAppUnitsHasBeenSet = true; m_webAppUnits = std::move(value); } + inline CreateWebAppRequest& WithWebAppUnits(const WebAppUnits& value) { SetWebAppUnits(value); return *this;} + inline CreateWebAppRequest& WithWebAppUnits(WebAppUnits&& value) { SetWebAppUnits(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Key-value pairs that can be used to group and search for web apps.

+ */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateWebAppRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + inline CreateWebAppRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + inline CreateWebAppRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + inline CreateWebAppRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + ///@} + private: + + WebAppIdentityProviderDetails m_identityProviderDetails; + bool m_identityProviderDetailsHasBeenSet = false; + + Aws::String m_accessEndpoint; + bool m_accessEndpointHasBeenSet = false; + + WebAppUnits m_webAppUnits; + bool m_webAppUnitsHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateWebAppResult.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateWebAppResult.h new file mode 100644 index 00000000000..99d09140ba4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateWebAppResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + class CreateWebAppResult + { + public: + AWS_TRANSFER_API CreateWebAppResult(); + AWS_TRANSFER_API CreateWebAppResult(const Aws::AmazonWebServiceResult& result); + AWS_TRANSFER_API CreateWebAppResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

Returns a unique identifier for the web app.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline void SetWebAppId(const Aws::String& value) { m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppId.assign(value); } + inline CreateWebAppResult& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline CreateWebAppResult& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline CreateWebAppResult& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateWebAppResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateWebAppResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateWebAppResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_webAppId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DeleteWebAppCustomizationRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DeleteWebAppCustomizationRequest.h new file mode 100644 index 00000000000..94f1e5495cf --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DeleteWebAppCustomizationRequest.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + + /** + */ + class DeleteWebAppCustomizationRequest : public TransferRequest + { + public: + AWS_TRANSFER_API DeleteWebAppCustomizationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteWebAppCustomization"; } + + AWS_TRANSFER_API Aws::String SerializePayload() const override; + + AWS_TRANSFER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

Provide the unique identifier for the web app that contains the + * customizations that you are deleting.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline bool WebAppIdHasBeenSet() const { return m_webAppIdHasBeenSet; } + inline void SetWebAppId(const Aws::String& value) { m_webAppIdHasBeenSet = true; m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppIdHasBeenSet = true; m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppIdHasBeenSet = true; m_webAppId.assign(value); } + inline DeleteWebAppCustomizationRequest& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline DeleteWebAppCustomizationRequest& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline DeleteWebAppCustomizationRequest& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + private: + + Aws::String m_webAppId; + bool m_webAppIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DeleteWebAppRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DeleteWebAppRequest.h new file mode 100644 index 00000000000..e1c6af2e038 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DeleteWebAppRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + + /** + */ + class DeleteWebAppRequest : public TransferRequest + { + public: + AWS_TRANSFER_API DeleteWebAppRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteWebApp"; } + + AWS_TRANSFER_API Aws::String SerializePayload() const override; + + AWS_TRANSFER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

Provide the unique identifier for the web app that you are deleting.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline bool WebAppIdHasBeenSet() const { return m_webAppIdHasBeenSet; } + inline void SetWebAppId(const Aws::String& value) { m_webAppIdHasBeenSet = true; m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppIdHasBeenSet = true; m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppIdHasBeenSet = true; m_webAppId.assign(value); } + inline DeleteWebAppRequest& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline DeleteWebAppRequest& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline DeleteWebAppRequest& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + private: + + Aws::String m_webAppId; + bool m_webAppIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppCustomizationRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppCustomizationRequest.h new file mode 100644 index 00000000000..cad058666fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppCustomizationRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + + /** + */ + class DescribeWebAppCustomizationRequest : public TransferRequest + { + public: + AWS_TRANSFER_API DescribeWebAppCustomizationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DescribeWebAppCustomization"; } + + AWS_TRANSFER_API Aws::String SerializePayload() const override; + + AWS_TRANSFER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

Provide the unique identifier for the web app.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline bool WebAppIdHasBeenSet() const { return m_webAppIdHasBeenSet; } + inline void SetWebAppId(const Aws::String& value) { m_webAppIdHasBeenSet = true; m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppIdHasBeenSet = true; m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppIdHasBeenSet = true; m_webAppId.assign(value); } + inline DescribeWebAppCustomizationRequest& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline DescribeWebAppCustomizationRequest& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline DescribeWebAppCustomizationRequest& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + private: + + Aws::String m_webAppId; + bool m_webAppIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppCustomizationResult.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppCustomizationResult.h new file mode 100644 index 00000000000..29307d6ef9f --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppCustomizationResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + class DescribeWebAppCustomizationResult + { + public: + AWS_TRANSFER_API DescribeWebAppCustomizationResult(); + AWS_TRANSFER_API DescribeWebAppCustomizationResult(const Aws::AmazonWebServiceResult& result); + AWS_TRANSFER_API DescribeWebAppCustomizationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

Returns a structure that contains the details of the web app + * customizations.

+ */ + inline const DescribedWebAppCustomization& GetWebAppCustomization() const{ return m_webAppCustomization; } + inline void SetWebAppCustomization(const DescribedWebAppCustomization& value) { m_webAppCustomization = value; } + inline void SetWebAppCustomization(DescribedWebAppCustomization&& value) { m_webAppCustomization = std::move(value); } + inline DescribeWebAppCustomizationResult& WithWebAppCustomization(const DescribedWebAppCustomization& value) { SetWebAppCustomization(value); return *this;} + inline DescribeWebAppCustomizationResult& WithWebAppCustomization(DescribedWebAppCustomization&& value) { SetWebAppCustomization(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DescribeWebAppCustomizationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DescribeWebAppCustomizationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DescribeWebAppCustomizationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + DescribedWebAppCustomization m_webAppCustomization; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppRequest.h new file mode 100644 index 00000000000..15ad90638b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + + /** + */ + class DescribeWebAppRequest : public TransferRequest + { + public: + AWS_TRANSFER_API DescribeWebAppRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DescribeWebApp"; } + + AWS_TRANSFER_API Aws::String SerializePayload() const override; + + AWS_TRANSFER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

Provide the unique identifier for the web app.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline bool WebAppIdHasBeenSet() const { return m_webAppIdHasBeenSet; } + inline void SetWebAppId(const Aws::String& value) { m_webAppIdHasBeenSet = true; m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppIdHasBeenSet = true; m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppIdHasBeenSet = true; m_webAppId.assign(value); } + inline DescribeWebAppRequest& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline DescribeWebAppRequest& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline DescribeWebAppRequest& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + private: + + Aws::String m_webAppId; + bool m_webAppIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppResult.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppResult.h new file mode 100644 index 00000000000..ad78b49a440 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribeWebAppResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + class DescribeWebAppResult + { + public: + AWS_TRANSFER_API DescribeWebAppResult(); + AWS_TRANSFER_API DescribeWebAppResult(const Aws::AmazonWebServiceResult& result); + AWS_TRANSFER_API DescribeWebAppResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

Returns a structure that contains the details of the web app.

+ */ + inline const DescribedWebApp& GetWebApp() const{ return m_webApp; } + inline void SetWebApp(const DescribedWebApp& value) { m_webApp = value; } + inline void SetWebApp(DescribedWebApp&& value) { m_webApp = std::move(value); } + inline DescribeWebAppResult& WithWebApp(const DescribedWebApp& value) { SetWebApp(value); return *this;} + inline DescribeWebAppResult& WithWebApp(DescribedWebApp&& value) { SetWebApp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DescribeWebAppResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DescribeWebAppResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DescribeWebAppResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + DescribedWebApp m_webApp; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedIdentityCenterConfig.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedIdentityCenterConfig.h new file mode 100644 index 00000000000..6e66ad8ca28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedIdentityCenterConfig.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + + /** + *

A structure that contains the details of the IAM Identity Center used for + * your web app. Returned during a call to + * DescribeWebApp.

See Also:

AWS + * API Reference

+ */ + class DescribedIdentityCenterConfig + { + public: + AWS_TRANSFER_API DescribedIdentityCenterConfig(); + AWS_TRANSFER_API DescribedIdentityCenterConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API DescribedIdentityCenterConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The Amazon Resource Name (ARN) for the IAM Identity Center application: this + * value is set automatically when you create your web app.

+ */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + inline bool ApplicationArnHasBeenSet() const { return m_applicationArnHasBeenSet; } + inline void SetApplicationArn(const Aws::String& value) { m_applicationArnHasBeenSet = true; m_applicationArn = value; } + inline void SetApplicationArn(Aws::String&& value) { m_applicationArnHasBeenSet = true; m_applicationArn = std::move(value); } + inline void SetApplicationArn(const char* value) { m_applicationArnHasBeenSet = true; m_applicationArn.assign(value); } + inline DescribedIdentityCenterConfig& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + inline DescribedIdentityCenterConfig& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + inline DescribedIdentityCenterConfig& WithApplicationArn(const char* value) { SetApplicationArn(value); return *this;} + ///@} + + ///@{ + /** + *

The Amazon Resource Name (ARN) for the IAM Identity Center used for the web + * app.

+ */ + inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; } + inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } + inline void SetInstanceArn(const Aws::String& value) { m_instanceArnHasBeenSet = true; m_instanceArn = value; } + inline void SetInstanceArn(Aws::String&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::move(value); } + inline void SetInstanceArn(const char* value) { m_instanceArnHasBeenSet = true; m_instanceArn.assign(value); } + inline DescribedIdentityCenterConfig& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;} + inline DescribedIdentityCenterConfig& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;} + inline DescribedIdentityCenterConfig& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

The IAM role in IAM Identity Center used for the web app.

+ */ + inline const Aws::String& GetRole() const{ return m_role; } + inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } + inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } + inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } + inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } + inline DescribedIdentityCenterConfig& WithRole(const Aws::String& value) { SetRole(value); return *this;} + inline DescribedIdentityCenterConfig& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} + inline DescribedIdentityCenterConfig& WithRole(const char* value) { SetRole(value); return *this;} + ///@} + private: + + Aws::String m_applicationArn; + bool m_applicationArnHasBeenSet = false; + + Aws::String m_instanceArn; + bool m_instanceArnHasBeenSet = false; + + Aws::String m_role; + bool m_roleHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebApp.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebApp.h new file mode 100644 index 00000000000..0d45bb4233d --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebApp.h @@ -0,0 +1,171 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + + /** + *

A structure that describes the parameters for the web app, as identified by + * the WebAppId.

See Also:

AWS + * API Reference

+ */ + class DescribedWebApp + { + public: + AWS_TRANSFER_API DescribedWebApp(); + AWS_TRANSFER_API DescribedWebApp(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API DescribedWebApp& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The Amazon Resource Name (ARN) of the web app.

+ */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline DescribedWebApp& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline DescribedWebApp& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline DescribedWebApp& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

The unique identifier for the web app.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline bool WebAppIdHasBeenSet() const { return m_webAppIdHasBeenSet; } + inline void SetWebAppId(const Aws::String& value) { m_webAppIdHasBeenSet = true; m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppIdHasBeenSet = true; m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppIdHasBeenSet = true; m_webAppId.assign(value); } + inline DescribedWebApp& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline DescribedWebApp& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline DescribedWebApp& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + + ///@{ + /** + *

A structure that contains the details for the identity provider used by the + * web app.

+ */ + inline const DescribedWebAppIdentityProviderDetails& GetDescribedIdentityProviderDetails() const{ return m_describedIdentityProviderDetails; } + inline bool DescribedIdentityProviderDetailsHasBeenSet() const { return m_describedIdentityProviderDetailsHasBeenSet; } + inline void SetDescribedIdentityProviderDetails(const DescribedWebAppIdentityProviderDetails& value) { m_describedIdentityProviderDetailsHasBeenSet = true; m_describedIdentityProviderDetails = value; } + inline void SetDescribedIdentityProviderDetails(DescribedWebAppIdentityProviderDetails&& value) { m_describedIdentityProviderDetailsHasBeenSet = true; m_describedIdentityProviderDetails = std::move(value); } + inline DescribedWebApp& WithDescribedIdentityProviderDetails(const DescribedWebAppIdentityProviderDetails& value) { SetDescribedIdentityProviderDetails(value); return *this;} + inline DescribedWebApp& WithDescribedIdentityProviderDetails(DescribedWebAppIdentityProviderDetails&& value) { SetDescribedIdentityProviderDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The AccessEndpoint is the URL that you provide to your users for + * them to interact with the Transfer Family web app. You can specify a custom URL + * or use the default value.

+ */ + inline const Aws::String& GetAccessEndpoint() const{ return m_accessEndpoint; } + inline bool AccessEndpointHasBeenSet() const { return m_accessEndpointHasBeenSet; } + inline void SetAccessEndpoint(const Aws::String& value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint = value; } + inline void SetAccessEndpoint(Aws::String&& value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint = std::move(value); } + inline void SetAccessEndpoint(const char* value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint.assign(value); } + inline DescribedWebApp& WithAccessEndpoint(const Aws::String& value) { SetAccessEndpoint(value); return *this;} + inline DescribedWebApp& WithAccessEndpoint(Aws::String&& value) { SetAccessEndpoint(std::move(value)); return *this;} + inline DescribedWebApp& WithAccessEndpoint(const char* value) { SetAccessEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

The WebAppEndpoint is the unique URL for your Transfer Family + * web app. This is the value that you use when you configure Origins on + * CloudFront.

+ */ + inline const Aws::String& GetWebAppEndpoint() const{ return m_webAppEndpoint; } + inline bool WebAppEndpointHasBeenSet() const { return m_webAppEndpointHasBeenSet; } + inline void SetWebAppEndpoint(const Aws::String& value) { m_webAppEndpointHasBeenSet = true; m_webAppEndpoint = value; } + inline void SetWebAppEndpoint(Aws::String&& value) { m_webAppEndpointHasBeenSet = true; m_webAppEndpoint = std::move(value); } + inline void SetWebAppEndpoint(const char* value) { m_webAppEndpointHasBeenSet = true; m_webAppEndpoint.assign(value); } + inline DescribedWebApp& WithWebAppEndpoint(const Aws::String& value) { SetWebAppEndpoint(value); return *this;} + inline DescribedWebApp& WithWebAppEndpoint(Aws::String&& value) { SetWebAppEndpoint(std::move(value)); return *this;} + inline DescribedWebApp& WithWebAppEndpoint(const char* value) { SetWebAppEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

A union that contains the value for number of concurrent connections or the + * user sessions on your web app.

+ */ + inline const WebAppUnits& GetWebAppUnits() const{ return m_webAppUnits; } + inline bool WebAppUnitsHasBeenSet() const { return m_webAppUnitsHasBeenSet; } + inline void SetWebAppUnits(const WebAppUnits& value) { m_webAppUnitsHasBeenSet = true; m_webAppUnits = value; } + inline void SetWebAppUnits(WebAppUnits&& value) { m_webAppUnitsHasBeenSet = true; m_webAppUnits = std::move(value); } + inline DescribedWebApp& WithWebAppUnits(const WebAppUnits& value) { SetWebAppUnits(value); return *this;} + inline DescribedWebApp& WithWebAppUnits(WebAppUnits&& value) { SetWebAppUnits(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Key-value pairs that can be used to group and search for web apps. Tags are + * metadata attached to web apps for any purpose.

+ */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline DescribedWebApp& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + inline DescribedWebApp& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + inline DescribedWebApp& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + inline DescribedWebApp& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_webAppId; + bool m_webAppIdHasBeenSet = false; + + DescribedWebAppIdentityProviderDetails m_describedIdentityProviderDetails; + bool m_describedIdentityProviderDetailsHasBeenSet = false; + + Aws::String m_accessEndpoint; + bool m_accessEndpointHasBeenSet = false; + + Aws::String m_webAppEndpoint; + bool m_webAppEndpointHasBeenSet = false; + + WebAppUnits m_webAppUnits; + bool m_webAppUnitsHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebAppCustomization.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebAppCustomization.h new file mode 100644 index 00000000000..e63c07e17dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebAppCustomization.h @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + + /** + *

A structure that contains the customization fields for the web app. You can + * provide a title, logo, and icon to customize the appearance of your web + * app.

See Also:

AWS + * API Reference

+ */ + class DescribedWebAppCustomization + { + public: + AWS_TRANSFER_API DescribedWebAppCustomization(); + AWS_TRANSFER_API DescribedWebAppCustomization(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API DescribedWebAppCustomization& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Returns the Amazon Resource Name (ARN) for the web app.

+ */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline DescribedWebAppCustomization& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline DescribedWebAppCustomization& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline DescribedWebAppCustomization& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

Returns the unique identifier for your web app.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline bool WebAppIdHasBeenSet() const { return m_webAppIdHasBeenSet; } + inline void SetWebAppId(const Aws::String& value) { m_webAppIdHasBeenSet = true; m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppIdHasBeenSet = true; m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppIdHasBeenSet = true; m_webAppId.assign(value); } + inline DescribedWebAppCustomization& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline DescribedWebAppCustomization& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline DescribedWebAppCustomization& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + + ///@{ + /** + *

Returns the page title that you defined for your web app.

+ */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline DescribedWebAppCustomization& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline DescribedWebAppCustomization& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline DescribedWebAppCustomization& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

Returns a logo file data string (in base64 encoding).

+ */ + inline const Aws::Utils::CryptoBuffer& GetLogoFile() const{ return m_logoFile; } + inline bool LogoFileHasBeenSet() const { return m_logoFileHasBeenSet; } + inline void SetLogoFile(const Aws::Utils::CryptoBuffer& value) { m_logoFileHasBeenSet = true; m_logoFile = value; } + inline void SetLogoFile(Aws::Utils::CryptoBuffer&& value) { m_logoFileHasBeenSet = true; m_logoFile = std::move(value); } + inline DescribedWebAppCustomization& WithLogoFile(const Aws::Utils::CryptoBuffer& value) { SetLogoFile(value); return *this;} + inline DescribedWebAppCustomization& WithLogoFile(Aws::Utils::CryptoBuffer&& value) { SetLogoFile(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Returns a icon file data string (in base64 encoding).

+ */ + inline const Aws::Utils::CryptoBuffer& GetFaviconFile() const{ return m_faviconFile; } + inline bool FaviconFileHasBeenSet() const { return m_faviconFileHasBeenSet; } + inline void SetFaviconFile(const Aws::Utils::CryptoBuffer& value) { m_faviconFileHasBeenSet = true; m_faviconFile = value; } + inline void SetFaviconFile(Aws::Utils::CryptoBuffer&& value) { m_faviconFileHasBeenSet = true; m_faviconFile = std::move(value); } + inline DescribedWebAppCustomization& WithFaviconFile(const Aws::Utils::CryptoBuffer& value) { SetFaviconFile(value); return *this;} + inline DescribedWebAppCustomization& WithFaviconFile(Aws::Utils::CryptoBuffer&& value) { SetFaviconFile(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_webAppId; + bool m_webAppIdHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Aws::Utils::CryptoBuffer m_logoFile; + bool m_logoFileHasBeenSet = false; + + Aws::Utils::CryptoBuffer m_faviconFile; + bool m_faviconFileHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebAppIdentityProviderDetails.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebAppIdentityProviderDetails.h new file mode 100644 index 00000000000..6d8c1908c14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedWebAppIdentityProviderDetails.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + + /** + *

Returns a structure that contains the identity provider details for your web + * app.

See Also:

AWS + * API Reference

+ */ + class DescribedWebAppIdentityProviderDetails + { + public: + AWS_TRANSFER_API DescribedWebAppIdentityProviderDetails(); + AWS_TRANSFER_API DescribedWebAppIdentityProviderDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API DescribedWebAppIdentityProviderDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Returns a structure for your identity provider details. This structure + * contains the instance ARN and role being used for the web app.

+ */ + inline const DescribedIdentityCenterConfig& GetIdentityCenterConfig() const{ return m_identityCenterConfig; } + inline bool IdentityCenterConfigHasBeenSet() const { return m_identityCenterConfigHasBeenSet; } + inline void SetIdentityCenterConfig(const DescribedIdentityCenterConfig& value) { m_identityCenterConfigHasBeenSet = true; m_identityCenterConfig = value; } + inline void SetIdentityCenterConfig(DescribedIdentityCenterConfig&& value) { m_identityCenterConfigHasBeenSet = true; m_identityCenterConfig = std::move(value); } + inline DescribedWebAppIdentityProviderDetails& WithIdentityCenterConfig(const DescribedIdentityCenterConfig& value) { SetIdentityCenterConfig(value); return *this;} + inline DescribedWebAppIdentityProviderDetails& WithIdentityCenterConfig(DescribedIdentityCenterConfig&& value) { SetIdentityCenterConfig(std::move(value)); return *this;} + ///@} + private: + + DescribedIdentityCenterConfig m_identityCenterConfig; + bool m_identityCenterConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/IdentityCenterConfig.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/IdentityCenterConfig.h new file mode 100644 index 00000000000..2ec3c98f6a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/IdentityCenterConfig.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + + /** + *

A structure that describes the values to use for the IAM Identity Center + * settings when you create or update a web app.

See Also:

AWS + * API Reference

+ */ + class IdentityCenterConfig + { + public: + AWS_TRANSFER_API IdentityCenterConfig(); + AWS_TRANSFER_API IdentityCenterConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API IdentityCenterConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The Amazon Resource Name (ARN) for the IAM Identity Center used for the web + * app.

+ */ + inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; } + inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } + inline void SetInstanceArn(const Aws::String& value) { m_instanceArnHasBeenSet = true; m_instanceArn = value; } + inline void SetInstanceArn(Aws::String&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::move(value); } + inline void SetInstanceArn(const char* value) { m_instanceArnHasBeenSet = true; m_instanceArn.assign(value); } + inline IdentityCenterConfig& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;} + inline IdentityCenterConfig& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;} + inline IdentityCenterConfig& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

The IAM role in IAM Identity Center used for the web app.

+ */ + inline const Aws::String& GetRole() const{ return m_role; } + inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } + inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } + inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } + inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } + inline IdentityCenterConfig& WithRole(const Aws::String& value) { SetRole(value); return *this;} + inline IdentityCenterConfig& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} + inline IdentityCenterConfig& WithRole(const char* value) { SetRole(value); return *this;} + ///@} + private: + + Aws::String m_instanceArn; + bool m_instanceArnHasBeenSet = false; + + Aws::String m_role; + bool m_roleHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListAccessesRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListAccessesRequest.h index 52fcee7d1b2..2a91d209f00 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListAccessesRequest.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListAccessesRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

Specifies the maximum number of access SIDs to return.

+ *

The maximum number of items to return.

*/ inline int GetMaxResults() const{ return m_maxResults; } inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListAgreementsRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListAgreementsRequest.h index 125096ad7dd..ac2928ce82e 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListAgreementsRequest.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListAgreementsRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

The maximum number of agreements to return.

+ *

The maximum number of items to return.

*/ inline int GetMaxResults() const{ return m_maxResults; } inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListCertificatesRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListCertificatesRequest.h index 33af9d2b00e..fd981b032f7 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListCertificatesRequest.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListCertificatesRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

The maximum number of certificates to return.

+ *

The maximum number of items to return.

*/ inline int GetMaxResults() const{ return m_maxResults; } inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListConnectorsRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListConnectorsRequest.h index 82fc67bd62c..d2d760d2b7a 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListConnectorsRequest.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListConnectorsRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

The maximum number of connectors to return.

+ *

The maximum number of items to return.

*/ inline int GetMaxResults() const{ return m_maxResults; } inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListExecutionsRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListExecutionsRequest.h index d8c9f3f8f64..21ebb5dabd2 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListExecutionsRequest.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListExecutionsRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

Specifies the maximum number of executions to return.

+ *

The maximum number of items to return.

*/ inline int GetMaxResults() const{ return m_maxResults; } inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListHostKeysRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListHostKeysRequest.h index 90eb22d8fde..e005c9471c8 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListHostKeysRequest.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListHostKeysRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

The maximum number of host keys to return.

+ *

The maximum number of items to return.

*/ inline int GetMaxResults() const{ return m_maxResults; } inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListProfilesRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListProfilesRequest.h index 0b07598b55a..dc21e701052 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListProfilesRequest.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListProfilesRequest.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** - *

The maximum number of profiles to return.

+ *

The maximum number of items to return.

*/ inline int GetMaxResults() const{ return m_maxResults; } inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWebAppsRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWebAppsRequest.h new file mode 100644 index 00000000000..5d74f8dc7b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWebAppsRequest.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + + /** + */ + class ListWebAppsRequest : public TransferRequest + { + public: + AWS_TRANSFER_API ListWebAppsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListWebApps"; } + + AWS_TRANSFER_API Aws::String SerializePayload() const override; + + AWS_TRANSFER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

The maximum number of items to return.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListWebAppsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

Returns the NextToken parameter in the output. You can then pass + * the NextToken parameter in a subsequent command to continue listing + * additional web apps.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListWebAppsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListWebAppsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListWebAppsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWebAppsResult.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWebAppsResult.h new file mode 100644 index 00000000000..3344f516b6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWebAppsResult.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + class ListWebAppsResult + { + public: + AWS_TRANSFER_API ListWebAppsResult(); + AWS_TRANSFER_API ListWebAppsResult(const Aws::AmazonWebServiceResult& result); + AWS_TRANSFER_API ListWebAppsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

Provide this value for the NextToken parameter in a subsequent + * command to continue listing additional web apps.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListWebAppsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListWebAppsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListWebAppsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

Returns, for each listed web app, a structure that contains details for the + * web app.

+ */ + inline const Aws::Vector& GetWebApps() const{ return m_webApps; } + inline void SetWebApps(const Aws::Vector& value) { m_webApps = value; } + inline void SetWebApps(Aws::Vector&& value) { m_webApps = std::move(value); } + inline ListWebAppsResult& WithWebApps(const Aws::Vector& value) { SetWebApps(value); return *this;} + inline ListWebAppsResult& WithWebApps(Aws::Vector&& value) { SetWebApps(std::move(value)); return *this;} + inline ListWebAppsResult& AddWebApps(const ListedWebApp& value) { m_webApps.push_back(value); return *this; } + inline ListWebAppsResult& AddWebApps(ListedWebApp&& value) { m_webApps.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListWebAppsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListWebAppsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListWebAppsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_webApps; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWorkflowsRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWorkflowsRequest.h index bc20d007de2..700b65ae8aa 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWorkflowsRequest.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListWorkflowsRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

Specifies the maximum number of workflows to return.

+ *

The maximum number of items to return.

*/ inline int GetMaxResults() const{ return m_maxResults; } inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListedWebApp.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListedWebApp.h new file mode 100644 index 00000000000..98b08be5a74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/ListedWebApp.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + + /** + *

a structure that contains details for the web app.

See Also:

+ * AWS + * API Reference

+ */ + class ListedWebApp + { + public: + AWS_TRANSFER_API ListedWebApp(); + AWS_TRANSFER_API ListedWebApp(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API ListedWebApp& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The Amazon Resource Name (ARN) for the web app.

+ */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline ListedWebApp& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline ListedWebApp& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline ListedWebApp& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

The unique identifier for the web app.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline bool WebAppIdHasBeenSet() const { return m_webAppIdHasBeenSet; } + inline void SetWebAppId(const Aws::String& value) { m_webAppIdHasBeenSet = true; m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppIdHasBeenSet = true; m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppIdHasBeenSet = true; m_webAppId.assign(value); } + inline ListedWebApp& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline ListedWebApp& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline ListedWebApp& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + + ///@{ + /** + *

The AccessEndpoint is the URL that you provide to your users for + * them to interact with the Transfer Family web app. You can specify a custom URL + * or use the default value.

+ */ + inline const Aws::String& GetAccessEndpoint() const{ return m_accessEndpoint; } + inline bool AccessEndpointHasBeenSet() const { return m_accessEndpointHasBeenSet; } + inline void SetAccessEndpoint(const Aws::String& value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint = value; } + inline void SetAccessEndpoint(Aws::String&& value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint = std::move(value); } + inline void SetAccessEndpoint(const char* value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint.assign(value); } + inline ListedWebApp& WithAccessEndpoint(const Aws::String& value) { SetAccessEndpoint(value); return *this;} + inline ListedWebApp& WithAccessEndpoint(Aws::String&& value) { SetAccessEndpoint(std::move(value)); return *this;} + inline ListedWebApp& WithAccessEndpoint(const char* value) { SetAccessEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

The WebAppEndpoint is the unique URL for your Transfer Family + * web app. This is the value that you use when you configure Origins on + * CloudFront.

+ */ + inline const Aws::String& GetWebAppEndpoint() const{ return m_webAppEndpoint; } + inline bool WebAppEndpointHasBeenSet() const { return m_webAppEndpointHasBeenSet; } + inline void SetWebAppEndpoint(const Aws::String& value) { m_webAppEndpointHasBeenSet = true; m_webAppEndpoint = value; } + inline void SetWebAppEndpoint(Aws::String&& value) { m_webAppEndpointHasBeenSet = true; m_webAppEndpoint = std::move(value); } + inline void SetWebAppEndpoint(const char* value) { m_webAppEndpointHasBeenSet = true; m_webAppEndpoint.assign(value); } + inline ListedWebApp& WithWebAppEndpoint(const Aws::String& value) { SetWebAppEndpoint(value); return *this;} + inline ListedWebApp& WithWebAppEndpoint(Aws::String&& value) { SetWebAppEndpoint(std::move(value)); return *this;} + inline ListedWebApp& WithWebAppEndpoint(const char* value) { SetWebAppEndpoint(value); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_webAppId; + bool m_webAppIdHasBeenSet = false; + + Aws::String m_accessEndpoint; + bool m_accessEndpointHasBeenSet = false; + + Aws::String m_webAppEndpoint; + bool m_webAppEndpointHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppCustomizationRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppCustomizationRequest.h new file mode 100644 index 00000000000..81849d7137a --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppCustomizationRequest.h @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + + /** + */ + class UpdateWebAppCustomizationRequest : public TransferRequest + { + public: + AWS_TRANSFER_API UpdateWebAppCustomizationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateWebAppCustomization"; } + + AWS_TRANSFER_API Aws::String SerializePayload() const override; + + AWS_TRANSFER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

Provide the identifier of the web app that you are updating.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline bool WebAppIdHasBeenSet() const { return m_webAppIdHasBeenSet; } + inline void SetWebAppId(const Aws::String& value) { m_webAppIdHasBeenSet = true; m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppIdHasBeenSet = true; m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppIdHasBeenSet = true; m_webAppId.assign(value); } + inline UpdateWebAppCustomizationRequest& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline UpdateWebAppCustomizationRequest& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline UpdateWebAppCustomizationRequest& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + + ///@{ + /** + *

Provide an updated title.

+ */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline UpdateWebAppCustomizationRequest& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline UpdateWebAppCustomizationRequest& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline UpdateWebAppCustomizationRequest& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

Specify logo file data string (in base64 encoding).

+ */ + inline const Aws::Utils::CryptoBuffer& GetLogoFile() const{ return m_logoFile; } + inline bool LogoFileHasBeenSet() const { return m_logoFileHasBeenSet; } + inline void SetLogoFile(const Aws::Utils::CryptoBuffer& value) { m_logoFileHasBeenSet = true; m_logoFile = value; } + inline void SetLogoFile(Aws::Utils::CryptoBuffer&& value) { m_logoFileHasBeenSet = true; m_logoFile = std::move(value); } + inline UpdateWebAppCustomizationRequest& WithLogoFile(const Aws::Utils::CryptoBuffer& value) { SetLogoFile(value); return *this;} + inline UpdateWebAppCustomizationRequest& WithLogoFile(Aws::Utils::CryptoBuffer&& value) { SetLogoFile(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Specify icon file data string (in base64 encoding).

+ */ + inline const Aws::Utils::CryptoBuffer& GetFaviconFile() const{ return m_faviconFile; } + inline bool FaviconFileHasBeenSet() const { return m_faviconFileHasBeenSet; } + inline void SetFaviconFile(const Aws::Utils::CryptoBuffer& value) { m_faviconFileHasBeenSet = true; m_faviconFile = value; } + inline void SetFaviconFile(Aws::Utils::CryptoBuffer&& value) { m_faviconFileHasBeenSet = true; m_faviconFile = std::move(value); } + inline UpdateWebAppCustomizationRequest& WithFaviconFile(const Aws::Utils::CryptoBuffer& value) { SetFaviconFile(value); return *this;} + inline UpdateWebAppCustomizationRequest& WithFaviconFile(Aws::Utils::CryptoBuffer&& value) { SetFaviconFile(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_webAppId; + bool m_webAppIdHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Aws::Utils::CryptoBuffer m_logoFile; + bool m_logoFileHasBeenSet = false; + + Aws::Utils::CryptoBuffer m_faviconFile; + bool m_faviconFileHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppCustomizationResult.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppCustomizationResult.h new file mode 100644 index 00000000000..df8c5f6b53f --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppCustomizationResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + class UpdateWebAppCustomizationResult + { + public: + AWS_TRANSFER_API UpdateWebAppCustomizationResult(); + AWS_TRANSFER_API UpdateWebAppCustomizationResult(const Aws::AmazonWebServiceResult& result); + AWS_TRANSFER_API UpdateWebAppCustomizationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

Returns the unique identifier for the web app being updated.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline void SetWebAppId(const Aws::String& value) { m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppId.assign(value); } + inline UpdateWebAppCustomizationResult& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline UpdateWebAppCustomizationResult& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline UpdateWebAppCustomizationResult& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateWebAppCustomizationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateWebAppCustomizationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateWebAppCustomizationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_webAppId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppIdentityCenterConfig.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppIdentityCenterConfig.h new file mode 100644 index 00000000000..977da2c3dc3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppIdentityCenterConfig.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + + /** + *

A structure that describes the values to use for the IAM Identity Center + * settings when you update a web app.

See Also:

AWS + * API Reference

+ */ + class UpdateWebAppIdentityCenterConfig + { + public: + AWS_TRANSFER_API UpdateWebAppIdentityCenterConfig(); + AWS_TRANSFER_API UpdateWebAppIdentityCenterConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API UpdateWebAppIdentityCenterConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The IAM role used to access IAM Identity Center.

+ */ + inline const Aws::String& GetRole() const{ return m_role; } + inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } + inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } + inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } + inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } + inline UpdateWebAppIdentityCenterConfig& WithRole(const Aws::String& value) { SetRole(value); return *this;} + inline UpdateWebAppIdentityCenterConfig& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} + inline UpdateWebAppIdentityCenterConfig& WithRole(const char* value) { SetRole(value); return *this;} + ///@} + private: + + Aws::String m_role; + bool m_roleHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppIdentityProviderDetails.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppIdentityProviderDetails.h new file mode 100644 index 00000000000..68b72266e2b --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppIdentityProviderDetails.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + + /** + *

A union that contains the UpdateWebAppIdentityCenterConfig + * object.

See Also:

AWS + * API Reference

+ */ + class UpdateWebAppIdentityProviderDetails + { + public: + AWS_TRANSFER_API UpdateWebAppIdentityProviderDetails(); + AWS_TRANSFER_API UpdateWebAppIdentityProviderDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API UpdateWebAppIdentityProviderDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

A structure that describes the values to use for the IAM Identity Center + * settings when you update a web app.

+ */ + inline const UpdateWebAppIdentityCenterConfig& GetIdentityCenterConfig() const{ return m_identityCenterConfig; } + inline bool IdentityCenterConfigHasBeenSet() const { return m_identityCenterConfigHasBeenSet; } + inline void SetIdentityCenterConfig(const UpdateWebAppIdentityCenterConfig& value) { m_identityCenterConfigHasBeenSet = true; m_identityCenterConfig = value; } + inline void SetIdentityCenterConfig(UpdateWebAppIdentityCenterConfig&& value) { m_identityCenterConfigHasBeenSet = true; m_identityCenterConfig = std::move(value); } + inline UpdateWebAppIdentityProviderDetails& WithIdentityCenterConfig(const UpdateWebAppIdentityCenterConfig& value) { SetIdentityCenterConfig(value); return *this;} + inline UpdateWebAppIdentityProviderDetails& WithIdentityCenterConfig(UpdateWebAppIdentityCenterConfig&& value) { SetIdentityCenterConfig(std::move(value)); return *this;} + ///@} + private: + + UpdateWebAppIdentityCenterConfig m_identityCenterConfig; + bool m_identityCenterConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppRequest.h new file mode 100644 index 00000000000..59135c0dde0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppRequest.h @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + + /** + */ + class UpdateWebAppRequest : public TransferRequest + { + public: + AWS_TRANSFER_API UpdateWebAppRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateWebApp"; } + + AWS_TRANSFER_API Aws::String SerializePayload() const override; + + AWS_TRANSFER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

Provide the identifier of the web app that you are updating.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline bool WebAppIdHasBeenSet() const { return m_webAppIdHasBeenSet; } + inline void SetWebAppId(const Aws::String& value) { m_webAppIdHasBeenSet = true; m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppIdHasBeenSet = true; m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppIdHasBeenSet = true; m_webAppId.assign(value); } + inline UpdateWebAppRequest& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline UpdateWebAppRequest& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline UpdateWebAppRequest& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + + ///@{ + /** + *

Provide updated identity provider values in a + * WebAppIdentityProviderDetails object.

+ */ + inline const UpdateWebAppIdentityProviderDetails& GetIdentityProviderDetails() const{ return m_identityProviderDetails; } + inline bool IdentityProviderDetailsHasBeenSet() const { return m_identityProviderDetailsHasBeenSet; } + inline void SetIdentityProviderDetails(const UpdateWebAppIdentityProviderDetails& value) { m_identityProviderDetailsHasBeenSet = true; m_identityProviderDetails = value; } + inline void SetIdentityProviderDetails(UpdateWebAppIdentityProviderDetails&& value) { m_identityProviderDetailsHasBeenSet = true; m_identityProviderDetails = std::move(value); } + inline UpdateWebAppRequest& WithIdentityProviderDetails(const UpdateWebAppIdentityProviderDetails& value) { SetIdentityProviderDetails(value); return *this;} + inline UpdateWebAppRequest& WithIdentityProviderDetails(UpdateWebAppIdentityProviderDetails&& value) { SetIdentityProviderDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The AccessEndpoint is the URL that you provide to your users for + * them to interact with the Transfer Family web app. You can specify a custom URL + * or use the default value.

+ */ + inline const Aws::String& GetAccessEndpoint() const{ return m_accessEndpoint; } + inline bool AccessEndpointHasBeenSet() const { return m_accessEndpointHasBeenSet; } + inline void SetAccessEndpoint(const Aws::String& value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint = value; } + inline void SetAccessEndpoint(Aws::String&& value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint = std::move(value); } + inline void SetAccessEndpoint(const char* value) { m_accessEndpointHasBeenSet = true; m_accessEndpoint.assign(value); } + inline UpdateWebAppRequest& WithAccessEndpoint(const Aws::String& value) { SetAccessEndpoint(value); return *this;} + inline UpdateWebAppRequest& WithAccessEndpoint(Aws::String&& value) { SetAccessEndpoint(std::move(value)); return *this;} + inline UpdateWebAppRequest& WithAccessEndpoint(const char* value) { SetAccessEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

A union that contains the value for number of concurrent connections or the + * user sessions on your web app.

+ */ + inline const WebAppUnits& GetWebAppUnits() const{ return m_webAppUnits; } + inline bool WebAppUnitsHasBeenSet() const { return m_webAppUnitsHasBeenSet; } + inline void SetWebAppUnits(const WebAppUnits& value) { m_webAppUnitsHasBeenSet = true; m_webAppUnits = value; } + inline void SetWebAppUnits(WebAppUnits&& value) { m_webAppUnitsHasBeenSet = true; m_webAppUnits = std::move(value); } + inline UpdateWebAppRequest& WithWebAppUnits(const WebAppUnits& value) { SetWebAppUnits(value); return *this;} + inline UpdateWebAppRequest& WithWebAppUnits(WebAppUnits&& value) { SetWebAppUnits(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_webAppId; + bool m_webAppIdHasBeenSet = false; + + UpdateWebAppIdentityProviderDetails m_identityProviderDetails; + bool m_identityProviderDetailsHasBeenSet = false; + + Aws::String m_accessEndpoint; + bool m_accessEndpointHasBeenSet = false; + + WebAppUnits m_webAppUnits; + bool m_webAppUnitsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppResult.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppResult.h new file mode 100644 index 00000000000..b204169b998 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateWebAppResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + class UpdateWebAppResult + { + public: + AWS_TRANSFER_API UpdateWebAppResult(); + AWS_TRANSFER_API UpdateWebAppResult(const Aws::AmazonWebServiceResult& result); + AWS_TRANSFER_API UpdateWebAppResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

Returns the unique identifier for the web app being updated.

+ */ + inline const Aws::String& GetWebAppId() const{ return m_webAppId; } + inline void SetWebAppId(const Aws::String& value) { m_webAppId = value; } + inline void SetWebAppId(Aws::String&& value) { m_webAppId = std::move(value); } + inline void SetWebAppId(const char* value) { m_webAppId.assign(value); } + inline UpdateWebAppResult& WithWebAppId(const Aws::String& value) { SetWebAppId(value); return *this;} + inline UpdateWebAppResult& WithWebAppId(Aws::String&& value) { SetWebAppId(std::move(value)); return *this;} + inline UpdateWebAppResult& WithWebAppId(const char* value) { SetWebAppId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateWebAppResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateWebAppResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateWebAppResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_webAppId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/WebAppIdentityProviderDetails.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/WebAppIdentityProviderDetails.h new file mode 100644 index 00000000000..d2f7b939444 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/WebAppIdentityProviderDetails.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + + /** + *

A union that contains the IdentityCenterConfig + * object.

See Also:

AWS + * API Reference

+ */ + class WebAppIdentityProviderDetails + { + public: + AWS_TRANSFER_API WebAppIdentityProviderDetails(); + AWS_TRANSFER_API WebAppIdentityProviderDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API WebAppIdentityProviderDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

A structure that describes the values to use for the IAM Identity Center + * settings when you create a web app.

+ */ + inline const IdentityCenterConfig& GetIdentityCenterConfig() const{ return m_identityCenterConfig; } + inline bool IdentityCenterConfigHasBeenSet() const { return m_identityCenterConfigHasBeenSet; } + inline void SetIdentityCenterConfig(const IdentityCenterConfig& value) { m_identityCenterConfigHasBeenSet = true; m_identityCenterConfig = value; } + inline void SetIdentityCenterConfig(IdentityCenterConfig&& value) { m_identityCenterConfigHasBeenSet = true; m_identityCenterConfig = std::move(value); } + inline WebAppIdentityProviderDetails& WithIdentityCenterConfig(const IdentityCenterConfig& value) { SetIdentityCenterConfig(value); return *this;} + inline WebAppIdentityProviderDetails& WithIdentityCenterConfig(IdentityCenterConfig&& value) { SetIdentityCenterConfig(std::move(value)); return *this;} + ///@} + private: + + IdentityCenterConfig m_identityCenterConfig; + bool m_identityCenterConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/WebAppUnits.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/WebAppUnits.h new file mode 100644 index 00000000000..9be528613b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/WebAppUnits.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + + /** + *

Contains an integer value that represents the value for number of concurrent + * connections or the user sessions on your web app.

See Also:

AWS + * API Reference

+ */ + class WebAppUnits + { + public: + AWS_TRANSFER_API WebAppUnits(); + AWS_TRANSFER_API WebAppUnits(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API WebAppUnits& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

An integer that represents the number of units for your desired number of + * concurrent connections, or the number of user sessions on your web app at the + * same time.

Each increment allows an additional 250 concurrent sessions: a + * value of 1 sets the number of concurrent sessions to 250; + * 2 sets a value of 500, and so on.

+ */ + inline int GetProvisioned() const{ return m_provisioned; } + inline bool ProvisionedHasBeenSet() const { return m_provisionedHasBeenSet; } + inline void SetProvisioned(int value) { m_provisionedHasBeenSet = true; m_provisioned = value; } + inline WebAppUnits& WithProvisioned(int value) { SetProvisioned(value); return *this;} + ///@} + private: + + int m_provisioned; + bool m_provisionedHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/TransferClient.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/TransferClient.cpp index f7674731bda..e930874080d 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/source/TransferClient.cpp +++ b/generated/src/aws-cpp-sdk-awstransfer/source/TransferClient.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -37,6 +38,8 @@ #include #include #include +#include +#include #include #include #include @@ -48,6 +51,8 @@ #include #include #include +#include +#include #include #include #include @@ -64,6 +69,7 @@ #include #include #include +#include #include #include #include @@ -82,6 +88,8 @@ #include #include #include +#include +#include #include @@ -381,6 +389,32 @@ CreateUserOutcome TransferClient::CreateUser(const CreateUserRequest& request) c {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateWebAppOutcome TransferClient::CreateWebApp(const CreateWebAppRequest& request) const +{ + AWS_OPERATION_GUARD(CreateWebApp); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateWebApp, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateWebApp, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateWebApp, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateWebApp", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateWebAppOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateWebApp, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateWebAppOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateWorkflowOutcome TransferClient::CreateWorkflow(const CreateWorkflowRequest& request) const { AWS_OPERATION_GUARD(CreateWorkflow); @@ -641,6 +675,58 @@ DeleteUserOutcome TransferClient::DeleteUser(const DeleteUserRequest& request) c {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteWebAppOutcome TransferClient::DeleteWebApp(const DeleteWebAppRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteWebApp); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteWebApp, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteWebApp, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteWebApp, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteWebApp", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteWebAppOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteWebApp, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteWebAppOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteWebAppCustomizationOutcome TransferClient::DeleteWebAppCustomization(const DeleteWebAppCustomizationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteWebAppCustomization); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteWebAppCustomization, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteWebAppCustomization, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteWebAppCustomization, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteWebAppCustomization", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteWebAppCustomizationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteWebAppCustomization, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteWebAppCustomizationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteWorkflowOutcome TransferClient::DeleteWorkflow(const DeleteWorkflowRequest& request) const { AWS_OPERATION_GUARD(DeleteWorkflow); @@ -927,6 +1013,58 @@ DescribeUserOutcome TransferClient::DescribeUser(const DescribeUserRequest& requ {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeWebAppOutcome TransferClient::DescribeWebApp(const DescribeWebAppRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeWebApp); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeWebApp, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeWebApp, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeWebApp, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeWebApp", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeWebAppOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeWebApp, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeWebAppOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DescribeWebAppCustomizationOutcome TransferClient::DescribeWebAppCustomization(const DescribeWebAppCustomizationRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeWebAppCustomization); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeWebAppCustomization, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeWebAppCustomization, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeWebAppCustomization, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeWebAppCustomization", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeWebAppCustomizationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeWebAppCustomization, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeWebAppCustomizationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DescribeWorkflowOutcome TransferClient::DescribeWorkflow(const DescribeWorkflowRequest& request) const { AWS_OPERATION_GUARD(DescribeWorkflow); @@ -1343,6 +1481,32 @@ ListUsersOutcome TransferClient::ListUsers(const ListUsersRequest& request) cons {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListWebAppsOutcome TransferClient::ListWebApps(const ListWebAppsRequest& request) const +{ + AWS_OPERATION_GUARD(ListWebApps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListWebApps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListWebApps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListWebApps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListWebApps", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListWebAppsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListWebApps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListWebAppsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListWorkflowsOutcome TransferClient::ListWorkflows(const ListWorkflowsRequest& request) const { AWS_OPERATION_GUARD(ListWorkflows); @@ -1811,3 +1975,55 @@ UpdateUserOutcome TransferClient::UpdateUser(const UpdateUserRequest& request) c {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateWebAppOutcome TransferClient::UpdateWebApp(const UpdateWebAppRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateWebApp); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateWebApp, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateWebApp, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateWebApp, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateWebApp", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateWebAppOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateWebApp, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateWebAppOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateWebAppCustomizationOutcome TransferClient::UpdateWebAppCustomization(const UpdateWebAppCustomizationRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateWebAppCustomization); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateWebAppCustomization, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateWebAppCustomization, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateWebAppCustomization, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateWebAppCustomization", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateWebAppCustomizationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateWebAppCustomization, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateWebAppCustomizationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/CreateWebAppRequest.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/CreateWebAppRequest.cpp new file mode 100644 index 00000000000..192dbc6519b --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/CreateWebAppRequest.cpp @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateWebAppRequest::CreateWebAppRequest() : + m_identityProviderDetailsHasBeenSet(false), + m_accessEndpointHasBeenSet(false), + m_webAppUnitsHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateWebAppRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_identityProviderDetailsHasBeenSet) + { + payload.WithObject("IdentityProviderDetails", m_identityProviderDetails.Jsonize()); + + } + + if(m_accessEndpointHasBeenSet) + { + payload.WithString("AccessEndpoint", m_accessEndpoint); + + } + + if(m_webAppUnitsHasBeenSet) + { + payload.WithObject("WebAppUnits", m_webAppUnits.Jsonize()); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateWebAppRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "TransferService.CreateWebApp")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/CreateWebAppResult.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/CreateWebAppResult.cpp new file mode 100644 index 00000000000..6397848ebe6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/CreateWebAppResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateWebAppResult::CreateWebAppResult() +{ +} + +CreateWebAppResult::CreateWebAppResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateWebAppResult& CreateWebAppResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("WebAppId")) + { + m_webAppId = jsonValue.GetString("WebAppId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DeleteWebAppCustomizationRequest.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DeleteWebAppCustomizationRequest.cpp new file mode 100644 index 00000000000..db8218325c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DeleteWebAppCustomizationRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteWebAppCustomizationRequest::DeleteWebAppCustomizationRequest() : + m_webAppIdHasBeenSet(false) +{ +} + +Aws::String DeleteWebAppCustomizationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_webAppIdHasBeenSet) + { + payload.WithString("WebAppId", m_webAppId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteWebAppCustomizationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "TransferService.DeleteWebAppCustomization")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DeleteWebAppRequest.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DeleteWebAppRequest.cpp new file mode 100644 index 00000000000..825b9f2f0ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DeleteWebAppRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteWebAppRequest::DeleteWebAppRequest() : + m_webAppIdHasBeenSet(false) +{ +} + +Aws::String DeleteWebAppRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_webAppIdHasBeenSet) + { + payload.WithString("WebAppId", m_webAppId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteWebAppRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "TransferService.DeleteWebApp")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppCustomizationRequest.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppCustomizationRequest.cpp new file mode 100644 index 00000000000..4c43f5f3f39 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppCustomizationRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribeWebAppCustomizationRequest::DescribeWebAppCustomizationRequest() : + m_webAppIdHasBeenSet(false) +{ +} + +Aws::String DescribeWebAppCustomizationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_webAppIdHasBeenSet) + { + payload.WithString("WebAppId", m_webAppId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DescribeWebAppCustomizationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "TransferService.DescribeWebAppCustomization")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppCustomizationResult.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppCustomizationResult.cpp new file mode 100644 index 00000000000..b56ef596686 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppCustomizationResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeWebAppCustomizationResult::DescribeWebAppCustomizationResult() +{ +} + +DescribeWebAppCustomizationResult::DescribeWebAppCustomizationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeWebAppCustomizationResult& DescribeWebAppCustomizationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("WebAppCustomization")) + { + m_webAppCustomization = jsonValue.GetObject("WebAppCustomization"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppRequest.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppRequest.cpp new file mode 100644 index 00000000000..3ff7f219ffa --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribeWebAppRequest::DescribeWebAppRequest() : + m_webAppIdHasBeenSet(false) +{ +} + +Aws::String DescribeWebAppRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_webAppIdHasBeenSet) + { + payload.WithString("WebAppId", m_webAppId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DescribeWebAppRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "TransferService.DescribeWebApp")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppResult.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppResult.cpp new file mode 100644 index 00000000000..ab653670e12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribeWebAppResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeWebAppResult::DescribeWebAppResult() +{ +} + +DescribeWebAppResult::DescribeWebAppResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeWebAppResult& DescribeWebAppResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("WebApp")) + { + m_webApp = jsonValue.GetObject("WebApp"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedIdentityCenterConfig.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedIdentityCenterConfig.cpp new file mode 100644 index 00000000000..94fd2820402 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedIdentityCenterConfig.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + +DescribedIdentityCenterConfig::DescribedIdentityCenterConfig() : + m_applicationArnHasBeenSet(false), + m_instanceArnHasBeenSet(false), + m_roleHasBeenSet(false) +{ +} + +DescribedIdentityCenterConfig::DescribedIdentityCenterConfig(JsonView jsonValue) + : DescribedIdentityCenterConfig() +{ + *this = jsonValue; +} + +DescribedIdentityCenterConfig& DescribedIdentityCenterConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ApplicationArn")) + { + m_applicationArn = jsonValue.GetString("ApplicationArn"); + + m_applicationArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("InstanceArn")) + { + m_instanceArn = jsonValue.GetString("InstanceArn"); + + m_instanceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("Role")) + { + m_role = jsonValue.GetString("Role"); + + m_roleHasBeenSet = true; + } + + return *this; +} + +JsonValue DescribedIdentityCenterConfig::Jsonize() const +{ + JsonValue payload; + + if(m_applicationArnHasBeenSet) + { + payload.WithString("ApplicationArn", m_applicationArn); + + } + + if(m_instanceArnHasBeenSet) + { + payload.WithString("InstanceArn", m_instanceArn); + + } + + if(m_roleHasBeenSet) + { + payload.WithString("Role", m_role); + + } + + return payload; +} + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebApp.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebApp.cpp new file mode 100644 index 00000000000..c0c241addcc --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebApp.cpp @@ -0,0 +1,151 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + +DescribedWebApp::DescribedWebApp() : + m_arnHasBeenSet(false), + m_webAppIdHasBeenSet(false), + m_describedIdentityProviderDetailsHasBeenSet(false), + m_accessEndpointHasBeenSet(false), + m_webAppEndpointHasBeenSet(false), + m_webAppUnitsHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +DescribedWebApp::DescribedWebApp(JsonView jsonValue) + : DescribedWebApp() +{ + *this = jsonValue; +} + +DescribedWebApp& DescribedWebApp::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("WebAppId")) + { + m_webAppId = jsonValue.GetString("WebAppId"); + + m_webAppIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("DescribedIdentityProviderDetails")) + { + m_describedIdentityProviderDetails = jsonValue.GetObject("DescribedIdentityProviderDetails"); + + m_describedIdentityProviderDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("AccessEndpoint")) + { + m_accessEndpoint = jsonValue.GetString("AccessEndpoint"); + + m_accessEndpointHasBeenSet = true; + } + + if(jsonValue.ValueExists("WebAppEndpoint")) + { + m_webAppEndpoint = jsonValue.GetString("WebAppEndpoint"); + + m_webAppEndpointHasBeenSet = true; + } + + if(jsonValue.ValueExists("WebAppUnits")) + { + m_webAppUnits = jsonValue.GetObject("WebAppUnits"); + + m_webAppUnitsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Tags")) + { + Aws::Utils::Array tagsJsonList = jsonValue.GetArray("Tags"); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); + } + m_tagsHasBeenSet = true; + } + + return *this; +} + +JsonValue DescribedWebApp::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_webAppIdHasBeenSet) + { + payload.WithString("WebAppId", m_webAppId); + + } + + if(m_describedIdentityProviderDetailsHasBeenSet) + { + payload.WithObject("DescribedIdentityProviderDetails", m_describedIdentityProviderDetails.Jsonize()); + + } + + if(m_accessEndpointHasBeenSet) + { + payload.WithString("AccessEndpoint", m_accessEndpoint); + + } + + if(m_webAppEndpointHasBeenSet) + { + payload.WithString("WebAppEndpoint", m_webAppEndpoint); + + } + + if(m_webAppUnitsHasBeenSet) + { + payload.WithObject("WebAppUnits", m_webAppUnits.Jsonize()); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebAppCustomization.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebAppCustomization.cpp new file mode 100644 index 00000000000..9e83aa47ef3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebAppCustomization.cpp @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + +DescribedWebAppCustomization::DescribedWebAppCustomization() : + m_arnHasBeenSet(false), + m_webAppIdHasBeenSet(false), + m_titleHasBeenSet(false), + m_logoFileHasBeenSet(false), + m_faviconFileHasBeenSet(false) +{ +} + +DescribedWebAppCustomization::DescribedWebAppCustomization(JsonView jsonValue) + : DescribedWebAppCustomization() +{ + *this = jsonValue; +} + +DescribedWebAppCustomization& DescribedWebAppCustomization::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("WebAppId")) + { + m_webAppId = jsonValue.GetString("WebAppId"); + + m_webAppIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("LogoFile")) + { + m_logoFile = HashingUtils::Base64Decode(jsonValue.GetString("LogoFile")); + m_logoFileHasBeenSet = true; + } + + if(jsonValue.ValueExists("FaviconFile")) + { + m_faviconFile = HashingUtils::Base64Decode(jsonValue.GetString("FaviconFile")); + m_faviconFileHasBeenSet = true; + } + + return *this; +} + +JsonValue DescribedWebAppCustomization::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_webAppIdHasBeenSet) + { + payload.WithString("WebAppId", m_webAppId); + + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_logoFileHasBeenSet) + { + payload.WithString("LogoFile", HashingUtils::Base64Encode(m_logoFile)); + } + + if(m_faviconFileHasBeenSet) + { + payload.WithString("FaviconFile", HashingUtils::Base64Encode(m_faviconFile)); + } + + return payload; +} + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebAppIdentityProviderDetails.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebAppIdentityProviderDetails.cpp new file mode 100644 index 00000000000..d1633d1a7d4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedWebAppIdentityProviderDetails.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + +DescribedWebAppIdentityProviderDetails::DescribedWebAppIdentityProviderDetails() : + m_identityCenterConfigHasBeenSet(false) +{ +} + +DescribedWebAppIdentityProviderDetails::DescribedWebAppIdentityProviderDetails(JsonView jsonValue) + : DescribedWebAppIdentityProviderDetails() +{ + *this = jsonValue; +} + +DescribedWebAppIdentityProviderDetails& DescribedWebAppIdentityProviderDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IdentityCenterConfig")) + { + m_identityCenterConfig = jsonValue.GetObject("IdentityCenterConfig"); + + m_identityCenterConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue DescribedWebAppIdentityProviderDetails::Jsonize() const +{ + JsonValue payload; + + if(m_identityCenterConfigHasBeenSet) + { + payload.WithObject("IdentityCenterConfig", m_identityCenterConfig.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/IdentityCenterConfig.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/IdentityCenterConfig.cpp new file mode 100644 index 00000000000..53686769bed --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/IdentityCenterConfig.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + +IdentityCenterConfig::IdentityCenterConfig() : + m_instanceArnHasBeenSet(false), + m_roleHasBeenSet(false) +{ +} + +IdentityCenterConfig::IdentityCenterConfig(JsonView jsonValue) + : IdentityCenterConfig() +{ + *this = jsonValue; +} + +IdentityCenterConfig& IdentityCenterConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceArn")) + { + m_instanceArn = jsonValue.GetString("InstanceArn"); + + m_instanceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("Role")) + { + m_role = jsonValue.GetString("Role"); + + m_roleHasBeenSet = true; + } + + return *this; +} + +JsonValue IdentityCenterConfig::Jsonize() const +{ + JsonValue payload; + + if(m_instanceArnHasBeenSet) + { + payload.WithString("InstanceArn", m_instanceArn); + + } + + if(m_roleHasBeenSet) + { + payload.WithString("Role", m_role); + + } + + return payload; +} + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/ListWebAppsRequest.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/ListWebAppsRequest.cpp new file mode 100644 index 00000000000..de8daf46a59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/ListWebAppsRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListWebAppsRequest::ListWebAppsRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListWebAppsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListWebAppsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "TransferService.ListWebApps")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/ListWebAppsResult.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/ListWebAppsResult.cpp new file mode 100644 index 00000000000..1462cd96dde --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/ListWebAppsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListWebAppsResult::ListWebAppsResult() +{ +} + +ListWebAppsResult::ListWebAppsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListWebAppsResult& ListWebAppsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + if(jsonValue.ValueExists("WebApps")) + { + Aws::Utils::Array webAppsJsonList = jsonValue.GetArray("WebApps"); + for(unsigned webAppsIndex = 0; webAppsIndex < webAppsJsonList.GetLength(); ++webAppsIndex) + { + m_webApps.push_back(webAppsJsonList[webAppsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/ListedWebApp.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/ListedWebApp.cpp new file mode 100644 index 00000000000..f3605178dcc --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/ListedWebApp.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + +ListedWebApp::ListedWebApp() : + m_arnHasBeenSet(false), + m_webAppIdHasBeenSet(false), + m_accessEndpointHasBeenSet(false), + m_webAppEndpointHasBeenSet(false) +{ +} + +ListedWebApp::ListedWebApp(JsonView jsonValue) + : ListedWebApp() +{ + *this = jsonValue; +} + +ListedWebApp& ListedWebApp::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("WebAppId")) + { + m_webAppId = jsonValue.GetString("WebAppId"); + + m_webAppIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("AccessEndpoint")) + { + m_accessEndpoint = jsonValue.GetString("AccessEndpoint"); + + m_accessEndpointHasBeenSet = true; + } + + if(jsonValue.ValueExists("WebAppEndpoint")) + { + m_webAppEndpoint = jsonValue.GetString("WebAppEndpoint"); + + m_webAppEndpointHasBeenSet = true; + } + + return *this; +} + +JsonValue ListedWebApp::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_webAppIdHasBeenSet) + { + payload.WithString("WebAppId", m_webAppId); + + } + + if(m_accessEndpointHasBeenSet) + { + payload.WithString("AccessEndpoint", m_accessEndpoint); + + } + + if(m_webAppEndpointHasBeenSet) + { + payload.WithString("WebAppEndpoint", m_webAppEndpoint); + + } + + return payload; +} + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppCustomizationRequest.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppCustomizationRequest.cpp new file mode 100644 index 00000000000..66f0fd484ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppCustomizationRequest.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateWebAppCustomizationRequest::UpdateWebAppCustomizationRequest() : + m_webAppIdHasBeenSet(false), + m_titleHasBeenSet(false), + m_logoFileHasBeenSet(false), + m_faviconFileHasBeenSet(false) +{ +} + +Aws::String UpdateWebAppCustomizationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_webAppIdHasBeenSet) + { + payload.WithString("WebAppId", m_webAppId); + + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_logoFileHasBeenSet) + { + payload.WithString("LogoFile", HashingUtils::Base64Encode(m_logoFile)); + } + + if(m_faviconFileHasBeenSet) + { + payload.WithString("FaviconFile", HashingUtils::Base64Encode(m_faviconFile)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateWebAppCustomizationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "TransferService.UpdateWebAppCustomization")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppCustomizationResult.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppCustomizationResult.cpp new file mode 100644 index 00000000000..8a9c65e708f --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppCustomizationResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateWebAppCustomizationResult::UpdateWebAppCustomizationResult() +{ +} + +UpdateWebAppCustomizationResult::UpdateWebAppCustomizationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateWebAppCustomizationResult& UpdateWebAppCustomizationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("WebAppId")) + { + m_webAppId = jsonValue.GetString("WebAppId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppIdentityCenterConfig.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppIdentityCenterConfig.cpp new file mode 100644 index 00000000000..edf629b7285 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppIdentityCenterConfig.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + +UpdateWebAppIdentityCenterConfig::UpdateWebAppIdentityCenterConfig() : + m_roleHasBeenSet(false) +{ +} + +UpdateWebAppIdentityCenterConfig::UpdateWebAppIdentityCenterConfig(JsonView jsonValue) + : UpdateWebAppIdentityCenterConfig() +{ + *this = jsonValue; +} + +UpdateWebAppIdentityCenterConfig& UpdateWebAppIdentityCenterConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Role")) + { + m_role = jsonValue.GetString("Role"); + + m_roleHasBeenSet = true; + } + + return *this; +} + +JsonValue UpdateWebAppIdentityCenterConfig::Jsonize() const +{ + JsonValue payload; + + if(m_roleHasBeenSet) + { + payload.WithString("Role", m_role); + + } + + return payload; +} + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppIdentityProviderDetails.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppIdentityProviderDetails.cpp new file mode 100644 index 00000000000..572280e66a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppIdentityProviderDetails.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + +UpdateWebAppIdentityProviderDetails::UpdateWebAppIdentityProviderDetails() : + m_identityCenterConfigHasBeenSet(false) +{ +} + +UpdateWebAppIdentityProviderDetails::UpdateWebAppIdentityProviderDetails(JsonView jsonValue) + : UpdateWebAppIdentityProviderDetails() +{ + *this = jsonValue; +} + +UpdateWebAppIdentityProviderDetails& UpdateWebAppIdentityProviderDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IdentityCenterConfig")) + { + m_identityCenterConfig = jsonValue.GetObject("IdentityCenterConfig"); + + m_identityCenterConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue UpdateWebAppIdentityProviderDetails::Jsonize() const +{ + JsonValue payload; + + if(m_identityCenterConfigHasBeenSet) + { + payload.WithObject("IdentityCenterConfig", m_identityCenterConfig.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppRequest.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppRequest.cpp new file mode 100644 index 00000000000..178680f6b18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppRequest.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateWebAppRequest::UpdateWebAppRequest() : + m_webAppIdHasBeenSet(false), + m_identityProviderDetailsHasBeenSet(false), + m_accessEndpointHasBeenSet(false), + m_webAppUnitsHasBeenSet(false) +{ +} + +Aws::String UpdateWebAppRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_webAppIdHasBeenSet) + { + payload.WithString("WebAppId", m_webAppId); + + } + + if(m_identityProviderDetailsHasBeenSet) + { + payload.WithObject("IdentityProviderDetails", m_identityProviderDetails.Jsonize()); + + } + + if(m_accessEndpointHasBeenSet) + { + payload.WithString("AccessEndpoint", m_accessEndpoint); + + } + + if(m_webAppUnitsHasBeenSet) + { + payload.WithObject("WebAppUnits", m_webAppUnits.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateWebAppRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "TransferService.UpdateWebApp")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppResult.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppResult.cpp new file mode 100644 index 00000000000..7375a487823 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateWebAppResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Transfer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateWebAppResult::UpdateWebAppResult() +{ +} + +UpdateWebAppResult::UpdateWebAppResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateWebAppResult& UpdateWebAppResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("WebAppId")) + { + m_webAppId = jsonValue.GetString("WebAppId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/WebAppIdentityProviderDetails.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/WebAppIdentityProviderDetails.cpp new file mode 100644 index 00000000000..f718c7cb638 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/WebAppIdentityProviderDetails.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + +WebAppIdentityProviderDetails::WebAppIdentityProviderDetails() : + m_identityCenterConfigHasBeenSet(false) +{ +} + +WebAppIdentityProviderDetails::WebAppIdentityProviderDetails(JsonView jsonValue) + : WebAppIdentityProviderDetails() +{ + *this = jsonValue; +} + +WebAppIdentityProviderDetails& WebAppIdentityProviderDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IdentityCenterConfig")) + { + m_identityCenterConfig = jsonValue.GetObject("IdentityCenterConfig"); + + m_identityCenterConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue WebAppIdentityProviderDetails::Jsonize() const +{ + JsonValue payload; + + if(m_identityCenterConfigHasBeenSet) + { + payload.WithObject("IdentityCenterConfig", m_identityCenterConfig.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/WebAppUnits.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/WebAppUnits.cpp new file mode 100644 index 00000000000..541c12a067d --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/WebAppUnits.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + +WebAppUnits::WebAppUnits() : + m_provisioned(0), + m_provisionedHasBeenSet(false) +{ +} + +WebAppUnits::WebAppUnits(JsonView jsonValue) + : WebAppUnits() +{ + *this = jsonValue; +} + +WebAppUnits& WebAppUnits::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Provisioned")) + { + m_provisioned = jsonValue.GetInteger("Provisioned"); + + m_provisionedHasBeenSet = true; + } + + return *this; +} + +JsonValue WebAppUnits::Jsonize() const +{ + JsonValue payload; + + if(m_provisionedHasBeenSet) + { + payload.WithInteger("Provisioned", m_provisioned); + + } + + return payload; +} + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h index 1b6a130e9fc..9df6053a594 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h @@ -281,6 +281,35 @@ namespace BedrockAgentRuntime return SubmitAsync(&BedrockAgentRuntimeClient::OptimizePrompt, request, handler, context); } + /** + *

Reranks the relevance of sources based on queries. For more information, see + * Improve + * the relevance of query responses with a reranker model.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::RerankOutcome Rerank(const Model::RerankRequest& request) const; + + /** + * A Callable wrapper for Rerank that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RerankOutcomeCallable RerankCallable(const RerankRequestT& request) const + { + return SubmitCallable(&BedrockAgentRuntimeClient::Rerank, request); + } + + /** + * An Async wrapper for Rerank that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RerankAsync(const RerankRequestT& request, const RerankResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BedrockAgentRuntimeClient::Rerank, request, handler, context); + } + /** *

Queries a knowledge base and retrieves information from it.

See * Also:

Queries a knowledge base and generates responses based on the retrieved + * results, with output in streaming format.

The CLI doesn't support + * streaming operations in Amazon Bedrock, including + * InvokeModelWithResponseStream.

See Also:

+ *
AWS + * API Reference

+ */ + virtual Model::RetrieveAndGenerateStreamOutcome RetrieveAndGenerateStream(Model::RetrieveAndGenerateStreamRequest& request) const; + + /** + * A Callable wrapper for RetrieveAndGenerateStream that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RetrieveAndGenerateStreamOutcomeCallable RetrieveAndGenerateStreamCallable(RetrieveAndGenerateStreamRequestT& request) const + { + return SubmitCallable(&BedrockAgentRuntimeClient::RetrieveAndGenerateStream, request); + } + + /** + * An Async wrapper for RetrieveAndGenerateStream that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RetrieveAndGenerateStreamAsync(RetrieveAndGenerateStreamRequestT& request, const RetrieveAndGenerateStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BedrockAgentRuntimeClient::RetrieveAndGenerateStream, request, handler, context); + } + void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeServiceClientModel.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeServiceClientModel.h index 6090ddb86f4..8913e529c29 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeServiceClientModel.h @@ -20,6 +20,7 @@ /* Service model headers required in BedrockAgentRuntimeClient header */ #include #include +#include #include #include #include @@ -69,8 +70,10 @@ namespace Aws class InvokeFlowRequest; class InvokeInlineAgentRequest; class OptimizePromptRequest; + class RerankRequest; class RetrieveRequest; class RetrieveAndGenerateRequest; + class RetrieveAndGenerateStreamRequest; /* End of service model forward declarations required in BedrockAgentRuntimeClient header */ /* Service model Outcome class definitions */ @@ -80,8 +83,10 @@ namespace Aws typedef Aws::Utils::Outcome InvokeFlowOutcome; typedef Aws::Utils::Outcome InvokeInlineAgentOutcome; typedef Aws::Utils::Outcome OptimizePromptOutcome; + typedef Aws::Utils::Outcome RerankOutcome; typedef Aws::Utils::Outcome RetrieveOutcome; typedef Aws::Utils::Outcome RetrieveAndGenerateOutcome; + typedef Aws::Utils::Outcome RetrieveAndGenerateStreamOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ @@ -91,8 +96,10 @@ namespace Aws typedef std::future InvokeFlowOutcomeCallable; typedef std::future InvokeInlineAgentOutcomeCallable; typedef std::future OptimizePromptOutcomeCallable; + typedef std::future RerankOutcomeCallable; typedef std::future RetrieveOutcomeCallable; typedef std::future RetrieveAndGenerateOutcomeCallable; + typedef std::future RetrieveAndGenerateStreamOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model @@ -105,8 +112,10 @@ namespace Aws typedef std::function&) > InvokeFlowResponseReceivedHandler; typedef std::function&) > InvokeInlineAgentResponseReceivedHandler; typedef std::function&) > OptimizePromptResponseReceivedHandler; + typedef std::function&) > RerankResponseReceivedHandler; typedef std::function&) > RetrieveResponseReceivedHandler; typedef std::function&) > RetrieveAndGenerateResponseReceivedHandler; + typedef std::function&) > RetrieveAndGenerateStreamResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace BedrockAgentRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/AttributeType.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/AttributeType.h new file mode 100644 index 00000000000..517f70c0b5a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/AttributeType.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + enum class AttributeType + { + NOT_SET, + STRING, + NUMBER, + BOOLEAN, + STRING_LIST + }; + +namespace AttributeTypeMapper +{ +AWS_BEDROCKAGENTRUNTIME_API AttributeType GetAttributeTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENTRUNTIME_API Aws::String GetNameForAttributeType(AttributeType value); +} // namespace AttributeTypeMapper +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/BedrockRerankingConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/BedrockRerankingConfiguration.h new file mode 100644 index 00000000000..47bcedb3277 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/BedrockRerankingConfiguration.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains configurations for an Amazon Bedrock reranker model.

See + * Also:

AWS + * API Reference

+ */ + class BedrockRerankingConfiguration + { + public: + AWS_BEDROCKAGENTRUNTIME_API BedrockRerankingConfiguration(); + AWS_BEDROCKAGENTRUNTIME_API BedrockRerankingConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API BedrockRerankingConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains configurations for a reranker model.

+ */ + inline const BedrockRerankingModelConfiguration& GetModelConfiguration() const{ return m_modelConfiguration; } + inline bool ModelConfigurationHasBeenSet() const { return m_modelConfigurationHasBeenSet; } + inline void SetModelConfiguration(const BedrockRerankingModelConfiguration& value) { m_modelConfigurationHasBeenSet = true; m_modelConfiguration = value; } + inline void SetModelConfiguration(BedrockRerankingModelConfiguration&& value) { m_modelConfigurationHasBeenSet = true; m_modelConfiguration = std::move(value); } + inline BedrockRerankingConfiguration& WithModelConfiguration(const BedrockRerankingModelConfiguration& value) { SetModelConfiguration(value); return *this;} + inline BedrockRerankingConfiguration& WithModelConfiguration(BedrockRerankingModelConfiguration&& value) { SetModelConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The number of results to return after reranking.

+ */ + inline int GetNumberOfResults() const{ return m_numberOfResults; } + inline bool NumberOfResultsHasBeenSet() const { return m_numberOfResultsHasBeenSet; } + inline void SetNumberOfResults(int value) { m_numberOfResultsHasBeenSet = true; m_numberOfResults = value; } + inline BedrockRerankingConfiguration& WithNumberOfResults(int value) { SetNumberOfResults(value); return *this;} + ///@} + private: + + BedrockRerankingModelConfiguration m_modelConfiguration; + bool m_modelConfigurationHasBeenSet = false; + + int m_numberOfResults; + bool m_numberOfResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/BedrockRerankingModelConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/BedrockRerankingModelConfiguration.h new file mode 100644 index 00000000000..f6b809170a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/BedrockRerankingModelConfiguration.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains configurations for a reranker model.

See Also:

AWS + * API Reference

+ */ + class BedrockRerankingModelConfiguration + { + public: + AWS_BEDROCKAGENTRUNTIME_API BedrockRerankingModelConfiguration(); + AWS_BEDROCKAGENTRUNTIME_API BedrockRerankingModelConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API BedrockRerankingModelConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

A JSON object whose keys are request fields for the model and whose values + * are values for those fields.

+ */ + inline const Aws::Map& GetAdditionalModelRequestFields() const{ return m_additionalModelRequestFields; } + inline bool AdditionalModelRequestFieldsHasBeenSet() const { return m_additionalModelRequestFieldsHasBeenSet; } + inline void SetAdditionalModelRequestFields(const Aws::Map& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields = value; } + inline void SetAdditionalModelRequestFields(Aws::Map&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields = std::move(value); } + inline BedrockRerankingModelConfiguration& WithAdditionalModelRequestFields(const Aws::Map& value) { SetAdditionalModelRequestFields(value); return *this;} + inline BedrockRerankingModelConfiguration& WithAdditionalModelRequestFields(Aws::Map&& value) { SetAdditionalModelRequestFields(std::move(value)); return *this;} + inline BedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(const Aws::String& key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, value); return *this; } + inline BedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(Aws::String&& key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(std::move(key), value); return *this; } + inline BedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(const Aws::String& key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, std::move(value)); return *this; } + inline BedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(Aws::String&& key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(std::move(key), std::move(value)); return *this; } + inline BedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(const char* key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, std::move(value)); return *this; } + inline BedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(const char* key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

The ARN of the reranker model.

+ */ + inline const Aws::String& GetModelArn() const{ return m_modelArn; } + inline bool ModelArnHasBeenSet() const { return m_modelArnHasBeenSet; } + inline void SetModelArn(const Aws::String& value) { m_modelArnHasBeenSet = true; m_modelArn = value; } + inline void SetModelArn(Aws::String&& value) { m_modelArnHasBeenSet = true; m_modelArn = std::move(value); } + inline void SetModelArn(const char* value) { m_modelArnHasBeenSet = true; m_modelArn.assign(value); } + inline BedrockRerankingModelConfiguration& WithModelArn(const Aws::String& value) { SetModelArn(value); return *this;} + inline BedrockRerankingModelConfiguration& WithModelArn(Aws::String&& value) { SetModelArn(std::move(value)); return *this;} + inline BedrockRerankingModelConfiguration& WithModelArn(const char* value) { SetModelArn(value); return *this;} + ///@} + private: + + Aws::Map m_additionalModelRequestFields; + bool m_additionalModelRequestFieldsHasBeenSet = false; + + Aws::String m_modelArn; + bool m_modelArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CitationEvent.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CitationEvent.h new file mode 100644 index 00000000000..33fa3a17feb --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CitationEvent.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

A citation event.

See Also:

AWS + * API Reference

+ */ + class CitationEvent + { + public: + AWS_BEDROCKAGENTRUNTIME_API CitationEvent(); + AWS_BEDROCKAGENTRUNTIME_API CitationEvent(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API CitationEvent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The citation.

+ */ + inline const Citation& GetCitation() const{ return m_citation; } + inline bool CitationHasBeenSet() const { return m_citationHasBeenSet; } + inline void SetCitation(const Citation& value) { m_citationHasBeenSet = true; m_citation = value; } + inline void SetCitation(Citation&& value) { m_citationHasBeenSet = true; m_citation = std::move(value); } + inline CitationEvent& WithCitation(const Citation& value) { SetCitation(value); return *this;} + inline CitationEvent& WithCitation(Citation&& value) { SetCitation(std::move(value)); return *this;} + ///@} + private: + + Citation m_citation; + bool m_citationHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CustomOrchestrationTrace.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CustomOrchestrationTrace.h index c2d80cac34f..242b9786fde 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CustomOrchestrationTrace.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CustomOrchestrationTrace.h @@ -41,7 +41,7 @@ namespace Model ///@{ /** - *

The trace event details used with the custom orchestration.

+ *

The event details used with the custom orchestration.

*/ inline const CustomOrchestrationTraceEvent& GetEvent() const{ return m_event; } inline bool EventHasBeenSet() const { return m_eventHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CustomOrchestrationTraceEvent.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CustomOrchestrationTraceEvent.h index 6710dc10a25..fe44980ac8c 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CustomOrchestrationTraceEvent.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/CustomOrchestrationTraceEvent.h @@ -24,8 +24,9 @@ namespace Model { /** - *

The event in the custom orchestration sequence.

See Also:

- * The event in the custom orchestration sequence. Events are the responses + * which the custom orchestration Lambda function sends as response to the agent. + *

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/FieldForReranking.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/FieldForReranking.h new file mode 100644 index 00000000000..0f276012553 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/FieldForReranking.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains information for a metadata field to include in or exclude from + * consideration when reranking.

See Also:

AWS + * API Reference

+ */ + class FieldForReranking + { + public: + AWS_BEDROCKAGENTRUNTIME_API FieldForReranking(); + AWS_BEDROCKAGENTRUNTIME_API FieldForReranking(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API FieldForReranking& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The name of a metadata field to include in or exclude from consideration when + * reranking.

+ */ + inline const Aws::String& GetFieldName() const{ return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(const Aws::String& value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline void SetFieldName(Aws::String&& value) { m_fieldNameHasBeenSet = true; m_fieldName = std::move(value); } + inline void SetFieldName(const char* value) { m_fieldNameHasBeenSet = true; m_fieldName.assign(value); } + inline FieldForReranking& WithFieldName(const Aws::String& value) { SetFieldName(value); return *this;} + inline FieldForReranking& WithFieldName(Aws::String&& value) { SetFieldName(std::move(value)); return *this;} + inline FieldForReranking& WithFieldName(const char* value) { SetFieldName(value); return *this;} + ///@} + private: + + Aws::String m_fieldName; + bool m_fieldNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/GuardrailEvent.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/GuardrailEvent.h new file mode 100644 index 00000000000..5313f969eff --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/GuardrailEvent.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

A guardrail event.

See Also:

AWS + * API Reference

+ */ + class GuardrailEvent + { + public: + AWS_BEDROCKAGENTRUNTIME_API GuardrailEvent(); + AWS_BEDROCKAGENTRUNTIME_API GuardrailEvent(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API GuardrailEvent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The guardrail action.

+ */ + inline const GuadrailAction& GetAction() const{ return m_action; } + inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } + inline void SetAction(const GuadrailAction& value) { m_actionHasBeenSet = true; m_action = value; } + inline void SetAction(GuadrailAction&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } + inline GuardrailEvent& WithAction(const GuadrailAction& value) { SetAction(value); return *this;} + inline GuardrailEvent& WithAction(GuadrailAction&& value) { SetAction(std::move(value)); return *this;} + ///@} + private: + + GuadrailAction m_action; + bool m_actionHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/ImplicitFilterConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/ImplicitFilterConfiguration.h new file mode 100644 index 00000000000..6bad58bbcbc --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/ImplicitFilterConfiguration.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Settings for implicit filtering, where a model generates a metadata filter + * based on the prompt.

See Also:

AWS + * API Reference

+ */ + class ImplicitFilterConfiguration + { + public: + AWS_BEDROCKAGENTRUNTIME_API ImplicitFilterConfiguration(); + AWS_BEDROCKAGENTRUNTIME_API ImplicitFilterConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API ImplicitFilterConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Metadata that can be used in a filter.

+ */ + inline const Aws::Vector& GetMetadataAttributes() const{ return m_metadataAttributes; } + inline bool MetadataAttributesHasBeenSet() const { return m_metadataAttributesHasBeenSet; } + inline void SetMetadataAttributes(const Aws::Vector& value) { m_metadataAttributesHasBeenSet = true; m_metadataAttributes = value; } + inline void SetMetadataAttributes(Aws::Vector&& value) { m_metadataAttributesHasBeenSet = true; m_metadataAttributes = std::move(value); } + inline ImplicitFilterConfiguration& WithMetadataAttributes(const Aws::Vector& value) { SetMetadataAttributes(value); return *this;} + inline ImplicitFilterConfiguration& WithMetadataAttributes(Aws::Vector&& value) { SetMetadataAttributes(std::move(value)); return *this;} + inline ImplicitFilterConfiguration& AddMetadataAttributes(const MetadataAttributeSchema& value) { m_metadataAttributesHasBeenSet = true; m_metadataAttributes.push_back(value); return *this; } + inline ImplicitFilterConfiguration& AddMetadataAttributes(MetadataAttributeSchema&& value) { m_metadataAttributesHasBeenSet = true; m_metadataAttributes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The model that generates the filter.

+ */ + inline const Aws::String& GetModelArn() const{ return m_modelArn; } + inline bool ModelArnHasBeenSet() const { return m_modelArnHasBeenSet; } + inline void SetModelArn(const Aws::String& value) { m_modelArnHasBeenSet = true; m_modelArn = value; } + inline void SetModelArn(Aws::String&& value) { m_modelArnHasBeenSet = true; m_modelArn = std::move(value); } + inline void SetModelArn(const char* value) { m_modelArnHasBeenSet = true; m_modelArn.assign(value); } + inline ImplicitFilterConfiguration& WithModelArn(const Aws::String& value) { SetModelArn(value); return *this;} + inline ImplicitFilterConfiguration& WithModelArn(Aws::String&& value) { SetModelArn(std::move(value)); return *this;} + inline ImplicitFilterConfiguration& WithModelArn(const char* value) { SetModelArn(value); return *this;} + ///@} + private: + + Aws::Vector m_metadataAttributes; + bool m_metadataAttributesHasBeenSet = false; + + Aws::String m_modelArn; + bool m_modelArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/KnowledgeBaseVectorSearchConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/KnowledgeBaseVectorSearchConfiguration.h index d441f4336a6..25907fba813 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/KnowledgeBaseVectorSearchConfiguration.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/KnowledgeBaseVectorSearchConfiguration.h @@ -6,7 +6,9 @@ #pragma once #include #include +#include #include +#include #include namespace Aws @@ -63,6 +65,18 @@ namespace Model inline KnowledgeBaseVectorSearchConfiguration& WithFilter(RetrievalFilter&& value) { SetFilter(std::move(value)); return *this;} ///@} + ///@{ + /** + *

Settings for implicit filtering.

+ */ + inline const ImplicitFilterConfiguration& GetImplicitFilterConfiguration() const{ return m_implicitFilterConfiguration; } + inline bool ImplicitFilterConfigurationHasBeenSet() const { return m_implicitFilterConfigurationHasBeenSet; } + inline void SetImplicitFilterConfiguration(const ImplicitFilterConfiguration& value) { m_implicitFilterConfigurationHasBeenSet = true; m_implicitFilterConfiguration = value; } + inline void SetImplicitFilterConfiguration(ImplicitFilterConfiguration&& value) { m_implicitFilterConfigurationHasBeenSet = true; m_implicitFilterConfiguration = std::move(value); } + inline KnowledgeBaseVectorSearchConfiguration& WithImplicitFilterConfiguration(const ImplicitFilterConfiguration& value) { SetImplicitFilterConfiguration(value); return *this;} + inline KnowledgeBaseVectorSearchConfiguration& WithImplicitFilterConfiguration(ImplicitFilterConfiguration&& value) { SetImplicitFilterConfiguration(std::move(value)); return *this;} + ///@} + ///@{ /** *

The number of source chunks to retrieve.

@@ -92,16 +106,37 @@ namespace Model inline KnowledgeBaseVectorSearchConfiguration& WithOverrideSearchType(const SearchType& value) { SetOverrideSearchType(value); return *this;} inline KnowledgeBaseVectorSearchConfiguration& WithOverrideSearchType(SearchType&& value) { SetOverrideSearchType(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

Contains configurations for reranking the retrieved results. For more + * information, see Improve + * the relevance of query responses with a reranker model.

+ */ + inline const VectorSearchRerankingConfiguration& GetRerankingConfiguration() const{ return m_rerankingConfiguration; } + inline bool RerankingConfigurationHasBeenSet() const { return m_rerankingConfigurationHasBeenSet; } + inline void SetRerankingConfiguration(const VectorSearchRerankingConfiguration& value) { m_rerankingConfigurationHasBeenSet = true; m_rerankingConfiguration = value; } + inline void SetRerankingConfiguration(VectorSearchRerankingConfiguration&& value) { m_rerankingConfigurationHasBeenSet = true; m_rerankingConfiguration = std::move(value); } + inline KnowledgeBaseVectorSearchConfiguration& WithRerankingConfiguration(const VectorSearchRerankingConfiguration& value) { SetRerankingConfiguration(value); return *this;} + inline KnowledgeBaseVectorSearchConfiguration& WithRerankingConfiguration(VectorSearchRerankingConfiguration&& value) { SetRerankingConfiguration(std::move(value)); return *this;} + ///@} private: RetrievalFilter m_filter; bool m_filterHasBeenSet = false; + ImplicitFilterConfiguration m_implicitFilterConfiguration; + bool m_implicitFilterConfigurationHasBeenSet = false; + int m_numberOfResults; bool m_numberOfResultsHasBeenSet = false; SearchType m_overrideSearchType; bool m_overrideSearchTypeHasBeenSet = false; + + VectorSearchRerankingConfiguration m_rerankingConfiguration; + bool m_rerankingConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/MetadataAttributeSchema.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/MetadataAttributeSchema.h new file mode 100644 index 00000000000..a1e1d0b0883 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/MetadataAttributeSchema.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Details about a metadata attribute.

See Also:

AWS + * API Reference

+ */ + class MetadataAttributeSchema + { + public: + AWS_BEDROCKAGENTRUNTIME_API MetadataAttributeSchema(); + AWS_BEDROCKAGENTRUNTIME_API MetadataAttributeSchema(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API MetadataAttributeSchema& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The attribute's description.

+ */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline MetadataAttributeSchema& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline MetadataAttributeSchema& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline MetadataAttributeSchema& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

The attribute's key.

+ */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline MetadataAttributeSchema& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline MetadataAttributeSchema& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline MetadataAttributeSchema& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

The attribute's type.

+ */ + inline const AttributeType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const AttributeType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(AttributeType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline MetadataAttributeSchema& WithType(const AttributeType& value) { SetType(value); return *this;} + inline MetadataAttributeSchema& WithType(AttributeType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + AttributeType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/MetadataConfigurationForReranking.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/MetadataConfigurationForReranking.h new file mode 100644 index 00000000000..6e65390a559 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/MetadataConfigurationForReranking.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains configurations for the metadata to use in reranking.

See + * Also:

AWS + * API Reference

+ */ + class MetadataConfigurationForReranking + { + public: + AWS_BEDROCKAGENTRUNTIME_API MetadataConfigurationForReranking(); + AWS_BEDROCKAGENTRUNTIME_API MetadataConfigurationForReranking(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API MetadataConfigurationForReranking& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Specifies whether to consider all metadata when reranking, or only the + * metadata that you select. If you specify SELECTIVE, include the + * selectiveModeConfiguration field.

+ */ + inline const RerankingMetadataSelectionMode& GetSelectionMode() const{ return m_selectionMode; } + inline bool SelectionModeHasBeenSet() const { return m_selectionModeHasBeenSet; } + inline void SetSelectionMode(const RerankingMetadataSelectionMode& value) { m_selectionModeHasBeenSet = true; m_selectionMode = value; } + inline void SetSelectionMode(RerankingMetadataSelectionMode&& value) { m_selectionModeHasBeenSet = true; m_selectionMode = std::move(value); } + inline MetadataConfigurationForReranking& WithSelectionMode(const RerankingMetadataSelectionMode& value) { SetSelectionMode(value); return *this;} + inline MetadataConfigurationForReranking& WithSelectionMode(RerankingMetadataSelectionMode&& value) { SetSelectionMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains configurations for the metadata fields to include or exclude when + * considering reranking.

+ */ + inline const RerankingMetadataSelectiveModeConfiguration& GetSelectiveModeConfiguration() const{ return m_selectiveModeConfiguration; } + inline bool SelectiveModeConfigurationHasBeenSet() const { return m_selectiveModeConfigurationHasBeenSet; } + inline void SetSelectiveModeConfiguration(const RerankingMetadataSelectiveModeConfiguration& value) { m_selectiveModeConfigurationHasBeenSet = true; m_selectiveModeConfiguration = value; } + inline void SetSelectiveModeConfiguration(RerankingMetadataSelectiveModeConfiguration&& value) { m_selectiveModeConfigurationHasBeenSet = true; m_selectiveModeConfiguration = std::move(value); } + inline MetadataConfigurationForReranking& WithSelectiveModeConfiguration(const RerankingMetadataSelectiveModeConfiguration& value) { SetSelectiveModeConfiguration(value); return *this;} + inline MetadataConfigurationForReranking& WithSelectiveModeConfiguration(RerankingMetadataSelectiveModeConfiguration&& value) { SetSelectiveModeConfiguration(std::move(value)); return *this;} + ///@} + private: + + RerankingMetadataSelectionMode m_selectionMode; + bool m_selectionModeHasBeenSet = false; + + RerankingMetadataSelectiveModeConfiguration m_selectiveModeConfiguration; + bool m_selectiveModeConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankDocument.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankDocument.h new file mode 100644 index 00000000000..eef6207ebde --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankDocument.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains information about a document to rerank. Choose the type + * to define and include the field that corresponds to the type.

See + * Also:

AWS + * API Reference

+ */ + class RerankDocument + { + public: + AWS_BEDROCKAGENTRUNTIME_API RerankDocument(); + AWS_BEDROCKAGENTRUNTIME_API RerankDocument(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RerankDocument& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains a JSON document to rerank.

+ */ + inline Aws::Utils::DocumentView GetJsonDocument() const{ return m_jsonDocument; } + inline bool JsonDocumentHasBeenSet() const { return m_jsonDocumentHasBeenSet; } + inline void SetJsonDocument(const Aws::Utils::Document& value) { m_jsonDocumentHasBeenSet = true; m_jsonDocument = value; } + inline void SetJsonDocument(Aws::Utils::Document&& value) { m_jsonDocumentHasBeenSet = true; m_jsonDocument = std::move(value); } + inline RerankDocument& WithJsonDocument(const Aws::Utils::Document& value) { SetJsonDocument(value); return *this;} + inline RerankDocument& WithJsonDocument(Aws::Utils::Document&& value) { SetJsonDocument(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains information about a text document to rerank.

+ */ + inline const RerankTextDocument& GetTextDocument() const{ return m_textDocument; } + inline bool TextDocumentHasBeenSet() const { return m_textDocumentHasBeenSet; } + inline void SetTextDocument(const RerankTextDocument& value) { m_textDocumentHasBeenSet = true; m_textDocument = value; } + inline void SetTextDocument(RerankTextDocument&& value) { m_textDocumentHasBeenSet = true; m_textDocument = std::move(value); } + inline RerankDocument& WithTextDocument(const RerankTextDocument& value) { SetTextDocument(value); return *this;} + inline RerankDocument& WithTextDocument(RerankTextDocument&& value) { SetTextDocument(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The type of document to rerank.

+ */ + inline const RerankDocumentType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RerankDocumentType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RerankDocumentType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RerankDocument& WithType(const RerankDocumentType& value) { SetType(value); return *this;} + inline RerankDocument& WithType(RerankDocumentType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::Document m_jsonDocument; + bool m_jsonDocumentHasBeenSet = false; + + RerankTextDocument m_textDocument; + bool m_textDocumentHasBeenSet = false; + + RerankDocumentType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankDocumentType.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankDocumentType.h new file mode 100644 index 00000000000..28cd4ab054b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankDocumentType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + enum class RerankDocumentType + { + NOT_SET, + TEXT, + JSON + }; + +namespace RerankDocumentTypeMapper +{ +AWS_BEDROCKAGENTRUNTIME_API RerankDocumentType GetRerankDocumentTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENTRUNTIME_API Aws::String GetNameForRerankDocumentType(RerankDocumentType value); +} // namespace RerankDocumentTypeMapper +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankQuery.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankQuery.h new file mode 100644 index 00000000000..6169c7a4bf6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankQuery.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains information about a query to submit to the reranker + * model.

See Also:

AWS + * API Reference

+ */ + class RerankQuery + { + public: + AWS_BEDROCKAGENTRUNTIME_API RerankQuery(); + AWS_BEDROCKAGENTRUNTIME_API RerankQuery(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RerankQuery& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains information about a text query.

+ */ + inline const RerankTextDocument& GetTextQuery() const{ return m_textQuery; } + inline bool TextQueryHasBeenSet() const { return m_textQueryHasBeenSet; } + inline void SetTextQuery(const RerankTextDocument& value) { m_textQueryHasBeenSet = true; m_textQuery = value; } + inline void SetTextQuery(RerankTextDocument&& value) { m_textQueryHasBeenSet = true; m_textQuery = std::move(value); } + inline RerankQuery& WithTextQuery(const RerankTextDocument& value) { SetTextQuery(value); return *this;} + inline RerankQuery& WithTextQuery(RerankTextDocument&& value) { SetTextQuery(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The type of the query.

+ */ + inline const RerankQueryContentType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RerankQueryContentType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RerankQueryContentType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RerankQuery& WithType(const RerankQueryContentType& value) { SetType(value); return *this;} + inline RerankQuery& WithType(RerankQueryContentType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + RerankTextDocument m_textQuery; + bool m_textQueryHasBeenSet = false; + + RerankQueryContentType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankQueryContentType.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankQueryContentType.h new file mode 100644 index 00000000000..7a0f24de513 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankQueryContentType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + enum class RerankQueryContentType + { + NOT_SET, + TEXT + }; + +namespace RerankQueryContentTypeMapper +{ +AWS_BEDROCKAGENTRUNTIME_API RerankQueryContentType GetRerankQueryContentTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENTRUNTIME_API Aws::String GetNameForRerankQueryContentType(RerankQueryContentType value); +} // namespace RerankQueryContentTypeMapper +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankRequest.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankRequest.h new file mode 100644 index 00000000000..e511ddb33db --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankRequest.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + */ + class RerankRequest : public BedrockAgentRuntimeRequest + { + public: + AWS_BEDROCKAGENTRUNTIME_API RerankRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "Rerank"; } + + AWS_BEDROCKAGENTRUNTIME_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

If the total number of results was greater than could fit in a response, a + * token is returned in the nextToken field. You can enter that token + * in this field to return the next batch of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline RerankRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline RerankRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline RerankRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

An array of objects, each of which contains information about a query to + * submit to the reranker model.

+ */ + inline const Aws::Vector& GetQueries() const{ return m_queries; } + inline bool QueriesHasBeenSet() const { return m_queriesHasBeenSet; } + inline void SetQueries(const Aws::Vector& value) { m_queriesHasBeenSet = true; m_queries = value; } + inline void SetQueries(Aws::Vector&& value) { m_queriesHasBeenSet = true; m_queries = std::move(value); } + inline RerankRequest& WithQueries(const Aws::Vector& value) { SetQueries(value); return *this;} + inline RerankRequest& WithQueries(Aws::Vector&& value) { SetQueries(std::move(value)); return *this;} + inline RerankRequest& AddQueries(const RerankQuery& value) { m_queriesHasBeenSet = true; m_queries.push_back(value); return *this; } + inline RerankRequest& AddQueries(RerankQuery&& value) { m_queriesHasBeenSet = true; m_queries.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

Contains configurations for reranking.

+ */ + inline const RerankingConfiguration& GetRerankingConfiguration() const{ return m_rerankingConfiguration; } + inline bool RerankingConfigurationHasBeenSet() const { return m_rerankingConfigurationHasBeenSet; } + inline void SetRerankingConfiguration(const RerankingConfiguration& value) { m_rerankingConfigurationHasBeenSet = true; m_rerankingConfiguration = value; } + inline void SetRerankingConfiguration(RerankingConfiguration&& value) { m_rerankingConfigurationHasBeenSet = true; m_rerankingConfiguration = std::move(value); } + inline RerankRequest& WithRerankingConfiguration(const RerankingConfiguration& value) { SetRerankingConfiguration(value); return *this;} + inline RerankRequest& WithRerankingConfiguration(RerankingConfiguration&& value) { SetRerankingConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

An array of objects, each of which contains information about the sources to + * rerank.

+ */ + inline const Aws::Vector& GetSources() const{ return m_sources; } + inline bool SourcesHasBeenSet() const { return m_sourcesHasBeenSet; } + inline void SetSources(const Aws::Vector& value) { m_sourcesHasBeenSet = true; m_sources = value; } + inline void SetSources(Aws::Vector&& value) { m_sourcesHasBeenSet = true; m_sources = std::move(value); } + inline RerankRequest& WithSources(const Aws::Vector& value) { SetSources(value); return *this;} + inline RerankRequest& WithSources(Aws::Vector&& value) { SetSources(std::move(value)); return *this;} + inline RerankRequest& AddSources(const RerankSource& value) { m_sourcesHasBeenSet = true; m_sources.push_back(value); return *this; } + inline RerankRequest& AddSources(RerankSource&& value) { m_sourcesHasBeenSet = true; m_sources.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_queries; + bool m_queriesHasBeenSet = false; + + RerankingConfiguration m_rerankingConfiguration; + bool m_rerankingConfigurationHasBeenSet = false; + + Aws::Vector m_sources; + bool m_sourcesHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankResult.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankResult.h new file mode 100644 index 00000000000..ade7b7034b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains information about a document that was reranked.

See + * Also:

AWS + * API Reference

+ */ + class RerankResult + { + public: + AWS_BEDROCKAGENTRUNTIME_API RerankResult(); + AWS_BEDROCKAGENTRUNTIME_API RerankResult(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RerankResult& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains information about the document.

+ */ + inline const RerankDocument& GetDocument() const{ return m_document; } + inline bool DocumentHasBeenSet() const { return m_documentHasBeenSet; } + inline void SetDocument(const RerankDocument& value) { m_documentHasBeenSet = true; m_document = value; } + inline void SetDocument(RerankDocument&& value) { m_documentHasBeenSet = true; m_document = std::move(value); } + inline RerankResult& WithDocument(const RerankDocument& value) { SetDocument(value); return *this;} + inline RerankResult& WithDocument(RerankDocument&& value) { SetDocument(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The ranking of the document. The lower a number, the higher the document is + * ranked.

+ */ + inline int GetIndex() const{ return m_index; } + inline bool IndexHasBeenSet() const { return m_indexHasBeenSet; } + inline void SetIndex(int value) { m_indexHasBeenSet = true; m_index = value; } + inline RerankResult& WithIndex(int value) { SetIndex(value); return *this;} + ///@} + + ///@{ + /** + *

The relevance score of the document.

+ */ + inline double GetRelevanceScore() const{ return m_relevanceScore; } + inline bool RelevanceScoreHasBeenSet() const { return m_relevanceScoreHasBeenSet; } + inline void SetRelevanceScore(double value) { m_relevanceScoreHasBeenSet = true; m_relevanceScore = value; } + inline RerankResult& WithRelevanceScore(double value) { SetRelevanceScore(value); return *this;} + ///@} + private: + + RerankDocument m_document; + bool m_documentHasBeenSet = false; + + int m_index; + bool m_indexHasBeenSet = false; + + double m_relevanceScore; + bool m_relevanceScoreHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSdkResult.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSdkResult.h new file mode 100644 index 00000000000..6ca3b5ca63a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSdkResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + class RerankSdkResult + { + public: + AWS_BEDROCKAGENTRUNTIME_API RerankSdkResult(); + AWS_BEDROCKAGENTRUNTIME_API RerankSdkResult(const Aws::AmazonWebServiceResult& result); + AWS_BEDROCKAGENTRUNTIME_API RerankSdkResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

If the total number of results is greater than can fit in the response, use + * this token in the nextToken field when making another request to + * return the next batch of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline RerankSdkResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline RerankSdkResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline RerankSdkResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

An array of objects, each of which contains information about the results of + * reranking.

+ */ + inline const Aws::Vector& GetResults() const{ return m_results; } + inline void SetResults(const Aws::Vector& value) { m_results = value; } + inline void SetResults(Aws::Vector&& value) { m_results = std::move(value); } + inline RerankSdkResult& WithResults(const Aws::Vector& value) { SetResults(value); return *this;} + inline RerankSdkResult& WithResults(Aws::Vector&& value) { SetResults(std::move(value)); return *this;} + inline RerankSdkResult& AddResults(const RerankResult& value) { m_results.push_back(value); return *this; } + inline RerankSdkResult& AddResults(RerankResult&& value) { m_results.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline RerankSdkResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline RerankSdkResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline RerankSdkResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_results; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSource.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSource.h new file mode 100644 index 00000000000..f53ac5f560a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSource.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains information about a source for reranking.

See Also:

+ * AWS + * API Reference

+ */ + class RerankSource + { + public: + AWS_BEDROCKAGENTRUNTIME_API RerankSource(); + AWS_BEDROCKAGENTRUNTIME_API RerankSource(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RerankSource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains an inline definition of a source for reranking.

+ */ + inline const RerankDocument& GetInlineDocumentSource() const{ return m_inlineDocumentSource; } + inline bool InlineDocumentSourceHasBeenSet() const { return m_inlineDocumentSourceHasBeenSet; } + inline void SetInlineDocumentSource(const RerankDocument& value) { m_inlineDocumentSourceHasBeenSet = true; m_inlineDocumentSource = value; } + inline void SetInlineDocumentSource(RerankDocument&& value) { m_inlineDocumentSourceHasBeenSet = true; m_inlineDocumentSource = std::move(value); } + inline RerankSource& WithInlineDocumentSource(const RerankDocument& value) { SetInlineDocumentSource(value); return *this;} + inline RerankSource& WithInlineDocumentSource(RerankDocument&& value) { SetInlineDocumentSource(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The type of the source.

+ */ + inline const RerankSourceType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RerankSourceType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RerankSourceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RerankSource& WithType(const RerankSourceType& value) { SetType(value); return *this;} + inline RerankSource& WithType(RerankSourceType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + RerankDocument m_inlineDocumentSource; + bool m_inlineDocumentSourceHasBeenSet = false; + + RerankSourceType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSourceType.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSourceType.h new file mode 100644 index 00000000000..394720fd997 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankSourceType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + enum class RerankSourceType + { + NOT_SET, + INLINE + }; + +namespace RerankSourceTypeMapper +{ +AWS_BEDROCKAGENTRUNTIME_API RerankSourceType GetRerankSourceTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENTRUNTIME_API Aws::String GetNameForRerankSourceType(RerankSourceType value); +} // namespace RerankSourceTypeMapper +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankTextDocument.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankTextDocument.h new file mode 100644 index 00000000000..75434503b5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankTextDocument.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains information about a text document to rerank.

See + * Also:

AWS + * API Reference

+ */ + class RerankTextDocument + { + public: + AWS_BEDROCKAGENTRUNTIME_API RerankTextDocument(); + AWS_BEDROCKAGENTRUNTIME_API RerankTextDocument(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RerankTextDocument& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The text of the document.

+ */ + inline const Aws::String& GetText() const{ return m_text; } + inline bool TextHasBeenSet() const { return m_textHasBeenSet; } + inline void SetText(const Aws::String& value) { m_textHasBeenSet = true; m_text = value; } + inline void SetText(Aws::String&& value) { m_textHasBeenSet = true; m_text = std::move(value); } + inline void SetText(const char* value) { m_textHasBeenSet = true; m_text.assign(value); } + inline RerankTextDocument& WithText(const Aws::String& value) { SetText(value); return *this;} + inline RerankTextDocument& WithText(Aws::String&& value) { SetText(std::move(value)); return *this;} + inline RerankTextDocument& WithText(const char* value) { SetText(value); return *this;} + ///@} + private: + + Aws::String m_text; + bool m_textHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingConfiguration.h new file mode 100644 index 00000000000..40c1c56d42d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingConfiguration.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains configurations for reranking.

See Also:

AWS + * API Reference

+ */ + class RerankingConfiguration + { + public: + AWS_BEDROCKAGENTRUNTIME_API RerankingConfiguration(); + AWS_BEDROCKAGENTRUNTIME_API RerankingConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RerankingConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains configurations for an Amazon Bedrock reranker.

+ */ + inline const BedrockRerankingConfiguration& GetBedrockRerankingConfiguration() const{ return m_bedrockRerankingConfiguration; } + inline bool BedrockRerankingConfigurationHasBeenSet() const { return m_bedrockRerankingConfigurationHasBeenSet; } + inline void SetBedrockRerankingConfiguration(const BedrockRerankingConfiguration& value) { m_bedrockRerankingConfigurationHasBeenSet = true; m_bedrockRerankingConfiguration = value; } + inline void SetBedrockRerankingConfiguration(BedrockRerankingConfiguration&& value) { m_bedrockRerankingConfigurationHasBeenSet = true; m_bedrockRerankingConfiguration = std::move(value); } + inline RerankingConfiguration& WithBedrockRerankingConfiguration(const BedrockRerankingConfiguration& value) { SetBedrockRerankingConfiguration(value); return *this;} + inline RerankingConfiguration& WithBedrockRerankingConfiguration(BedrockRerankingConfiguration&& value) { SetBedrockRerankingConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The type of reranker that the configurations apply to.

+ */ + inline const RerankingConfigurationType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RerankingConfigurationType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RerankingConfigurationType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RerankingConfiguration& WithType(const RerankingConfigurationType& value) { SetType(value); return *this;} + inline RerankingConfiguration& WithType(RerankingConfigurationType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + BedrockRerankingConfiguration m_bedrockRerankingConfiguration; + bool m_bedrockRerankingConfigurationHasBeenSet = false; + + RerankingConfigurationType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingConfigurationType.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingConfigurationType.h new file mode 100644 index 00000000000..f63fc0f4ed9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingConfigurationType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + enum class RerankingConfigurationType + { + NOT_SET, + BEDROCK_RERANKING_MODEL + }; + +namespace RerankingConfigurationTypeMapper +{ +AWS_BEDROCKAGENTRUNTIME_API RerankingConfigurationType GetRerankingConfigurationTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENTRUNTIME_API Aws::String GetNameForRerankingConfigurationType(RerankingConfigurationType value); +} // namespace RerankingConfigurationTypeMapper +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingMetadataSelectionMode.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingMetadataSelectionMode.h new file mode 100644 index 00000000000..a2121fee32f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingMetadataSelectionMode.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + enum class RerankingMetadataSelectionMode + { + NOT_SET, + SELECTIVE, + ALL + }; + +namespace RerankingMetadataSelectionModeMapper +{ +AWS_BEDROCKAGENTRUNTIME_API RerankingMetadataSelectionMode GetRerankingMetadataSelectionModeForName(const Aws::String& name); + +AWS_BEDROCKAGENTRUNTIME_API Aws::String GetNameForRerankingMetadataSelectionMode(RerankingMetadataSelectionMode value); +} // namespace RerankingMetadataSelectionModeMapper +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingMetadataSelectiveModeConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingMetadataSelectiveModeConfiguration.h new file mode 100644 index 00000000000..c77bb4cfa8d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RerankingMetadataSelectiveModeConfiguration.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains configurations for the metadata fields to include or exclude when + * considering reranking. If you include the fieldsToExclude field, + * the reranker ignores all the metadata fields that you specify. If you include + * the fieldsToInclude field, the reranker uses only the metadata + * fields that you specify and ignores all others. You can include only one of + * these fields.

See Also:

AWS + * API Reference

+ */ + class RerankingMetadataSelectiveModeConfiguration + { + public: + AWS_BEDROCKAGENTRUNTIME_API RerankingMetadataSelectiveModeConfiguration(); + AWS_BEDROCKAGENTRUNTIME_API RerankingMetadataSelectiveModeConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RerankingMetadataSelectiveModeConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

An array of objects, each of which specifies a metadata field to exclude from + * consideration when reranking.

+ */ + inline const Aws::Vector& GetFieldsToExclude() const{ return m_fieldsToExclude; } + inline bool FieldsToExcludeHasBeenSet() const { return m_fieldsToExcludeHasBeenSet; } + inline void SetFieldsToExclude(const Aws::Vector& value) { m_fieldsToExcludeHasBeenSet = true; m_fieldsToExclude = value; } + inline void SetFieldsToExclude(Aws::Vector&& value) { m_fieldsToExcludeHasBeenSet = true; m_fieldsToExclude = std::move(value); } + inline RerankingMetadataSelectiveModeConfiguration& WithFieldsToExclude(const Aws::Vector& value) { SetFieldsToExclude(value); return *this;} + inline RerankingMetadataSelectiveModeConfiguration& WithFieldsToExclude(Aws::Vector&& value) { SetFieldsToExclude(std::move(value)); return *this;} + inline RerankingMetadataSelectiveModeConfiguration& AddFieldsToExclude(const FieldForReranking& value) { m_fieldsToExcludeHasBeenSet = true; m_fieldsToExclude.push_back(value); return *this; } + inline RerankingMetadataSelectiveModeConfiguration& AddFieldsToExclude(FieldForReranking&& value) { m_fieldsToExcludeHasBeenSet = true; m_fieldsToExclude.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

An array of objects, each of which specifies a metadata field to include in + * consideration when reranking. The remaining metadata fields are ignored.

+ */ + inline const Aws::Vector& GetFieldsToInclude() const{ return m_fieldsToInclude; } + inline bool FieldsToIncludeHasBeenSet() const { return m_fieldsToIncludeHasBeenSet; } + inline void SetFieldsToInclude(const Aws::Vector& value) { m_fieldsToIncludeHasBeenSet = true; m_fieldsToInclude = value; } + inline void SetFieldsToInclude(Aws::Vector&& value) { m_fieldsToIncludeHasBeenSet = true; m_fieldsToInclude = std::move(value); } + inline RerankingMetadataSelectiveModeConfiguration& WithFieldsToInclude(const Aws::Vector& value) { SetFieldsToInclude(value); return *this;} + inline RerankingMetadataSelectiveModeConfiguration& WithFieldsToInclude(Aws::Vector&& value) { SetFieldsToInclude(std::move(value)); return *this;} + inline RerankingMetadataSelectiveModeConfiguration& AddFieldsToInclude(const FieldForReranking& value) { m_fieldsToIncludeHasBeenSet = true; m_fieldsToInclude.push_back(value); return *this; } + inline RerankingMetadataSelectiveModeConfiguration& AddFieldsToInclude(FieldForReranking&& value) { m_fieldsToIncludeHasBeenSet = true; m_fieldsToInclude.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_fieldsToExclude; + bool m_fieldsToExcludeHasBeenSet = false; + + Aws::Vector m_fieldsToInclude; + bool m_fieldsToIncludeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultCustomDocumentLocation.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultCustomDocumentLocation.h new file mode 100644 index 00000000000..3ea3e6e658d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultCustomDocumentLocation.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains information about the location of a document in a custom data + * source.

See Also:

AWS + * API Reference

+ */ + class RetrievalResultCustomDocumentLocation + { + public: + AWS_BEDROCKAGENTRUNTIME_API RetrievalResultCustomDocumentLocation(); + AWS_BEDROCKAGENTRUNTIME_API RetrievalResultCustomDocumentLocation(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RetrievalResultCustomDocumentLocation& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The ID of the document.

+ */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline RetrievalResultCustomDocumentLocation& WithId(const Aws::String& value) { SetId(value); return *this;} + inline RetrievalResultCustomDocumentLocation& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline RetrievalResultCustomDocumentLocation& WithId(const char* value) { SetId(value); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultLocation.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultLocation.h index 764a7c880ad..6076094c5f1 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultLocation.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultLocation.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include #include @@ -62,6 +63,18 @@ namespace Model inline RetrievalResultLocation& WithConfluenceLocation(RetrievalResultConfluenceLocation&& value) { SetConfluenceLocation(std::move(value)); return *this;} ///@} + ///@{ + /** + *

Specifies the location of a document in a custom data source.

+ */ + inline const RetrievalResultCustomDocumentLocation& GetCustomDocumentLocation() const{ return m_customDocumentLocation; } + inline bool CustomDocumentLocationHasBeenSet() const { return m_customDocumentLocationHasBeenSet; } + inline void SetCustomDocumentLocation(const RetrievalResultCustomDocumentLocation& value) { m_customDocumentLocationHasBeenSet = true; m_customDocumentLocation = value; } + inline void SetCustomDocumentLocation(RetrievalResultCustomDocumentLocation&& value) { m_customDocumentLocationHasBeenSet = true; m_customDocumentLocation = std::move(value); } + inline RetrievalResultLocation& WithCustomDocumentLocation(const RetrievalResultCustomDocumentLocation& value) { SetCustomDocumentLocation(value); return *this;} + inline RetrievalResultLocation& WithCustomDocumentLocation(RetrievalResultCustomDocumentLocation&& value) { SetCustomDocumentLocation(std::move(value)); return *this;} + ///@} + ///@{ /** *

The S3 data source location.

@@ -126,6 +139,9 @@ namespace Model RetrievalResultConfluenceLocation m_confluenceLocation; bool m_confluenceLocationHasBeenSet = false; + RetrievalResultCustomDocumentLocation m_customDocumentLocation; + bool m_customDocumentLocationHasBeenSet = false; + RetrievalResultS3Location m_s3Location; bool m_s3LocationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultLocationType.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultLocationType.h index 3f0fd479352..d7cdbd179a0 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultLocationType.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrievalResultLocationType.h @@ -20,7 +20,8 @@ namespace Model WEB, CONFLUENCE, SALESFORCE, - SHAREPOINT + SHAREPOINT, + CUSTOM }; namespace RetrievalResultLocationTypeMapper diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateOutputEvent.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateOutputEvent.h new file mode 100644 index 00000000000..6d8114e0e35 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateOutputEvent.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

A retrieve and generate output event.

See Also:

AWS + * API Reference

+ */ + class RetrieveAndGenerateOutputEvent + { + public: + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateOutputEvent(); + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateOutputEvent(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateOutputEvent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

A text response.

+ */ + inline const Aws::String& GetText() const{ return m_text; } + inline bool TextHasBeenSet() const { return m_textHasBeenSet; } + inline void SetText(const Aws::String& value) { m_textHasBeenSet = true; m_text = value; } + inline void SetText(Aws::String&& value) { m_textHasBeenSet = true; m_text = std::move(value); } + inline void SetText(const char* value) { m_textHasBeenSet = true; m_text.assign(value); } + inline RetrieveAndGenerateOutputEvent& WithText(const Aws::String& value) { SetText(value); return *this;} + inline RetrieveAndGenerateOutputEvent& WithText(Aws::String&& value) { SetText(std::move(value)); return *this;} + inline RetrieveAndGenerateOutputEvent& WithText(const char* value) { SetText(value); return *this;} + ///@} + private: + + Aws::String m_text; + bool m_textHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamHandler.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamHandler.h new file mode 100644 index 00000000000..dadbde76c68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamHandler.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + enum class RetrieveAndGenerateStreamEventType + { + INITIAL_RESPONSE, + CITATION, + GUARDRAIL, + OUTPUT, + UNKNOWN + }; + + class RetrieveAndGenerateStreamHandler : public Aws::Utils::Event::EventStreamHandler + { + typedef std::function RetrieveAndGenerateStreamInitialResponseCallback; + typedef std::function RetrieveAndGenerateStreamInitialResponseCallbackEx; + typedef std::function CitationEventCallback; + typedef std::function GuardrailEventCallback; + typedef std::function RetrieveAndGenerateOutputEventCallback; + typedef std::function& error)> ErrorCallback; + + public: + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamHandler(); + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamHandler& operator=(const RetrieveAndGenerateStreamHandler&) = default; + + AWS_BEDROCKAGENTRUNTIME_API virtual void OnEvent() override; + + ///@{ + /** + * Sets an initial response callback. This callback gets called on the initial RetrieveAndGenerateStream Operation response. + * This can be either "initial-response" decoded event frame or decoded HTTP headers received on connection. + * This callback may get called more than once (i.e. on connection headers received and then on the initial-response event received). + * @param callback + */ + inline void SetInitialResponseCallbackEx(const RetrieveAndGenerateStreamInitialResponseCallbackEx& callback) { m_onInitialResponse = callback; } + /** + * Sets an initial response callback (a legacy one that does not distinguish whether response originates from headers or from the event). + */ + inline void SetInitialResponseCallback(const RetrieveAndGenerateStreamInitialResponseCallback& noArgCallback) + { + m_onInitialResponse = [noArgCallback](const RetrieveAndGenerateStreamInitialResponse& rs, const Utils::Event::InitialResponseType) { return noArgCallback(rs); }; + } + ///@} + inline void SetCitationEventCallback(const CitationEventCallback& callback) { m_onCitationEvent = callback; } + inline void SetGuardrailEventCallback(const GuardrailEventCallback& callback) { m_onGuardrailEvent = callback; } + inline void SetRetrieveAndGenerateOutputEventCallback(const RetrieveAndGenerateOutputEventCallback& callback) { m_onRetrieveAndGenerateOutputEvent = callback; } + inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; } + + inline RetrieveAndGenerateStreamInitialResponseCallbackEx& GetInitialResponseCallbackEx() { return m_onInitialResponse; } + + private: + AWS_BEDROCKAGENTRUNTIME_API void HandleEventInMessage(); + AWS_BEDROCKAGENTRUNTIME_API void HandleErrorInMessage(); + AWS_BEDROCKAGENTRUNTIME_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage); + + RetrieveAndGenerateStreamInitialResponseCallbackEx m_onInitialResponse; + CitationEventCallback m_onCitationEvent; + GuardrailEventCallback m_onGuardrailEvent; + RetrieveAndGenerateOutputEventCallback m_onRetrieveAndGenerateOutputEvent; + ErrorCallback m_onError; + }; + +namespace RetrieveAndGenerateStreamEventMapper +{ + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamEventType GetRetrieveAndGenerateStreamEventTypeForName(const Aws::String& name); + + AWS_BEDROCKAGENTRUNTIME_API Aws::String GetNameForRetrieveAndGenerateStreamEventType(RetrieveAndGenerateStreamEventType value); +} // namespace RetrieveAndGenerateStreamEventMapper +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamInitialResponse.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamInitialResponse.h new file mode 100644 index 00000000000..81d989c2c24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamInitialResponse.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + class RetrieveAndGenerateStreamInitialResponse + { + public: + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamInitialResponse(); + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamInitialResponse(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamInitialResponse& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamInitialResponse(const Http::HeaderValueCollection& responseHeaders); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The session ID.

+ */ + inline const Aws::String& GetSessionId() const{ return m_sessionId; } + inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } + inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } + inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } + inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } + inline RetrieveAndGenerateStreamInitialResponse& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} + inline RetrieveAndGenerateStreamInitialResponse& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} + inline RetrieveAndGenerateStreamInitialResponse& WithSessionId(const char* value) { SetSessionId(value); return *this;} + ///@} + private: + + Aws::String m_sessionId; + bool m_sessionIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamRequest.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamRequest.h new file mode 100644 index 00000000000..d92f3e81dd5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamRequest.h @@ -0,0 +1,137 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + */ + class RetrieveAndGenerateStreamRequest : public BedrockAgentRuntimeRequest + { + public: + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "RetrieveAndGenerateStream"; } + + AWS_BEDROCKAGENTRUNTIME_API Aws::String SerializePayload() const override; + + /** + * Underlying Event Stream Decoder. + */ + inline Aws::Utils::Event::EventStreamDecoder& GetEventStreamDecoder() { return m_decoder; } + + /** + * Underlying Event Stream Handler which is used to define callback functions. + */ + inline const RetrieveAndGenerateStreamHandler& GetEventStreamHandler() const { return m_handler; } + + /** + * Underlying Event Stream Handler which is used to define callback functions. + */ + inline void SetEventStreamHandler(const RetrieveAndGenerateStreamHandler& value) { m_handler = value; m_decoder.ResetEventStreamHandler(&m_handler); } + + /** + * Underlying Event Stream Handler which is used to define callback functions. + */ + inline RetrieveAndGenerateStreamRequest& WithEventStreamHandler(const RetrieveAndGenerateStreamHandler& value) { SetEventStreamHandler(value); return *this; } + + + ///@{ + /** + *

Contains the query to be made to the knowledge base.

+ */ + inline const RetrieveAndGenerateInput& GetInput() const{ return m_input; } + inline bool InputHasBeenSet() const { return m_inputHasBeenSet; } + inline void SetInput(const RetrieveAndGenerateInput& value) { m_inputHasBeenSet = true; m_input = value; } + inline void SetInput(RetrieveAndGenerateInput&& value) { m_inputHasBeenSet = true; m_input = std::move(value); } + inline RetrieveAndGenerateStreamRequest& WithInput(const RetrieveAndGenerateInput& value) { SetInput(value); return *this;} + inline RetrieveAndGenerateStreamRequest& WithInput(RetrieveAndGenerateInput&& value) { SetInput(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains configurations for the knowledge base query and retrieval process. + * For more information, see Query + * configurations.

+ */ + inline const RetrieveAndGenerateConfiguration& GetRetrieveAndGenerateConfiguration() const{ return m_retrieveAndGenerateConfiguration; } + inline bool RetrieveAndGenerateConfigurationHasBeenSet() const { return m_retrieveAndGenerateConfigurationHasBeenSet; } + inline void SetRetrieveAndGenerateConfiguration(const RetrieveAndGenerateConfiguration& value) { m_retrieveAndGenerateConfigurationHasBeenSet = true; m_retrieveAndGenerateConfiguration = value; } + inline void SetRetrieveAndGenerateConfiguration(RetrieveAndGenerateConfiguration&& value) { m_retrieveAndGenerateConfigurationHasBeenSet = true; m_retrieveAndGenerateConfiguration = std::move(value); } + inline RetrieveAndGenerateStreamRequest& WithRetrieveAndGenerateConfiguration(const RetrieveAndGenerateConfiguration& value) { SetRetrieveAndGenerateConfiguration(value); return *this;} + inline RetrieveAndGenerateStreamRequest& WithRetrieveAndGenerateConfiguration(RetrieveAndGenerateConfiguration&& value) { SetRetrieveAndGenerateConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains details about the session with the knowledge base.

+ */ + inline const RetrieveAndGenerateSessionConfiguration& GetSessionConfiguration() const{ return m_sessionConfiguration; } + inline bool SessionConfigurationHasBeenSet() const { return m_sessionConfigurationHasBeenSet; } + inline void SetSessionConfiguration(const RetrieveAndGenerateSessionConfiguration& value) { m_sessionConfigurationHasBeenSet = true; m_sessionConfiguration = value; } + inline void SetSessionConfiguration(RetrieveAndGenerateSessionConfiguration&& value) { m_sessionConfigurationHasBeenSet = true; m_sessionConfiguration = std::move(value); } + inline RetrieveAndGenerateStreamRequest& WithSessionConfiguration(const RetrieveAndGenerateSessionConfiguration& value) { SetSessionConfiguration(value); return *this;} + inline RetrieveAndGenerateStreamRequest& WithSessionConfiguration(RetrieveAndGenerateSessionConfiguration&& value) { SetSessionConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The unique identifier of the session. When you first make a + * RetrieveAndGenerate request, Amazon Bedrock automatically generates + * this value. You must reuse this value for all subsequent requests in the same + * conversational session. This value allows Amazon Bedrock to maintain context and + * knowledge from previous interactions. You can't explicitly set the + * sessionId yourself.

+ */ + inline const Aws::String& GetSessionId() const{ return m_sessionId; } + inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } + inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } + inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } + inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } + inline RetrieveAndGenerateStreamRequest& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} + inline RetrieveAndGenerateStreamRequest& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} + inline RetrieveAndGenerateStreamRequest& WithSessionId(const char* value) { SetSessionId(value); return *this;} + ///@} + private: + + RetrieveAndGenerateInput m_input; + bool m_inputHasBeenSet = false; + + RetrieveAndGenerateConfiguration m_retrieveAndGenerateConfiguration; + bool m_retrieveAndGenerateConfigurationHasBeenSet = false; + + RetrieveAndGenerateSessionConfiguration m_sessionConfiguration; + bool m_sessionConfigurationHasBeenSet = false; + + Aws::String m_sessionId; + bool m_sessionIdHasBeenSet = false; + RetrieveAndGenerateStreamHandler m_handler; + Aws::Utils::Event::EventStreamDecoder m_decoder; + + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamResponseOutput.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamResponseOutput.h new file mode 100644 index 00000000000..12a1877b868 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamResponseOutput.h @@ -0,0 +1,250 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

A retrieve and generate stream response output.

See Also:

AWS + * API Reference

+ */ + class RetrieveAndGenerateStreamResponseOutput + { + public: + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamResponseOutput(); + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamResponseOutput(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamResponseOutput& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The request is denied because you do not have sufficient permissions to + * perform the requested action. For troubleshooting this error, see AccessDeniedException + * in the Amazon Bedrock User Guide.

+ */ + inline const AccessDeniedException& GetAccessDeniedException() const{ return m_accessDeniedException; } + inline bool AccessDeniedExceptionHasBeenSet() const { return m_accessDeniedExceptionHasBeenSet; } + inline void SetAccessDeniedException(const AccessDeniedException& value) { m_accessDeniedExceptionHasBeenSet = true; m_accessDeniedException = value; } + inline void SetAccessDeniedException(AccessDeniedException&& value) { m_accessDeniedExceptionHasBeenSet = true; m_accessDeniedException = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithAccessDeniedException(const AccessDeniedException& value) { SetAccessDeniedException(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithAccessDeniedException(AccessDeniedException&& value) { SetAccessDeniedException(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The request failed due to a bad gateway error.

+ */ + inline const BadGatewayException& GetBadGatewayException() const{ return m_badGatewayException; } + inline bool BadGatewayExceptionHasBeenSet() const { return m_badGatewayExceptionHasBeenSet; } + inline void SetBadGatewayException(const BadGatewayException& value) { m_badGatewayExceptionHasBeenSet = true; m_badGatewayException = value; } + inline void SetBadGatewayException(BadGatewayException&& value) { m_badGatewayExceptionHasBeenSet = true; m_badGatewayException = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithBadGatewayException(const BadGatewayException& value) { SetBadGatewayException(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithBadGatewayException(BadGatewayException&& value) { SetBadGatewayException(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

A citation event.

+ */ + inline const CitationEvent& GetCitation() const{ return m_citation; } + inline bool CitationHasBeenSet() const { return m_citationHasBeenSet; } + inline void SetCitation(const CitationEvent& value) { m_citationHasBeenSet = true; m_citation = value; } + inline void SetCitation(CitationEvent&& value) { m_citationHasBeenSet = true; m_citation = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithCitation(const CitationEvent& value) { SetCitation(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithCitation(CitationEvent&& value) { SetCitation(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Error occurred because of a conflict while performing an operation.

+ */ + inline const ConflictException& GetConflictException() const{ return m_conflictException; } + inline bool ConflictExceptionHasBeenSet() const { return m_conflictExceptionHasBeenSet; } + inline void SetConflictException(const ConflictException& value) { m_conflictExceptionHasBeenSet = true; m_conflictException = value; } + inline void SetConflictException(ConflictException&& value) { m_conflictExceptionHasBeenSet = true; m_conflictException = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithConflictException(const ConflictException& value) { SetConflictException(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithConflictException(ConflictException&& value) { SetConflictException(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The request failed due to a dependency error.

+ */ + inline const DependencyFailedException& GetDependencyFailedException() const{ return m_dependencyFailedException; } + inline bool DependencyFailedExceptionHasBeenSet() const { return m_dependencyFailedExceptionHasBeenSet; } + inline void SetDependencyFailedException(const DependencyFailedException& value) { m_dependencyFailedExceptionHasBeenSet = true; m_dependencyFailedException = value; } + inline void SetDependencyFailedException(DependencyFailedException&& value) { m_dependencyFailedExceptionHasBeenSet = true; m_dependencyFailedException = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithDependencyFailedException(const DependencyFailedException& value) { SetDependencyFailedException(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithDependencyFailedException(DependencyFailedException&& value) { SetDependencyFailedException(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

A guardrail event.

+ */ + inline const GuardrailEvent& GetGuardrail() const{ return m_guardrail; } + inline bool GuardrailHasBeenSet() const { return m_guardrailHasBeenSet; } + inline void SetGuardrail(const GuardrailEvent& value) { m_guardrailHasBeenSet = true; m_guardrail = value; } + inline void SetGuardrail(GuardrailEvent&& value) { m_guardrailHasBeenSet = true; m_guardrail = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithGuardrail(const GuardrailEvent& value) { SetGuardrail(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithGuardrail(GuardrailEvent&& value) { SetGuardrail(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

An internal server error occurred. Retry your request.

+ */ + inline const InternalServerException& GetInternalServerException() const{ return m_internalServerException; } + inline bool InternalServerExceptionHasBeenSet() const { return m_internalServerExceptionHasBeenSet; } + inline void SetInternalServerException(const InternalServerException& value) { m_internalServerExceptionHasBeenSet = true; m_internalServerException = value; } + inline void SetInternalServerException(InternalServerException&& value) { m_internalServerExceptionHasBeenSet = true; m_internalServerException = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithInternalServerException(const InternalServerException& value) { SetInternalServerException(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithInternalServerException(InternalServerException&& value) { SetInternalServerException(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

An output event.

+ */ + inline const RetrieveAndGenerateOutputEvent& GetOutput() const{ return m_output; } + inline bool OutputHasBeenSet() const { return m_outputHasBeenSet; } + inline void SetOutput(const RetrieveAndGenerateOutputEvent& value) { m_outputHasBeenSet = true; m_output = value; } + inline void SetOutput(RetrieveAndGenerateOutputEvent&& value) { m_outputHasBeenSet = true; m_output = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithOutput(const RetrieveAndGenerateOutputEvent& value) { SetOutput(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithOutput(RetrieveAndGenerateOutputEvent&& value) { SetOutput(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The specified resource ARN was not found. For troubleshooting this error, see + * ResourceNotFound + * in the Amazon Bedrock User Guide.

+ */ + inline const ResourceNotFoundException& GetResourceNotFoundException() const{ return m_resourceNotFoundException; } + inline bool ResourceNotFoundExceptionHasBeenSet() const { return m_resourceNotFoundExceptionHasBeenSet; } + inline void SetResourceNotFoundException(const ResourceNotFoundException& value) { m_resourceNotFoundExceptionHasBeenSet = true; m_resourceNotFoundException = value; } + inline void SetResourceNotFoundException(ResourceNotFoundException&& value) { m_resourceNotFoundExceptionHasBeenSet = true; m_resourceNotFoundException = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithResourceNotFoundException(const ResourceNotFoundException& value) { SetResourceNotFoundException(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithResourceNotFoundException(ResourceNotFoundException&& value) { SetResourceNotFoundException(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Your request exceeds the service quota for your account. You can view your + * quotas at Viewing + * service quotas. You can resubmit your request later.

+ */ + inline const ServiceQuotaExceededException& GetServiceQuotaExceededException() const{ return m_serviceQuotaExceededException; } + inline bool ServiceQuotaExceededExceptionHasBeenSet() const { return m_serviceQuotaExceededExceptionHasBeenSet; } + inline void SetServiceQuotaExceededException(const ServiceQuotaExceededException& value) { m_serviceQuotaExceededExceptionHasBeenSet = true; m_serviceQuotaExceededException = value; } + inline void SetServiceQuotaExceededException(ServiceQuotaExceededException&& value) { m_serviceQuotaExceededExceptionHasBeenSet = true; m_serviceQuotaExceededException = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithServiceQuotaExceededException(const ServiceQuotaExceededException& value) { SetServiceQuotaExceededException(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithServiceQuotaExceededException(ServiceQuotaExceededException&& value) { SetServiceQuotaExceededException(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

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.

+ */ + inline const ThrottlingException& GetThrottlingException() const{ return m_throttlingException; } + inline bool ThrottlingExceptionHasBeenSet() const { return m_throttlingExceptionHasBeenSet; } + inline void SetThrottlingException(const ThrottlingException& value) { m_throttlingExceptionHasBeenSet = true; m_throttlingException = value; } + inline void SetThrottlingException(ThrottlingException&& value) { m_throttlingExceptionHasBeenSet = true; m_throttlingException = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithThrottlingException(const ThrottlingException& value) { SetThrottlingException(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithThrottlingException(ThrottlingException&& value) { SetThrottlingException(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The input fails to satisfy the constraints specified by Amazon + * Bedrock. For troubleshooting this error, see ValidationError + * in the Amazon Bedrock User Guide.

+ */ + inline const ValidationException& GetValidationException() const{ return m_validationException; } + inline bool ValidationExceptionHasBeenSet() const { return m_validationExceptionHasBeenSet; } + inline void SetValidationException(const ValidationException& value) { m_validationExceptionHasBeenSet = true; m_validationException = value; } + inline void SetValidationException(ValidationException&& value) { m_validationExceptionHasBeenSet = true; m_validationException = std::move(value); } + inline RetrieveAndGenerateStreamResponseOutput& WithValidationException(const ValidationException& value) { SetValidationException(value); return *this;} + inline RetrieveAndGenerateStreamResponseOutput& WithValidationException(ValidationException&& value) { SetValidationException(std::move(value)); return *this;} + ///@} + private: + + AccessDeniedException m_accessDeniedException; + bool m_accessDeniedExceptionHasBeenSet = false; + + BadGatewayException m_badGatewayException; + bool m_badGatewayExceptionHasBeenSet = false; + + CitationEvent m_citation; + bool m_citationHasBeenSet = false; + + ConflictException m_conflictException; + bool m_conflictExceptionHasBeenSet = false; + + DependencyFailedException m_dependencyFailedException; + bool m_dependencyFailedExceptionHasBeenSet = false; + + GuardrailEvent m_guardrail; + bool m_guardrailHasBeenSet = false; + + InternalServerException m_internalServerException; + bool m_internalServerExceptionHasBeenSet = false; + + RetrieveAndGenerateOutputEvent m_output; + bool m_outputHasBeenSet = false; + + ResourceNotFoundException m_resourceNotFoundException; + bool m_resourceNotFoundExceptionHasBeenSet = false; + + ServiceQuotaExceededException m_serviceQuotaExceededException; + bool m_serviceQuotaExceededExceptionHasBeenSet = false; + + ThrottlingException m_throttlingException; + bool m_throttlingExceptionHasBeenSet = false; + + ValidationException m_validationException; + bool m_validationExceptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveRequest.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveRequest.h index 5a7ae9d1d32..d9dccec4664 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveRequest.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveRequest.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include #include @@ -34,6 +35,18 @@ namespace Model AWS_BEDROCKAGENTRUNTIME_API Aws::String SerializePayload() const override; + ///@{ + /** + *

Guardrail settings.

+ */ + inline const GuardrailConfiguration& GetGuardrailConfiguration() const{ return m_guardrailConfiguration; } + inline bool GuardrailConfigurationHasBeenSet() const { return m_guardrailConfigurationHasBeenSet; } + inline void SetGuardrailConfiguration(const GuardrailConfiguration& value) { m_guardrailConfigurationHasBeenSet = true; m_guardrailConfiguration = value; } + inline void SetGuardrailConfiguration(GuardrailConfiguration&& value) { m_guardrailConfigurationHasBeenSet = true; m_guardrailConfiguration = std::move(value); } + inline RetrieveRequest& WithGuardrailConfiguration(const GuardrailConfiguration& value) { SetGuardrailConfiguration(value); return *this;} + inline RetrieveRequest& WithGuardrailConfiguration(GuardrailConfiguration&& value) { SetGuardrailConfiguration(std::move(value)); return *this;} + ///@} + ///@{ /** *

The unique identifier of the knowledge base to query.

@@ -92,6 +105,9 @@ namespace Model ///@} private: + GuardrailConfiguration m_guardrailConfiguration; + bool m_guardrailConfigurationHasBeenSet = false; + Aws::String m_knowledgeBaseId; bool m_knowledgeBaseIdHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveResult.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveResult.h index f5bbd36c44a..e81ec8d61ac 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveResult.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveResult.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include #include @@ -34,6 +35,17 @@ namespace Model AWS_BEDROCKAGENTRUNTIME_API RetrieveResult& operator=(const Aws::AmazonWebServiceResult& result); + ///@{ + /** + *

Specifies if there is a guardrail intervention in the response.

+ */ + inline const GuadrailAction& GetGuardrailAction() const{ return m_guardrailAction; } + inline void SetGuardrailAction(const GuadrailAction& value) { m_guardrailAction = value; } + inline void SetGuardrailAction(GuadrailAction&& value) { m_guardrailAction = std::move(value); } + inline RetrieveResult& WithGuardrailAction(const GuadrailAction& value) { SetGuardrailAction(value); return *this;} + inline RetrieveResult& WithGuardrailAction(GuadrailAction&& value) { SetGuardrailAction(std::move(value)); return *this;} + ///@} + ///@{ /** *

If there are more results than can fit in the response, the response returns @@ -74,6 +86,8 @@ namespace Model ///@} private: + GuadrailAction m_guardrailAction; + Aws::String m_nextToken; Aws::Vector m_retrievalResults; diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchBedrockRerankingConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchBedrockRerankingConfiguration.h new file mode 100644 index 00000000000..52033115276 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchBedrockRerankingConfiguration.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains configurations for reranking with an Amazon Bedrock reranker + * model.

See Also:

AWS + * API Reference

+ */ + class VectorSearchBedrockRerankingConfiguration + { + public: + AWS_BEDROCKAGENTRUNTIME_API VectorSearchBedrockRerankingConfiguration(); + AWS_BEDROCKAGENTRUNTIME_API VectorSearchBedrockRerankingConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API VectorSearchBedrockRerankingConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains configurations for the metadata to use in reranking.

+ */ + inline const MetadataConfigurationForReranking& GetMetadataConfiguration() const{ return m_metadataConfiguration; } + inline bool MetadataConfigurationHasBeenSet() const { return m_metadataConfigurationHasBeenSet; } + inline void SetMetadataConfiguration(const MetadataConfigurationForReranking& value) { m_metadataConfigurationHasBeenSet = true; m_metadataConfiguration = value; } + inline void SetMetadataConfiguration(MetadataConfigurationForReranking&& value) { m_metadataConfigurationHasBeenSet = true; m_metadataConfiguration = std::move(value); } + inline VectorSearchBedrockRerankingConfiguration& WithMetadataConfiguration(const MetadataConfigurationForReranking& value) { SetMetadataConfiguration(value); return *this;} + inline VectorSearchBedrockRerankingConfiguration& WithMetadataConfiguration(MetadataConfigurationForReranking&& value) { SetMetadataConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains configurations for the reranker model.

+ */ + inline const VectorSearchBedrockRerankingModelConfiguration& GetModelConfiguration() const{ return m_modelConfiguration; } + inline bool ModelConfigurationHasBeenSet() const { return m_modelConfigurationHasBeenSet; } + inline void SetModelConfiguration(const VectorSearchBedrockRerankingModelConfiguration& value) { m_modelConfigurationHasBeenSet = true; m_modelConfiguration = value; } + inline void SetModelConfiguration(VectorSearchBedrockRerankingModelConfiguration&& value) { m_modelConfigurationHasBeenSet = true; m_modelConfiguration = std::move(value); } + inline VectorSearchBedrockRerankingConfiguration& WithModelConfiguration(const VectorSearchBedrockRerankingModelConfiguration& value) { SetModelConfiguration(value); return *this;} + inline VectorSearchBedrockRerankingConfiguration& WithModelConfiguration(VectorSearchBedrockRerankingModelConfiguration&& value) { SetModelConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The number of results to return after reranking.

+ */ + inline int GetNumberOfRerankedResults() const{ return m_numberOfRerankedResults; } + inline bool NumberOfRerankedResultsHasBeenSet() const { return m_numberOfRerankedResultsHasBeenSet; } + inline void SetNumberOfRerankedResults(int value) { m_numberOfRerankedResultsHasBeenSet = true; m_numberOfRerankedResults = value; } + inline VectorSearchBedrockRerankingConfiguration& WithNumberOfRerankedResults(int value) { SetNumberOfRerankedResults(value); return *this;} + ///@} + private: + + MetadataConfigurationForReranking m_metadataConfiguration; + bool m_metadataConfigurationHasBeenSet = false; + + VectorSearchBedrockRerankingModelConfiguration m_modelConfiguration; + bool m_modelConfigurationHasBeenSet = false; + + int m_numberOfRerankedResults; + bool m_numberOfRerankedResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchBedrockRerankingModelConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchBedrockRerankingModelConfiguration.h new file mode 100644 index 00000000000..1ed773e2bc0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchBedrockRerankingModelConfiguration.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains configurations for an Amazon Bedrock reranker model.

See + * Also:

AWS + * API Reference

+ */ + class VectorSearchBedrockRerankingModelConfiguration + { + public: + AWS_BEDROCKAGENTRUNTIME_API VectorSearchBedrockRerankingModelConfiguration(); + AWS_BEDROCKAGENTRUNTIME_API VectorSearchBedrockRerankingModelConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API VectorSearchBedrockRerankingModelConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

A JSON object whose keys are request fields for the model and whose values + * are values for those fields.

+ */ + inline const Aws::Map& GetAdditionalModelRequestFields() const{ return m_additionalModelRequestFields; } + inline bool AdditionalModelRequestFieldsHasBeenSet() const { return m_additionalModelRequestFieldsHasBeenSet; } + inline void SetAdditionalModelRequestFields(const Aws::Map& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields = value; } + inline void SetAdditionalModelRequestFields(Aws::Map&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields = std::move(value); } + inline VectorSearchBedrockRerankingModelConfiguration& WithAdditionalModelRequestFields(const Aws::Map& value) { SetAdditionalModelRequestFields(value); return *this;} + inline VectorSearchBedrockRerankingModelConfiguration& WithAdditionalModelRequestFields(Aws::Map&& value) { SetAdditionalModelRequestFields(std::move(value)); return *this;} + inline VectorSearchBedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(const Aws::String& key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, value); return *this; } + inline VectorSearchBedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(Aws::String&& key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(std::move(key), value); return *this; } + inline VectorSearchBedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(const Aws::String& key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, std::move(value)); return *this; } + inline VectorSearchBedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(Aws::String&& key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(std::move(key), std::move(value)); return *this; } + inline VectorSearchBedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(const char* key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, std::move(value)); return *this; } + inline VectorSearchBedrockRerankingModelConfiguration& AddAdditionalModelRequestFields(const char* key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

The ARN of the reranker model to use.

+ */ + inline const Aws::String& GetModelArn() const{ return m_modelArn; } + inline bool ModelArnHasBeenSet() const { return m_modelArnHasBeenSet; } + inline void SetModelArn(const Aws::String& value) { m_modelArnHasBeenSet = true; m_modelArn = value; } + inline void SetModelArn(Aws::String&& value) { m_modelArnHasBeenSet = true; m_modelArn = std::move(value); } + inline void SetModelArn(const char* value) { m_modelArnHasBeenSet = true; m_modelArn.assign(value); } + inline VectorSearchBedrockRerankingModelConfiguration& WithModelArn(const Aws::String& value) { SetModelArn(value); return *this;} + inline VectorSearchBedrockRerankingModelConfiguration& WithModelArn(Aws::String&& value) { SetModelArn(std::move(value)); return *this;} + inline VectorSearchBedrockRerankingModelConfiguration& WithModelArn(const char* value) { SetModelArn(value); return *this;} + ///@} + private: + + Aws::Map m_additionalModelRequestFields; + bool m_additionalModelRequestFieldsHasBeenSet = false; + + Aws::String m_modelArn; + bool m_modelArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchRerankingConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchRerankingConfiguration.h new file mode 100644 index 00000000000..e37c6992b54 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchRerankingConfiguration.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

Contains configurations for reranking the retrieved results.

See + * Also:

AWS + * API Reference

+ */ + class VectorSearchRerankingConfiguration + { + public: + AWS_BEDROCKAGENTRUNTIME_API VectorSearchRerankingConfiguration(); + AWS_BEDROCKAGENTRUNTIME_API VectorSearchRerankingConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API VectorSearchRerankingConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains configurations for an Amazon Bedrock reranker model.

+ */ + inline const VectorSearchBedrockRerankingConfiguration& GetBedrockRerankingConfiguration() const{ return m_bedrockRerankingConfiguration; } + inline bool BedrockRerankingConfigurationHasBeenSet() const { return m_bedrockRerankingConfigurationHasBeenSet; } + inline void SetBedrockRerankingConfiguration(const VectorSearchBedrockRerankingConfiguration& value) { m_bedrockRerankingConfigurationHasBeenSet = true; m_bedrockRerankingConfiguration = value; } + inline void SetBedrockRerankingConfiguration(VectorSearchBedrockRerankingConfiguration&& value) { m_bedrockRerankingConfigurationHasBeenSet = true; m_bedrockRerankingConfiguration = std::move(value); } + inline VectorSearchRerankingConfiguration& WithBedrockRerankingConfiguration(const VectorSearchBedrockRerankingConfiguration& value) { SetBedrockRerankingConfiguration(value); return *this;} + inline VectorSearchRerankingConfiguration& WithBedrockRerankingConfiguration(VectorSearchBedrockRerankingConfiguration&& value) { SetBedrockRerankingConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The type of reranker model.

+ */ + inline const VectorSearchRerankingConfigurationType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const VectorSearchRerankingConfigurationType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(VectorSearchRerankingConfigurationType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline VectorSearchRerankingConfiguration& WithType(const VectorSearchRerankingConfigurationType& value) { SetType(value); return *this;} + inline VectorSearchRerankingConfiguration& WithType(VectorSearchRerankingConfigurationType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + VectorSearchBedrockRerankingConfiguration m_bedrockRerankingConfiguration; + bool m_bedrockRerankingConfigurationHasBeenSet = false; + + VectorSearchRerankingConfigurationType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchRerankingConfigurationType.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchRerankingConfigurationType.h new file mode 100644 index 00000000000..fc92c2244f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/VectorSearchRerankingConfigurationType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + enum class VectorSearchRerankingConfigurationType + { + NOT_SET, + BEDROCK_RERANKING_MODEL + }; + +namespace VectorSearchRerankingConfigurationTypeMapper +{ +AWS_BEDROCKAGENTRUNTIME_API VectorSearchRerankingConfigurationType GetVectorSearchRerankingConfigurationTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENTRUNTIME_API Aws::String GetNameForVectorSearchRerankingConfigurationType(VectorSearchRerankingConfigurationType value); +} // namespace VectorSearchRerankingConfigurationTypeMapper +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClient.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClient.cpp index 46adc0d23f5..b2dbcfa4d49 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClient.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClient.cpp @@ -28,8 +28,10 @@ #include #include #include +#include #include #include +#include #include @@ -425,6 +427,33 @@ OptimizePromptOutcome BedrockAgentRuntimeClient::OptimizePrompt(OptimizePromptRe {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +RerankOutcome BedrockAgentRuntimeClient::Rerank(const RerankRequest& request) const +{ + AWS_OPERATION_GUARD(Rerank); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, Rerank, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, Rerank, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, Rerank, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".Rerank", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RerankOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, Rerank, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/rerank"); + return RerankOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + RetrieveOutcome BedrockAgentRuntimeClient::Retrieve(const RetrieveRequest& request) const { AWS_OPERATION_GUARD(Retrieve); @@ -486,3 +515,33 @@ RetrieveAndGenerateOutcome BedrockAgentRuntimeClient::RetrieveAndGenerate(const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +RetrieveAndGenerateStreamOutcome BedrockAgentRuntimeClient::RetrieveAndGenerateStream(RetrieveAndGenerateStreamRequest& request) const +{ + AWS_OPERATION_GUARD(RetrieveAndGenerateStream); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RetrieveAndGenerateStream, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RetrieveAndGenerateStream, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RetrieveAndGenerateStream, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".RetrieveAndGenerateStream", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RetrieveAndGenerateStreamOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RetrieveAndGenerateStream, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/retrieveAndGenerateStream"); + request.SetResponseStreamFactory( + [&] { request.GetEventStreamDecoder().Reset(); return Aws::New(ALLOCATION_TAG, request.GetEventStreamDecoder()); } + ); + return RetrieveAndGenerateStreamOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/AttributeType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/AttributeType.cpp new file mode 100644 index 00000000000..6b8477685dc --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/AttributeType.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgentRuntime + { + namespace Model + { + namespace AttributeTypeMapper + { + + static const int STRING_HASH = HashingUtils::HashString("STRING"); + static const int NUMBER_HASH = HashingUtils::HashString("NUMBER"); + static const int BOOLEAN_HASH = HashingUtils::HashString("BOOLEAN"); + static const int STRING_LIST_HASH = HashingUtils::HashString("STRING_LIST"); + + + AttributeType GetAttributeTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == STRING_HASH) + { + return AttributeType::STRING; + } + else if (hashCode == NUMBER_HASH) + { + return AttributeType::NUMBER; + } + else if (hashCode == BOOLEAN_HASH) + { + return AttributeType::BOOLEAN; + } + else if (hashCode == STRING_LIST_HASH) + { + return AttributeType::STRING_LIST; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AttributeType::NOT_SET; + } + + Aws::String GetNameForAttributeType(AttributeType enumValue) + { + switch(enumValue) + { + case AttributeType::NOT_SET: + return {}; + case AttributeType::STRING: + return "STRING"; + case AttributeType::NUMBER: + return "NUMBER"; + case AttributeType::BOOLEAN: + return "BOOLEAN"; + case AttributeType::STRING_LIST: + return "STRING_LIST"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AttributeTypeMapper + } // namespace Model + } // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/BedrockRerankingConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/BedrockRerankingConfiguration.cpp new file mode 100644 index 00000000000..e959f44a9fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/BedrockRerankingConfiguration.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +BedrockRerankingConfiguration::BedrockRerankingConfiguration() : + m_modelConfigurationHasBeenSet(false), + m_numberOfResults(0), + m_numberOfResultsHasBeenSet(false) +{ +} + +BedrockRerankingConfiguration::BedrockRerankingConfiguration(JsonView jsonValue) + : BedrockRerankingConfiguration() +{ + *this = jsonValue; +} + +BedrockRerankingConfiguration& BedrockRerankingConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("modelConfiguration")) + { + m_modelConfiguration = jsonValue.GetObject("modelConfiguration"); + + m_modelConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("numberOfResults")) + { + m_numberOfResults = jsonValue.GetInteger("numberOfResults"); + + m_numberOfResultsHasBeenSet = true; + } + + return *this; +} + +JsonValue BedrockRerankingConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_modelConfigurationHasBeenSet) + { + payload.WithObject("modelConfiguration", m_modelConfiguration.Jsonize()); + + } + + if(m_numberOfResultsHasBeenSet) + { + payload.WithInteger("numberOfResults", m_numberOfResults); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/BedrockRerankingModelConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/BedrockRerankingModelConfiguration.cpp new file mode 100644 index 00000000000..e2dfad324ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/BedrockRerankingModelConfiguration.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +BedrockRerankingModelConfiguration::BedrockRerankingModelConfiguration() : + m_additionalModelRequestFieldsHasBeenSet(false), + m_modelArnHasBeenSet(false) +{ +} + +BedrockRerankingModelConfiguration::BedrockRerankingModelConfiguration(JsonView jsonValue) + : BedrockRerankingModelConfiguration() +{ + *this = jsonValue; +} + +BedrockRerankingModelConfiguration& BedrockRerankingModelConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("additionalModelRequestFields")) + { + Aws::Map additionalModelRequestFieldsJsonMap = jsonValue.GetObject("additionalModelRequestFields").GetAllObjects(); + for(auto& additionalModelRequestFieldsItem : additionalModelRequestFieldsJsonMap) + { + m_additionalModelRequestFields[additionalModelRequestFieldsItem.first] = additionalModelRequestFieldsItem.second.AsObject(); + } + m_additionalModelRequestFieldsHasBeenSet = true; + } + + if(jsonValue.ValueExists("modelArn")) + { + m_modelArn = jsonValue.GetString("modelArn"); + + m_modelArnHasBeenSet = true; + } + + return *this; +} + +JsonValue BedrockRerankingModelConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_additionalModelRequestFieldsHasBeenSet) + { + JsonValue additionalModelRequestFieldsJsonMap; + for(auto& additionalModelRequestFieldsItem : m_additionalModelRequestFields) + { + additionalModelRequestFieldsJsonMap.WithObject(additionalModelRequestFieldsItem.first, additionalModelRequestFieldsItem.second.View()); + } + payload.WithObject("additionalModelRequestFields", std::move(additionalModelRequestFieldsJsonMap)); + + } + + if(m_modelArnHasBeenSet) + { + payload.WithString("modelArn", m_modelArn); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/CitationEvent.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/CitationEvent.cpp new file mode 100644 index 00000000000..77b7afd33bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/CitationEvent.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +CitationEvent::CitationEvent() : + m_citationHasBeenSet(false) +{ +} + +CitationEvent::CitationEvent(JsonView jsonValue) + : CitationEvent() +{ + *this = jsonValue; +} + +CitationEvent& CitationEvent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("citation")) + { + m_citation = jsonValue.GetObject("citation"); + + m_citationHasBeenSet = true; + } + + return *this; +} + +JsonValue CitationEvent::Jsonize() const +{ + JsonValue payload; + + if(m_citationHasBeenSet) + { + payload.WithObject("citation", m_citation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/FieldForReranking.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/FieldForReranking.cpp new file mode 100644 index 00000000000..9d9a6986826 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/FieldForReranking.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +FieldForReranking::FieldForReranking() : + m_fieldNameHasBeenSet(false) +{ +} + +FieldForReranking::FieldForReranking(JsonView jsonValue) + : FieldForReranking() +{ + *this = jsonValue; +} + +FieldForReranking& FieldForReranking::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("fieldName")) + { + m_fieldName = jsonValue.GetString("fieldName"); + + m_fieldNameHasBeenSet = true; + } + + return *this; +} + +JsonValue FieldForReranking::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("fieldName", m_fieldName); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/GuardrailEvent.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/GuardrailEvent.cpp new file mode 100644 index 00000000000..635eab1cb3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/GuardrailEvent.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +GuardrailEvent::GuardrailEvent() : + m_action(GuadrailAction::NOT_SET), + m_actionHasBeenSet(false) +{ +} + +GuardrailEvent::GuardrailEvent(JsonView jsonValue) + : GuardrailEvent() +{ + *this = jsonValue; +} + +GuardrailEvent& GuardrailEvent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("action")) + { + m_action = GuadrailActionMapper::GetGuadrailActionForName(jsonValue.GetString("action")); + + m_actionHasBeenSet = true; + } + + return *this; +} + +JsonValue GuardrailEvent::Jsonize() const +{ + JsonValue payload; + + if(m_actionHasBeenSet) + { + payload.WithString("action", GuadrailActionMapper::GetNameForGuadrailAction(m_action)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/ImplicitFilterConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/ImplicitFilterConfiguration.cpp new file mode 100644 index 00000000000..dd7775a7f84 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/ImplicitFilterConfiguration.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +ImplicitFilterConfiguration::ImplicitFilterConfiguration() : + m_metadataAttributesHasBeenSet(false), + m_modelArnHasBeenSet(false) +{ +} + +ImplicitFilterConfiguration::ImplicitFilterConfiguration(JsonView jsonValue) + : ImplicitFilterConfiguration() +{ + *this = jsonValue; +} + +ImplicitFilterConfiguration& ImplicitFilterConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("metadataAttributes")) + { + Aws::Utils::Array metadataAttributesJsonList = jsonValue.GetArray("metadataAttributes"); + for(unsigned metadataAttributesIndex = 0; metadataAttributesIndex < metadataAttributesJsonList.GetLength(); ++metadataAttributesIndex) + { + m_metadataAttributes.push_back(metadataAttributesJsonList[metadataAttributesIndex].AsObject()); + } + m_metadataAttributesHasBeenSet = true; + } + + if(jsonValue.ValueExists("modelArn")) + { + m_modelArn = jsonValue.GetString("modelArn"); + + m_modelArnHasBeenSet = true; + } + + return *this; +} + +JsonValue ImplicitFilterConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_metadataAttributesHasBeenSet) + { + Aws::Utils::Array metadataAttributesJsonList(m_metadataAttributes.size()); + for(unsigned metadataAttributesIndex = 0; metadataAttributesIndex < metadataAttributesJsonList.GetLength(); ++metadataAttributesIndex) + { + metadataAttributesJsonList[metadataAttributesIndex].AsObject(m_metadataAttributes[metadataAttributesIndex].Jsonize()); + } + payload.WithArray("metadataAttributes", std::move(metadataAttributesJsonList)); + + } + + if(m_modelArnHasBeenSet) + { + payload.WithString("modelArn", m_modelArn); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/KnowledgeBaseVectorSearchConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/KnowledgeBaseVectorSearchConfiguration.cpp index cd99e7ff8f0..d2f1d1124b2 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/KnowledgeBaseVectorSearchConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/KnowledgeBaseVectorSearchConfiguration.cpp @@ -20,10 +20,12 @@ namespace Model KnowledgeBaseVectorSearchConfiguration::KnowledgeBaseVectorSearchConfiguration() : m_filterHasBeenSet(false), + m_implicitFilterConfigurationHasBeenSet(false), m_numberOfResults(0), m_numberOfResultsHasBeenSet(false), m_overrideSearchType(SearchType::NOT_SET), - m_overrideSearchTypeHasBeenSet(false) + m_overrideSearchTypeHasBeenSet(false), + m_rerankingConfigurationHasBeenSet(false) { } @@ -42,6 +44,13 @@ KnowledgeBaseVectorSearchConfiguration& KnowledgeBaseVectorSearchConfiguration:: m_filterHasBeenSet = true; } + if(jsonValue.ValueExists("implicitFilterConfiguration")) + { + m_implicitFilterConfiguration = jsonValue.GetObject("implicitFilterConfiguration"); + + m_implicitFilterConfigurationHasBeenSet = true; + } + if(jsonValue.ValueExists("numberOfResults")) { m_numberOfResults = jsonValue.GetInteger("numberOfResults"); @@ -56,6 +65,13 @@ KnowledgeBaseVectorSearchConfiguration& KnowledgeBaseVectorSearchConfiguration:: m_overrideSearchTypeHasBeenSet = true; } + if(jsonValue.ValueExists("rerankingConfiguration")) + { + m_rerankingConfiguration = jsonValue.GetObject("rerankingConfiguration"); + + m_rerankingConfigurationHasBeenSet = true; + } + return *this; } @@ -69,6 +85,12 @@ JsonValue KnowledgeBaseVectorSearchConfiguration::Jsonize() const } + if(m_implicitFilterConfigurationHasBeenSet) + { + payload.WithObject("implicitFilterConfiguration", m_implicitFilterConfiguration.Jsonize()); + + } + if(m_numberOfResultsHasBeenSet) { payload.WithInteger("numberOfResults", m_numberOfResults); @@ -80,6 +102,12 @@ JsonValue KnowledgeBaseVectorSearchConfiguration::Jsonize() const payload.WithString("overrideSearchType", SearchTypeMapper::GetNameForSearchType(m_overrideSearchType)); } + if(m_rerankingConfigurationHasBeenSet) + { + payload.WithObject("rerankingConfiguration", m_rerankingConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/MetadataAttributeSchema.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/MetadataAttributeSchema.cpp new file mode 100644 index 00000000000..7f1a8f7fe6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/MetadataAttributeSchema.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +MetadataAttributeSchema::MetadataAttributeSchema() : + m_descriptionHasBeenSet(false), + m_keyHasBeenSet(false), + m_type(AttributeType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +MetadataAttributeSchema::MetadataAttributeSchema(JsonView jsonValue) + : MetadataAttributeSchema() +{ + *this = jsonValue; +} + +MetadataAttributeSchema& MetadataAttributeSchema::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("key")) + { + m_key = jsonValue.GetString("key"); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = AttributeTypeMapper::GetAttributeTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue MetadataAttributeSchema::Jsonize() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_keyHasBeenSet) + { + payload.WithString("key", m_key); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", AttributeTypeMapper::GetNameForAttributeType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/MetadataConfigurationForReranking.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/MetadataConfigurationForReranking.cpp new file mode 100644 index 00000000000..ecc3e283164 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/MetadataConfigurationForReranking.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +MetadataConfigurationForReranking::MetadataConfigurationForReranking() : + m_selectionMode(RerankingMetadataSelectionMode::NOT_SET), + m_selectionModeHasBeenSet(false), + m_selectiveModeConfigurationHasBeenSet(false) +{ +} + +MetadataConfigurationForReranking::MetadataConfigurationForReranking(JsonView jsonValue) + : MetadataConfigurationForReranking() +{ + *this = jsonValue; +} + +MetadataConfigurationForReranking& MetadataConfigurationForReranking::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("selectionMode")) + { + m_selectionMode = RerankingMetadataSelectionModeMapper::GetRerankingMetadataSelectionModeForName(jsonValue.GetString("selectionMode")); + + m_selectionModeHasBeenSet = true; + } + + if(jsonValue.ValueExists("selectiveModeConfiguration")) + { + m_selectiveModeConfiguration = jsonValue.GetObject("selectiveModeConfiguration"); + + m_selectiveModeConfigurationHasBeenSet = true; + } + + return *this; +} + +JsonValue MetadataConfigurationForReranking::Jsonize() const +{ + JsonValue payload; + + if(m_selectionModeHasBeenSet) + { + payload.WithString("selectionMode", RerankingMetadataSelectionModeMapper::GetNameForRerankingMetadataSelectionMode(m_selectionMode)); + } + + if(m_selectiveModeConfigurationHasBeenSet) + { + payload.WithObject("selectiveModeConfiguration", m_selectiveModeConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankDocument.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankDocument.cpp new file mode 100644 index 00000000000..10eebdd4534 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankDocument.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +RerankDocument::RerankDocument() : + m_jsonDocumentHasBeenSet(false), + m_textDocumentHasBeenSet(false), + m_type(RerankDocumentType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +RerankDocument::RerankDocument(JsonView jsonValue) + : RerankDocument() +{ + *this = jsonValue; +} + +RerankDocument& RerankDocument::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("jsonDocument")) + { + m_jsonDocument = jsonValue.GetObject("jsonDocument"); + + m_jsonDocumentHasBeenSet = true; + } + + if(jsonValue.ValueExists("textDocument")) + { + m_textDocument = jsonValue.GetObject("textDocument"); + + m_textDocumentHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = RerankDocumentTypeMapper::GetRerankDocumentTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RerankDocument::Jsonize() const +{ + JsonValue payload; + + if(m_jsonDocumentHasBeenSet) + { + if(!m_jsonDocument.View().IsNull()) + { + payload.WithObject("jsonDocument", JsonValue(m_jsonDocument.View())); + } + } + + if(m_textDocumentHasBeenSet) + { + payload.WithObject("textDocument", m_textDocument.Jsonize()); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", RerankDocumentTypeMapper::GetNameForRerankDocumentType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankDocumentType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankDocumentType.cpp new file mode 100644 index 00000000000..3ee80560c20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankDocumentType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgentRuntime + { + namespace Model + { + namespace RerankDocumentTypeMapper + { + + static const int TEXT_HASH = HashingUtils::HashString("TEXT"); + static const int JSON_HASH = HashingUtils::HashString("JSON"); + + + RerankDocumentType GetRerankDocumentTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TEXT_HASH) + { + return RerankDocumentType::TEXT; + } + else if (hashCode == JSON_HASH) + { + return RerankDocumentType::JSON; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RerankDocumentType::NOT_SET; + } + + Aws::String GetNameForRerankDocumentType(RerankDocumentType enumValue) + { + switch(enumValue) + { + case RerankDocumentType::NOT_SET: + return {}; + case RerankDocumentType::TEXT: + return "TEXT"; + case RerankDocumentType::JSON: + return "JSON"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RerankDocumentTypeMapper + } // namespace Model + } // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankQuery.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankQuery.cpp new file mode 100644 index 00000000000..30d80e0a0bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankQuery.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +RerankQuery::RerankQuery() : + m_textQueryHasBeenSet(false), + m_type(RerankQueryContentType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +RerankQuery::RerankQuery(JsonView jsonValue) + : RerankQuery() +{ + *this = jsonValue; +} + +RerankQuery& RerankQuery::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("textQuery")) + { + m_textQuery = jsonValue.GetObject("textQuery"); + + m_textQueryHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = RerankQueryContentTypeMapper::GetRerankQueryContentTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RerankQuery::Jsonize() const +{ + JsonValue payload; + + if(m_textQueryHasBeenSet) + { + payload.WithObject("textQuery", m_textQuery.Jsonize()); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", RerankQueryContentTypeMapper::GetNameForRerankQueryContentType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankQueryContentType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankQueryContentType.cpp new file mode 100644 index 00000000000..990a6505005 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankQueryContentType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgentRuntime + { + namespace Model + { + namespace RerankQueryContentTypeMapper + { + + static const int TEXT_HASH = HashingUtils::HashString("TEXT"); + + + RerankQueryContentType GetRerankQueryContentTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TEXT_HASH) + { + return RerankQueryContentType::TEXT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RerankQueryContentType::NOT_SET; + } + + Aws::String GetNameForRerankQueryContentType(RerankQueryContentType enumValue) + { + switch(enumValue) + { + case RerankQueryContentType::NOT_SET: + return {}; + case RerankQueryContentType::TEXT: + return "TEXT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RerankQueryContentTypeMapper + } // namespace Model + } // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankRequest.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankRequest.cpp new file mode 100644 index 00000000000..c2165e58eef --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankRequest.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::BedrockAgentRuntime::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +RerankRequest::RerankRequest() : + m_nextTokenHasBeenSet(false), + m_queriesHasBeenSet(false), + m_rerankingConfigurationHasBeenSet(false), + m_sourcesHasBeenSet(false) +{ +} + +Aws::String RerankRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_queriesHasBeenSet) + { + Aws::Utils::Array queriesJsonList(m_queries.size()); + for(unsigned queriesIndex = 0; queriesIndex < queriesJsonList.GetLength(); ++queriesIndex) + { + queriesJsonList[queriesIndex].AsObject(m_queries[queriesIndex].Jsonize()); + } + payload.WithArray("queries", std::move(queriesJsonList)); + + } + + if(m_rerankingConfigurationHasBeenSet) + { + payload.WithObject("rerankingConfiguration", m_rerankingConfiguration.Jsonize()); + + } + + if(m_sourcesHasBeenSet) + { + Aws::Utils::Array sourcesJsonList(m_sources.size()); + for(unsigned sourcesIndex = 0; sourcesIndex < sourcesJsonList.GetLength(); ++sourcesIndex) + { + sourcesJsonList[sourcesIndex].AsObject(m_sources[sourcesIndex].Jsonize()); + } + payload.WithArray("sources", std::move(sourcesJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankResult.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankResult.cpp new file mode 100644 index 00000000000..d80a5b110c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankResult.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +RerankResult::RerankResult() : + m_documentHasBeenSet(false), + m_index(0), + m_indexHasBeenSet(false), + m_relevanceScore(0.0), + m_relevanceScoreHasBeenSet(false) +{ +} + +RerankResult::RerankResult(JsonView jsonValue) + : RerankResult() +{ + *this = jsonValue; +} + +RerankResult& RerankResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("document")) + { + m_document = jsonValue.GetObject("document"); + + m_documentHasBeenSet = true; + } + + if(jsonValue.ValueExists("index")) + { + m_index = jsonValue.GetInteger("index"); + + m_indexHasBeenSet = true; + } + + if(jsonValue.ValueExists("relevanceScore")) + { + m_relevanceScore = jsonValue.GetDouble("relevanceScore"); + + m_relevanceScoreHasBeenSet = true; + } + + return *this; +} + +JsonValue RerankResult::Jsonize() const +{ + JsonValue payload; + + if(m_documentHasBeenSet) + { + payload.WithObject("document", m_document.Jsonize()); + + } + + if(m_indexHasBeenSet) + { + payload.WithInteger("index", m_index); + + } + + if(m_relevanceScoreHasBeenSet) + { + payload.WithDouble("relevanceScore", m_relevanceScore); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSdkResult.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSdkResult.cpp new file mode 100644 index 00000000000..a75f07c6697 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSdkResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::BedrockAgentRuntime::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +RerankSdkResult::RerankSdkResult() +{ +} + +RerankSdkResult::RerankSdkResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RerankSdkResult& RerankSdkResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + if(jsonValue.ValueExists("results")) + { + Aws::Utils::Array resultsJsonList = jsonValue.GetArray("results"); + for(unsigned resultsIndex = 0; resultsIndex < resultsJsonList.GetLength(); ++resultsIndex) + { + m_results.push_back(resultsJsonList[resultsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSource.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSource.cpp new file mode 100644 index 00000000000..4349b8e9098 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSource.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +RerankSource::RerankSource() : + m_inlineDocumentSourceHasBeenSet(false), + m_type(RerankSourceType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +RerankSource::RerankSource(JsonView jsonValue) + : RerankSource() +{ + *this = jsonValue; +} + +RerankSource& RerankSource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("inlineDocumentSource")) + { + m_inlineDocumentSource = jsonValue.GetObject("inlineDocumentSource"); + + m_inlineDocumentSourceHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = RerankSourceTypeMapper::GetRerankSourceTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RerankSource::Jsonize() const +{ + JsonValue payload; + + if(m_inlineDocumentSourceHasBeenSet) + { + payload.WithObject("inlineDocumentSource", m_inlineDocumentSource.Jsonize()); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", RerankSourceTypeMapper::GetNameForRerankSourceType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSourceType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSourceType.cpp new file mode 100644 index 00000000000..8c7e13becb8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankSourceType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgentRuntime + { + namespace Model + { + namespace RerankSourceTypeMapper + { + + static const int INLINE_HASH = HashingUtils::HashString("INLINE"); + + + RerankSourceType GetRerankSourceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INLINE_HASH) + { + return RerankSourceType::INLINE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RerankSourceType::NOT_SET; + } + + Aws::String GetNameForRerankSourceType(RerankSourceType enumValue) + { + switch(enumValue) + { + case RerankSourceType::NOT_SET: + return {}; + case RerankSourceType::INLINE: + return "INLINE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RerankSourceTypeMapper + } // namespace Model + } // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankTextDocument.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankTextDocument.cpp new file mode 100644 index 00000000000..d33df56c7be --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankTextDocument.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +RerankTextDocument::RerankTextDocument() : + m_textHasBeenSet(false) +{ +} + +RerankTextDocument::RerankTextDocument(JsonView jsonValue) + : RerankTextDocument() +{ + *this = jsonValue; +} + +RerankTextDocument& RerankTextDocument::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("text")) + { + m_text = jsonValue.GetString("text"); + + m_textHasBeenSet = true; + } + + return *this; +} + +JsonValue RerankTextDocument::Jsonize() const +{ + JsonValue payload; + + if(m_textHasBeenSet) + { + payload.WithString("text", m_text); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingConfiguration.cpp new file mode 100644 index 00000000000..96b785431be --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingConfiguration.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +RerankingConfiguration::RerankingConfiguration() : + m_bedrockRerankingConfigurationHasBeenSet(false), + m_type(RerankingConfigurationType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +RerankingConfiguration::RerankingConfiguration(JsonView jsonValue) + : RerankingConfiguration() +{ + *this = jsonValue; +} + +RerankingConfiguration& RerankingConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("bedrockRerankingConfiguration")) + { + m_bedrockRerankingConfiguration = jsonValue.GetObject("bedrockRerankingConfiguration"); + + m_bedrockRerankingConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = RerankingConfigurationTypeMapper::GetRerankingConfigurationTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RerankingConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_bedrockRerankingConfigurationHasBeenSet) + { + payload.WithObject("bedrockRerankingConfiguration", m_bedrockRerankingConfiguration.Jsonize()); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", RerankingConfigurationTypeMapper::GetNameForRerankingConfigurationType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingConfigurationType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingConfigurationType.cpp new file mode 100644 index 00000000000..41458e044bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingConfigurationType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgentRuntime + { + namespace Model + { + namespace RerankingConfigurationTypeMapper + { + + static const int BEDROCK_RERANKING_MODEL_HASH = HashingUtils::HashString("BEDROCK_RERANKING_MODEL"); + + + RerankingConfigurationType GetRerankingConfigurationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BEDROCK_RERANKING_MODEL_HASH) + { + return RerankingConfigurationType::BEDROCK_RERANKING_MODEL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RerankingConfigurationType::NOT_SET; + } + + Aws::String GetNameForRerankingConfigurationType(RerankingConfigurationType enumValue) + { + switch(enumValue) + { + case RerankingConfigurationType::NOT_SET: + return {}; + case RerankingConfigurationType::BEDROCK_RERANKING_MODEL: + return "BEDROCK_RERANKING_MODEL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RerankingConfigurationTypeMapper + } // namespace Model + } // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingMetadataSelectionMode.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingMetadataSelectionMode.cpp new file mode 100644 index 00000000000..e06ee630246 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingMetadataSelectionMode.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgentRuntime + { + namespace Model + { + namespace RerankingMetadataSelectionModeMapper + { + + static const int SELECTIVE_HASH = HashingUtils::HashString("SELECTIVE"); + static const int ALL_HASH = HashingUtils::HashString("ALL"); + + + RerankingMetadataSelectionMode GetRerankingMetadataSelectionModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SELECTIVE_HASH) + { + return RerankingMetadataSelectionMode::SELECTIVE; + } + else if (hashCode == ALL_HASH) + { + return RerankingMetadataSelectionMode::ALL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RerankingMetadataSelectionMode::NOT_SET; + } + + Aws::String GetNameForRerankingMetadataSelectionMode(RerankingMetadataSelectionMode enumValue) + { + switch(enumValue) + { + case RerankingMetadataSelectionMode::NOT_SET: + return {}; + case RerankingMetadataSelectionMode::SELECTIVE: + return "SELECTIVE"; + case RerankingMetadataSelectionMode::ALL: + return "ALL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RerankingMetadataSelectionModeMapper + } // namespace Model + } // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingMetadataSelectiveModeConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingMetadataSelectiveModeConfiguration.cpp new file mode 100644 index 00000000000..c487fefcb9d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RerankingMetadataSelectiveModeConfiguration.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +RerankingMetadataSelectiveModeConfiguration::RerankingMetadataSelectiveModeConfiguration() : + m_fieldsToExcludeHasBeenSet(false), + m_fieldsToIncludeHasBeenSet(false) +{ +} + +RerankingMetadataSelectiveModeConfiguration::RerankingMetadataSelectiveModeConfiguration(JsonView jsonValue) + : RerankingMetadataSelectiveModeConfiguration() +{ + *this = jsonValue; +} + +RerankingMetadataSelectiveModeConfiguration& RerankingMetadataSelectiveModeConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("fieldsToExclude")) + { + Aws::Utils::Array fieldsToExcludeJsonList = jsonValue.GetArray("fieldsToExclude"); + for(unsigned fieldsToExcludeIndex = 0; fieldsToExcludeIndex < fieldsToExcludeJsonList.GetLength(); ++fieldsToExcludeIndex) + { + m_fieldsToExclude.push_back(fieldsToExcludeJsonList[fieldsToExcludeIndex].AsObject()); + } + m_fieldsToExcludeHasBeenSet = true; + } + + if(jsonValue.ValueExists("fieldsToInclude")) + { + Aws::Utils::Array fieldsToIncludeJsonList = jsonValue.GetArray("fieldsToInclude"); + for(unsigned fieldsToIncludeIndex = 0; fieldsToIncludeIndex < fieldsToIncludeJsonList.GetLength(); ++fieldsToIncludeIndex) + { + m_fieldsToInclude.push_back(fieldsToIncludeJsonList[fieldsToIncludeIndex].AsObject()); + } + m_fieldsToIncludeHasBeenSet = true; + } + + return *this; +} + +JsonValue RerankingMetadataSelectiveModeConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_fieldsToExcludeHasBeenSet) + { + Aws::Utils::Array fieldsToExcludeJsonList(m_fieldsToExclude.size()); + for(unsigned fieldsToExcludeIndex = 0; fieldsToExcludeIndex < fieldsToExcludeJsonList.GetLength(); ++fieldsToExcludeIndex) + { + fieldsToExcludeJsonList[fieldsToExcludeIndex].AsObject(m_fieldsToExclude[fieldsToExcludeIndex].Jsonize()); + } + payload.WithArray("fieldsToExclude", std::move(fieldsToExcludeJsonList)); + + } + + if(m_fieldsToIncludeHasBeenSet) + { + Aws::Utils::Array fieldsToIncludeJsonList(m_fieldsToInclude.size()); + for(unsigned fieldsToIncludeIndex = 0; fieldsToIncludeIndex < fieldsToIncludeJsonList.GetLength(); ++fieldsToIncludeIndex) + { + fieldsToIncludeJsonList[fieldsToIncludeIndex].AsObject(m_fieldsToInclude[fieldsToIncludeIndex].Jsonize()); + } + payload.WithArray("fieldsToInclude", std::move(fieldsToIncludeJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultCustomDocumentLocation.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultCustomDocumentLocation.cpp new file mode 100644 index 00000000000..d70b11a8fe8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultCustomDocumentLocation.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +RetrievalResultCustomDocumentLocation::RetrievalResultCustomDocumentLocation() : + m_idHasBeenSet(false) +{ +} + +RetrievalResultCustomDocumentLocation::RetrievalResultCustomDocumentLocation(JsonView jsonValue) + : RetrievalResultCustomDocumentLocation() +{ + *this = jsonValue; +} + +RetrievalResultCustomDocumentLocation& RetrievalResultCustomDocumentLocation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + return *this; +} + +JsonValue RetrievalResultCustomDocumentLocation::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultLocation.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultLocation.cpp index 50dc4e0d668..2e7961b7d40 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultLocation.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultLocation.cpp @@ -20,6 +20,7 @@ namespace Model RetrievalResultLocation::RetrievalResultLocation() : m_confluenceLocationHasBeenSet(false), + m_customDocumentLocationHasBeenSet(false), m_s3LocationHasBeenSet(false), m_salesforceLocationHasBeenSet(false), m_sharePointLocationHasBeenSet(false), @@ -44,6 +45,13 @@ RetrievalResultLocation& RetrievalResultLocation::operator =(JsonView jsonValue) m_confluenceLocationHasBeenSet = true; } + if(jsonValue.ValueExists("customDocumentLocation")) + { + m_customDocumentLocation = jsonValue.GetObject("customDocumentLocation"); + + m_customDocumentLocationHasBeenSet = true; + } + if(jsonValue.ValueExists("s3Location")) { m_s3Location = jsonValue.GetObject("s3Location"); @@ -92,6 +100,12 @@ JsonValue RetrievalResultLocation::Jsonize() const } + if(m_customDocumentLocationHasBeenSet) + { + payload.WithObject("customDocumentLocation", m_customDocumentLocation.Jsonize()); + + } + if(m_s3LocationHasBeenSet) { payload.WithObject("s3Location", m_s3Location.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultLocationType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultLocationType.cpp index 07876c3fc49..6c6ae8314da 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultLocationType.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrievalResultLocationType.cpp @@ -25,6 +25,7 @@ namespace Aws static const int CONFLUENCE_HASH = HashingUtils::HashString("CONFLUENCE"); static const int SALESFORCE_HASH = HashingUtils::HashString("SALESFORCE"); static const int SHAREPOINT_HASH = HashingUtils::HashString("SHAREPOINT"); + static const int CUSTOM_HASH = HashingUtils::HashString("CUSTOM"); RetrievalResultLocationType GetRetrievalResultLocationTypeForName(const Aws::String& name) @@ -50,6 +51,10 @@ namespace Aws { return RetrievalResultLocationType::SHAREPOINT; } + else if (hashCode == CUSTOM_HASH) + { + return RetrievalResultLocationType::CUSTOM; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +81,8 @@ namespace Aws return "SALESFORCE"; case RetrievalResultLocationType::SHAREPOINT: return "SHAREPOINT"; + case RetrievalResultLocationType::CUSTOM: + return "CUSTOM"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateOutputEvent.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateOutputEvent.cpp new file mode 100644 index 00000000000..9bf3b298473 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateOutputEvent.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +RetrieveAndGenerateOutputEvent::RetrieveAndGenerateOutputEvent() : + m_textHasBeenSet(false) +{ +} + +RetrieveAndGenerateOutputEvent::RetrieveAndGenerateOutputEvent(JsonView jsonValue) + : RetrieveAndGenerateOutputEvent() +{ + *this = jsonValue; +} + +RetrieveAndGenerateOutputEvent& RetrieveAndGenerateOutputEvent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("text")) + { + m_text = jsonValue.GetString("text"); + + m_textHasBeenSet = true; + } + + return *this; +} + +JsonValue RetrieveAndGenerateOutputEvent::Jsonize() const +{ + JsonValue payload; + + if(m_textHasBeenSet) + { + payload.WithString("text", m_text); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamHandler.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamHandler.cpp new file mode 100644 index 00000000000..793735f1fc8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamHandler.cpp @@ -0,0 +1,291 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +using namespace Aws::BedrockAgentRuntime::Model; +using namespace Aws::Utils::Event; +using namespace Aws::Utils::Json; + +AWS_CORE_API extern const char MESSAGE_LOWER_CASE[]; +AWS_CORE_API extern const char MESSAGE_CAMEL_CASE[]; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + using namespace Aws::Client; + + static const char RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG[] = "RetrieveAndGenerateStreamHandler"; + + RetrieveAndGenerateStreamHandler::RetrieveAndGenerateStreamHandler() : EventStreamHandler() + { + m_onInitialResponse = [&](const RetrieveAndGenerateStreamInitialResponse&, const Utils::Event::InitialResponseType eventType) + { + AWS_LOGSTREAM_TRACE(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, + "RetrieveAndGenerateStream initial response received from " + << (eventType == Utils::Event::InitialResponseType::ON_EVENT ? "event" : "http headers")); + }; + + m_onCitationEvent = [&](const CitationEvent&) + { + AWS_LOGSTREAM_TRACE(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "CitationEvent received."); + }; + + m_onGuardrailEvent = [&](const GuardrailEvent&) + { + AWS_LOGSTREAM_TRACE(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "GuardrailEvent received."); + }; + + m_onRetrieveAndGenerateOutputEvent = [&](const RetrieveAndGenerateOutputEvent&) + { + AWS_LOGSTREAM_TRACE(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "RetrieveAndGenerateOutputEvent received."); + }; + + m_onError = [&](const AWSError& error) + { + AWS_LOGSTREAM_TRACE(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "BedrockAgentRuntime Errors received, " << error); + }; + } + + void RetrieveAndGenerateStreamHandler::OnEvent() + { + // Handler internal error during event stream decoding. + if (!*this) + { + AWSError error = EventStreamErrorsMapper::GetAwsErrorForEventStreamError(GetInternalError()); + error.SetMessage(GetEventPayloadAsString()); + m_onError(AWSError(error)); + return; + } + + const auto& headers = GetEventHeaders(); + auto messageTypeHeaderIter = headers.find(MESSAGE_TYPE_HEADER); + if (messageTypeHeaderIter == headers.end()) + { + AWS_LOGSTREAM_WARN(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "Header: " << MESSAGE_TYPE_HEADER << " not found in the message."); + return; + } + + switch (Aws::Utils::Event::Message::GetMessageTypeForName(messageTypeHeaderIter->second.GetEventHeaderValueAsString())) + { + case Aws::Utils::Event::Message::MessageType::EVENT: + HandleEventInMessage(); + break; + case Aws::Utils::Event::Message::MessageType::REQUEST_LEVEL_ERROR: + case Aws::Utils::Event::Message::MessageType::REQUEST_LEVEL_EXCEPTION: + { + HandleErrorInMessage(); + break; + } + default: + AWS_LOGSTREAM_WARN(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, + "Unexpected message type: " << messageTypeHeaderIter->second.GetEventHeaderValueAsString()); + break; + } + } + + void RetrieveAndGenerateStreamHandler::HandleEventInMessage() + { + const auto& headers = GetEventHeaders(); + auto eventTypeHeaderIter = headers.find(EVENT_TYPE_HEADER); + if (eventTypeHeaderIter == headers.end()) + { + AWS_LOGSTREAM_WARN(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "Header: " << EVENT_TYPE_HEADER << " not found in the message."); + return; + } + switch (RetrieveAndGenerateStreamEventMapper::GetRetrieveAndGenerateStreamEventTypeForName(eventTypeHeaderIter->second.GetEventHeaderValueAsString())) + { + + case RetrieveAndGenerateStreamEventType::INITIAL_RESPONSE: + { + RetrieveAndGenerateStreamInitialResponse event(GetEventHeadersAsHttpHeaders()); + m_onInitialResponse(event, Utils::Event::InitialResponseType::ON_EVENT); + break; + } + + case RetrieveAndGenerateStreamEventType::CITATION: + { + JsonValue json(GetEventPayloadAsString()); + if (!json.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "Unable to generate a proper CitationEvent object from the response in JSON format."); + break; + } + + m_onCitationEvent(CitationEvent{json.View()}); + break; + } + case RetrieveAndGenerateStreamEventType::GUARDRAIL: + { + JsonValue json(GetEventPayloadAsString()); + if (!json.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "Unable to generate a proper GuardrailEvent object from the response in JSON format."); + break; + } + + m_onGuardrailEvent(GuardrailEvent{json.View()}); + break; + } + case RetrieveAndGenerateStreamEventType::OUTPUT: + { + JsonValue json(GetEventPayloadAsString()); + if (!json.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "Unable to generate a proper RetrieveAndGenerateOutputEvent object from the response in JSON format."); + break; + } + + m_onRetrieveAndGenerateOutputEvent(RetrieveAndGenerateOutputEvent{json.View()}); + break; + } + default: + AWS_LOGSTREAM_WARN(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, + "Unexpected event type: " << eventTypeHeaderIter->second.GetEventHeaderValueAsString()); + break; + } + } + + void RetrieveAndGenerateStreamHandler::HandleErrorInMessage() + { + const auto& headers = GetEventHeaders(); + Aws::String errorCode; + Aws::String errorMessage; + auto errorHeaderIter = headers.find(ERROR_CODE_HEADER); + if (errorHeaderIter == headers.end()) + { + errorHeaderIter = headers.find(EXCEPTION_TYPE_HEADER); + if (errorHeaderIter == headers.end()) + { + AWS_LOGSTREAM_WARN(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, + "Error type was not found in the event message."); + return; + } + } + + errorCode = errorHeaderIter->second.GetEventHeaderValueAsString(); + errorHeaderIter = headers.find(ERROR_MESSAGE_HEADER); + if (errorHeaderIter == headers.end()) + { + errorHeaderIter = headers.find(EXCEPTION_TYPE_HEADER); + if (errorHeaderIter == headers.end()) + { + AWS_LOGSTREAM_ERROR(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, + "Error description was not found in the event message."); + return; + } + + JsonValue exceptionPayload(GetEventPayloadAsString()); + if (!exceptionPayload.WasParseSuccessful()) + { + AWS_LOGSTREAM_ERROR(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "Unable to generate a proper ValidationException object from the response in JSON format."); + auto contentTypeIter = headers.find(Aws::Utils::Event::CONTENT_TYPE_HEADER); + if (contentTypeIter != headers.end()) + { + AWS_LOGSTREAM_DEBUG(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "Error content-type: " << contentTypeIter->second.GetEventHeaderValueAsString()); + } + return; + } + + JsonView payloadView(exceptionPayload); + errorMessage = payloadView.ValueExists(MESSAGE_CAMEL_CASE) ? + payloadView.GetString(MESSAGE_CAMEL_CASE) : + payloadView.ValueExists(MESSAGE_LOWER_CASE) ? + payloadView.GetString(MESSAGE_LOWER_CASE) : ""; + + } + else + { + errorMessage = errorHeaderIter->second.GetEventHeaderValueAsString(); + } + MarshallError(errorCode, errorMessage); + } + + void RetrieveAndGenerateStreamHandler::MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage) + { + BedrockAgentRuntimeErrorMarshaller errorMarshaller; + AWSError error; + + if (errorCode.empty()) + { + error = AWSError(CoreErrors::UNKNOWN, "", errorMessage, false); + } + else + { + error = errorMarshaller.FindErrorByName(errorCode.c_str()); + if (error.GetErrorType() != CoreErrors::UNKNOWN) + { + AWS_LOGSTREAM_WARN(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "Encountered AWSError '" << errorCode.c_str() << "': " << errorMessage.c_str()); + error.SetExceptionName(errorCode); + error.SetMessage(errorMessage); + } + else + { + AWS_LOGSTREAM_WARN(RETRIEVEANDGENERATESTREAM_HANDLER_CLASS_TAG, "Encountered Unknown AWSError '" << errorCode.c_str() << "': " << errorMessage.c_str()); + error = AWSError(CoreErrors::UNKNOWN, errorCode, "Unable to parse ExceptionName: " + errorCode + " Message: " + errorMessage, false); + } + } + + m_onError(AWSError(error)); + } + +namespace RetrieveAndGenerateStreamEventMapper +{ + static const int INITIAL_RESPONSE_HASH = Aws::Utils::HashingUtils::HashString("initial-response"); + static const int CITATION_HASH = Aws::Utils::HashingUtils::HashString("citation"); + static const int GUARDRAIL_HASH = Aws::Utils::HashingUtils::HashString("guardrail"); + static const int OUTPUT_HASH = Aws::Utils::HashingUtils::HashString("output"); + + RetrieveAndGenerateStreamEventType GetRetrieveAndGenerateStreamEventTypeForName(const Aws::String& name) + { + int hashCode = Aws::Utils::HashingUtils::HashString(name.c_str()); + + if (hashCode == INITIAL_RESPONSE_HASH) + { + return RetrieveAndGenerateStreamEventType::INITIAL_RESPONSE; + } + else if (hashCode == CITATION_HASH) + { + return RetrieveAndGenerateStreamEventType::CITATION; + } + else if (hashCode == GUARDRAIL_HASH) + { + return RetrieveAndGenerateStreamEventType::GUARDRAIL; + } + else if (hashCode == OUTPUT_HASH) + { + return RetrieveAndGenerateStreamEventType::OUTPUT; + } + return RetrieveAndGenerateStreamEventType::UNKNOWN; + } + + Aws::String GetNameForRetrieveAndGenerateStreamEventType(RetrieveAndGenerateStreamEventType value) + { + switch (value) + { + case RetrieveAndGenerateStreamEventType::INITIAL_RESPONSE: + return "initial-response"; + case RetrieveAndGenerateStreamEventType::CITATION: + return "citation"; + case RetrieveAndGenerateStreamEventType::GUARDRAIL: + return "guardrail"; + case RetrieveAndGenerateStreamEventType::OUTPUT: + return "output"; + default: + return "Unknown"; + } + } +} // namespace RetrieveAndGenerateStreamEventMapper +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamInitialResponse.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamInitialResponse.cpp new file mode 100644 index 00000000000..faf1ec92096 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamInitialResponse.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +RetrieveAndGenerateStreamInitialResponse::RetrieveAndGenerateStreamInitialResponse() : + m_sessionIdHasBeenSet(false) +{ +} + +RetrieveAndGenerateStreamInitialResponse::RetrieveAndGenerateStreamInitialResponse(JsonView jsonValue) + : RetrieveAndGenerateStreamInitialResponse() +{ + *this = jsonValue; +} + +RetrieveAndGenerateStreamInitialResponse& RetrieveAndGenerateStreamInitialResponse::operator =(JsonView jsonValue) +{ + AWS_UNREFERENCED_PARAM(jsonValue); + return *this; +} + +RetrieveAndGenerateStreamInitialResponse::RetrieveAndGenerateStreamInitialResponse(const Http::HeaderValueCollection& headers) : RetrieveAndGenerateStreamInitialResponse() +{ + const auto& sessionIdIter = headers.find("x-amzn-bedrock-knowledge-base-session-id"); + if(sessionIdIter != headers.end()) + { + m_sessionId = sessionIdIter->second; + } + +} + +JsonValue RetrieveAndGenerateStreamInitialResponse::Jsonize() const +{ + JsonValue payload; + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamRequest.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamRequest.cpp new file mode 100644 index 00000000000..0aefb245228 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveAndGenerateStreamRequest.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::BedrockAgentRuntime::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +RetrieveAndGenerateStreamRequest::RetrieveAndGenerateStreamRequest() : + m_inputHasBeenSet(false), + m_retrieveAndGenerateConfigurationHasBeenSet(false), + m_sessionConfigurationHasBeenSet(false), + m_sessionIdHasBeenSet(false), + m_handler(), m_decoder(Aws::Utils::Event::EventStreamDecoder(&m_handler)) +{ +} + +Aws::String RetrieveAndGenerateStreamRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_inputHasBeenSet) + { + payload.WithObject("input", m_input.Jsonize()); + + } + + if(m_retrieveAndGenerateConfigurationHasBeenSet) + { + payload.WithObject("retrieveAndGenerateConfiguration", m_retrieveAndGenerateConfiguration.Jsonize()); + + } + + if(m_sessionConfigurationHasBeenSet) + { + payload.WithObject("sessionConfiguration", m_sessionConfiguration.Jsonize()); + + } + + if(m_sessionIdHasBeenSet) + { + payload.WithString("sessionId", m_sessionId); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveRequest.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveRequest.cpp index 75d9ef7abd5..f04407c012c 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveRequest.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveRequest.cpp @@ -13,6 +13,7 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; RetrieveRequest::RetrieveRequest() : + m_guardrailConfigurationHasBeenSet(false), m_knowledgeBaseIdHasBeenSet(false), m_nextTokenHasBeenSet(false), m_retrievalConfigurationHasBeenSet(false), @@ -24,6 +25,12 @@ Aws::String RetrieveRequest::SerializePayload() const { JsonValue payload; + if(m_guardrailConfigurationHasBeenSet) + { + payload.WithObject("guardrailConfiguration", m_guardrailConfiguration.Jsonize()); + + } + if(m_nextTokenHasBeenSet) { payload.WithString("nextToken", m_nextToken); diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveResult.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveResult.cpp index b92aba9ef50..4a56760da2d 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveResult.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/RetrieveResult.cpp @@ -17,11 +17,13 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; using namespace Aws; -RetrieveResult::RetrieveResult() +RetrieveResult::RetrieveResult() : + m_guardrailAction(GuadrailAction::NOT_SET) { } RetrieveResult::RetrieveResult(const Aws::AmazonWebServiceResult& result) + : RetrieveResult() { *this = result; } @@ -29,6 +31,12 @@ RetrieveResult::RetrieveResult(const Aws::AmazonWebServiceResult& res RetrieveResult& RetrieveResult::operator =(const Aws::AmazonWebServiceResult& result) { JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("guardrailAction")) + { + m_guardrailAction = GuadrailActionMapper::GetGuadrailActionForName(jsonValue.GetString("guardrailAction")); + + } + if(jsonValue.ValueExists("nextToken")) { m_nextToken = jsonValue.GetString("nextToken"); diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchBedrockRerankingConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchBedrockRerankingConfiguration.cpp new file mode 100644 index 00000000000..e3af95db9f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchBedrockRerankingConfiguration.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +VectorSearchBedrockRerankingConfiguration::VectorSearchBedrockRerankingConfiguration() : + m_metadataConfigurationHasBeenSet(false), + m_modelConfigurationHasBeenSet(false), + m_numberOfRerankedResults(0), + m_numberOfRerankedResultsHasBeenSet(false) +{ +} + +VectorSearchBedrockRerankingConfiguration::VectorSearchBedrockRerankingConfiguration(JsonView jsonValue) + : VectorSearchBedrockRerankingConfiguration() +{ + *this = jsonValue; +} + +VectorSearchBedrockRerankingConfiguration& VectorSearchBedrockRerankingConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("metadataConfiguration")) + { + m_metadataConfiguration = jsonValue.GetObject("metadataConfiguration"); + + m_metadataConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("modelConfiguration")) + { + m_modelConfiguration = jsonValue.GetObject("modelConfiguration"); + + m_modelConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("numberOfRerankedResults")) + { + m_numberOfRerankedResults = jsonValue.GetInteger("numberOfRerankedResults"); + + m_numberOfRerankedResultsHasBeenSet = true; + } + + return *this; +} + +JsonValue VectorSearchBedrockRerankingConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_metadataConfigurationHasBeenSet) + { + payload.WithObject("metadataConfiguration", m_metadataConfiguration.Jsonize()); + + } + + if(m_modelConfigurationHasBeenSet) + { + payload.WithObject("modelConfiguration", m_modelConfiguration.Jsonize()); + + } + + if(m_numberOfRerankedResultsHasBeenSet) + { + payload.WithInteger("numberOfRerankedResults", m_numberOfRerankedResults); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchBedrockRerankingModelConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchBedrockRerankingModelConfiguration.cpp new file mode 100644 index 00000000000..d42aeee8d6b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchBedrockRerankingModelConfiguration.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +VectorSearchBedrockRerankingModelConfiguration::VectorSearchBedrockRerankingModelConfiguration() : + m_additionalModelRequestFieldsHasBeenSet(false), + m_modelArnHasBeenSet(false) +{ +} + +VectorSearchBedrockRerankingModelConfiguration::VectorSearchBedrockRerankingModelConfiguration(JsonView jsonValue) + : VectorSearchBedrockRerankingModelConfiguration() +{ + *this = jsonValue; +} + +VectorSearchBedrockRerankingModelConfiguration& VectorSearchBedrockRerankingModelConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("additionalModelRequestFields")) + { + Aws::Map additionalModelRequestFieldsJsonMap = jsonValue.GetObject("additionalModelRequestFields").GetAllObjects(); + for(auto& additionalModelRequestFieldsItem : additionalModelRequestFieldsJsonMap) + { + m_additionalModelRequestFields[additionalModelRequestFieldsItem.first] = additionalModelRequestFieldsItem.second.AsObject(); + } + m_additionalModelRequestFieldsHasBeenSet = true; + } + + if(jsonValue.ValueExists("modelArn")) + { + m_modelArn = jsonValue.GetString("modelArn"); + + m_modelArnHasBeenSet = true; + } + + return *this; +} + +JsonValue VectorSearchBedrockRerankingModelConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_additionalModelRequestFieldsHasBeenSet) + { + JsonValue additionalModelRequestFieldsJsonMap; + for(auto& additionalModelRequestFieldsItem : m_additionalModelRequestFields) + { + additionalModelRequestFieldsJsonMap.WithObject(additionalModelRequestFieldsItem.first, additionalModelRequestFieldsItem.second.View()); + } + payload.WithObject("additionalModelRequestFields", std::move(additionalModelRequestFieldsJsonMap)); + + } + + if(m_modelArnHasBeenSet) + { + payload.WithString("modelArn", m_modelArn); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchRerankingConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchRerankingConfiguration.cpp new file mode 100644 index 00000000000..fbbd37f6106 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchRerankingConfiguration.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +VectorSearchRerankingConfiguration::VectorSearchRerankingConfiguration() : + m_bedrockRerankingConfigurationHasBeenSet(false), + m_type(VectorSearchRerankingConfigurationType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +VectorSearchRerankingConfiguration::VectorSearchRerankingConfiguration(JsonView jsonValue) + : VectorSearchRerankingConfiguration() +{ + *this = jsonValue; +} + +VectorSearchRerankingConfiguration& VectorSearchRerankingConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("bedrockRerankingConfiguration")) + { + m_bedrockRerankingConfiguration = jsonValue.GetObject("bedrockRerankingConfiguration"); + + m_bedrockRerankingConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = VectorSearchRerankingConfigurationTypeMapper::GetVectorSearchRerankingConfigurationTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue VectorSearchRerankingConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_bedrockRerankingConfigurationHasBeenSet) + { + payload.WithObject("bedrockRerankingConfiguration", m_bedrockRerankingConfiguration.Jsonize()); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", VectorSearchRerankingConfigurationTypeMapper::GetNameForVectorSearchRerankingConfigurationType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchRerankingConfigurationType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchRerankingConfigurationType.cpp new file mode 100644 index 00000000000..d485b35ebf4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/VectorSearchRerankingConfigurationType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgentRuntime + { + namespace Model + { + namespace VectorSearchRerankingConfigurationTypeMapper + { + + static const int BEDROCK_RERANKING_MODEL_HASH = HashingUtils::HashString("BEDROCK_RERANKING_MODEL"); + + + VectorSearchRerankingConfigurationType GetVectorSearchRerankingConfigurationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BEDROCK_RERANKING_MODEL_HASH) + { + return VectorSearchRerankingConfigurationType::BEDROCK_RERANKING_MODEL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return VectorSearchRerankingConfigurationType::NOT_SET; + } + + Aws::String GetNameForVectorSearchRerankingConfigurationType(VectorSearchRerankingConfigurationType enumValue) + { + switch(enumValue) + { + case VectorSearchRerankingConfigurationType::NOT_SET: + return {}; + case VectorSearchRerankingConfigurationType::BEDROCK_RERANKING_MODEL: + return "BEDROCK_RERANKING_MODEL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace VectorSearchRerankingConfigurationTypeMapper + } // namespace Model + } // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClient.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClient.h index 6f7092a3b3b..c2f1ce44515 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClient.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClient.h @@ -220,9 +220,11 @@ namespace BedrockAgent } /** - *

Creates a data source connector for a knowledge base.

You - * can't change the chunkingConfiguration after you create the data - * source connector.

See Also:

Connects a knowledge base to a data source. You specify the configuration for + * the specific data source service in the dataSourceConfiguration + * field.

You can't change the + * chunkingConfiguration after you create the data source + * connector.

See Also:

AWS * API Reference

*/ @@ -684,6 +686,35 @@ namespace BedrockAgent return SubmitAsync(&BedrockAgentClient::DeleteKnowledgeBase, request, handler, context); } + /** + *

Deletes documents from a data source and syncs the changes to the knowledge + * base that is connected to it. For more information, see Ingest + * documents into a knowledge base in real-time in the Amazon Bedrock User + * Guide.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteKnowledgeBaseDocumentsOutcome DeleteKnowledgeBaseDocuments(const Model::DeleteKnowledgeBaseDocumentsRequest& request) const; + + /** + * A Callable wrapper for DeleteKnowledgeBaseDocuments that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteKnowledgeBaseDocumentsOutcomeCallable DeleteKnowledgeBaseDocumentsCallable(const DeleteKnowledgeBaseDocumentsRequestT& request) const + { + return SubmitCallable(&BedrockAgentClient::DeleteKnowledgeBaseDocuments, request); + } + + /** + * An Async wrapper for DeleteKnowledgeBaseDocuments that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteKnowledgeBaseDocumentsAsync(const DeleteKnowledgeBaseDocumentsRequestT& request, const DeleteKnowledgeBaseDocumentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BedrockAgentClient::DeleteKnowledgeBaseDocuments, request, handler, context); + } + /** *

Deletes a prompt or a version of it, depending on whether you include the * promptVersion field or not. For more information, see Retrieves specific documents from a data source that is connected to a + * knowledge base. For more information, see Ingest + * documents into a knowledge base in real-time in the Amazon Bedrock User + * Guide.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetKnowledgeBaseDocumentsOutcome GetKnowledgeBaseDocuments(const Model::GetKnowledgeBaseDocumentsRequest& request) const; + + /** + * A Callable wrapper for GetKnowledgeBaseDocuments that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetKnowledgeBaseDocumentsOutcomeCallable GetKnowledgeBaseDocumentsCallable(const GetKnowledgeBaseDocumentsRequestT& request) const + { + return SubmitCallable(&BedrockAgentClient::GetKnowledgeBaseDocuments, request); + } + + /** + * An Async wrapper for GetKnowledgeBaseDocuments that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetKnowledgeBaseDocumentsAsync(const GetKnowledgeBaseDocumentsRequestT& request, const GetKnowledgeBaseDocumentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BedrockAgentClient::GetKnowledgeBaseDocuments, request, handler, context); + } + /** *

Retrieves information about the working draft (DRAFT version) of * a prompt or a version of it, depending on whether you include the @@ -1060,6 +1120,37 @@ namespace BedrockAgent return SubmitAsync(&BedrockAgentClient::GetPrompt, request, handler, context); } + /** + *

Ingests documents directly into the knowledge base that is connected to the + * data source. The dataSourceType specified in the content for each + * document must match the type of the data source that you specify in the header. + * For more information, see Ingest + * documents into a knowledge base in real-time in the Amazon Bedrock User + * Guide.

See Also:

AWS + * API Reference

+ */ + virtual Model::IngestKnowledgeBaseDocumentsOutcome IngestKnowledgeBaseDocuments(const Model::IngestKnowledgeBaseDocumentsRequest& request) const; + + /** + * A Callable wrapper for IngestKnowledgeBaseDocuments that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::IngestKnowledgeBaseDocumentsOutcomeCallable IngestKnowledgeBaseDocumentsCallable(const IngestKnowledgeBaseDocumentsRequestT& request) const + { + return SubmitCallable(&BedrockAgentClient::IngestKnowledgeBaseDocuments, request); + } + + /** + * An Async wrapper for IngestKnowledgeBaseDocuments that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void IngestKnowledgeBaseDocumentsAsync(const IngestKnowledgeBaseDocumentsRequestT& request, const IngestKnowledgeBaseDocumentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BedrockAgentClient::IngestKnowledgeBaseDocuments, request, handler, context); + } + /** *

Lists the action groups for an agent and information about each * one.

See Also:

Retrieves all the documents contained in a data source that is connected to a + * knowledge base. For more information, see Ingest + * documents into a knowledge base in real-time in the Amazon Bedrock User + * Guide.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListKnowledgeBaseDocumentsOutcome ListKnowledgeBaseDocuments(const Model::ListKnowledgeBaseDocumentsRequest& request) const; + + /** + * A Callable wrapper for ListKnowledgeBaseDocuments that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListKnowledgeBaseDocumentsOutcomeCallable ListKnowledgeBaseDocumentsCallable(const ListKnowledgeBaseDocumentsRequestT& request) const + { + return SubmitCallable(&BedrockAgentClient::ListKnowledgeBaseDocuments, request); + } + + /** + * An Async wrapper for ListKnowledgeBaseDocuments that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListKnowledgeBaseDocumentsAsync(const ListKnowledgeBaseDocumentsRequestT& request, const ListKnowledgeBaseDocumentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BedrockAgentClient::ListKnowledgeBaseDocuments, request, handler, context); + } + /** *

Lists the knowledge bases in an account. The list also includesinformation * about each knowledge base.

See Also:

#include #include +#include #include #include #include @@ -51,7 +52,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -62,6 +65,7 @@ #include #include #include +#include #include #include #include @@ -145,6 +149,7 @@ namespace Aws class DeleteFlowAliasRequest; class DeleteFlowVersionRequest; class DeleteKnowledgeBaseRequest; + class DeleteKnowledgeBaseDocumentsRequest; class DeletePromptRequest; class DisassociateAgentKnowledgeBaseRequest; class GetAgentRequest; @@ -158,7 +163,9 @@ namespace Aws class GetFlowVersionRequest; class GetIngestionJobRequest; class GetKnowledgeBaseRequest; + class GetKnowledgeBaseDocumentsRequest; class GetPromptRequest; + class IngestKnowledgeBaseDocumentsRequest; class ListAgentActionGroupsRequest; class ListAgentAliasesRequest; class ListAgentKnowledgeBasesRequest; @@ -169,6 +176,7 @@ namespace Aws class ListFlowVersionsRequest; class ListFlowsRequest; class ListIngestionJobsRequest; + class ListKnowledgeBaseDocumentsRequest; class ListKnowledgeBasesRequest; class ListPromptsRequest; class ListTagsForResourceRequest; @@ -211,6 +219,7 @@ namespace Aws typedef Aws::Utils::Outcome DeleteFlowAliasOutcome; typedef Aws::Utils::Outcome DeleteFlowVersionOutcome; typedef Aws::Utils::Outcome DeleteKnowledgeBaseOutcome; + typedef Aws::Utils::Outcome DeleteKnowledgeBaseDocumentsOutcome; typedef Aws::Utils::Outcome DeletePromptOutcome; typedef Aws::Utils::Outcome DisassociateAgentKnowledgeBaseOutcome; typedef Aws::Utils::Outcome GetAgentOutcome; @@ -224,7 +233,9 @@ namespace Aws typedef Aws::Utils::Outcome GetFlowVersionOutcome; typedef Aws::Utils::Outcome GetIngestionJobOutcome; typedef Aws::Utils::Outcome GetKnowledgeBaseOutcome; + typedef Aws::Utils::Outcome GetKnowledgeBaseDocumentsOutcome; typedef Aws::Utils::Outcome GetPromptOutcome; + typedef Aws::Utils::Outcome IngestKnowledgeBaseDocumentsOutcome; typedef Aws::Utils::Outcome ListAgentActionGroupsOutcome; typedef Aws::Utils::Outcome ListAgentAliasesOutcome; typedef Aws::Utils::Outcome ListAgentKnowledgeBasesOutcome; @@ -235,6 +246,7 @@ namespace Aws typedef Aws::Utils::Outcome ListFlowVersionsOutcome; typedef Aws::Utils::Outcome ListFlowsOutcome; typedef Aws::Utils::Outcome ListIngestionJobsOutcome; + typedef Aws::Utils::Outcome ListKnowledgeBaseDocumentsOutcome; typedef Aws::Utils::Outcome ListKnowledgeBasesOutcome; typedef Aws::Utils::Outcome ListPromptsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; @@ -277,6 +289,7 @@ namespace Aws typedef std::future DeleteFlowAliasOutcomeCallable; typedef std::future DeleteFlowVersionOutcomeCallable; typedef std::future DeleteKnowledgeBaseOutcomeCallable; + typedef std::future DeleteKnowledgeBaseDocumentsOutcomeCallable; typedef std::future DeletePromptOutcomeCallable; typedef std::future DisassociateAgentKnowledgeBaseOutcomeCallable; typedef std::future GetAgentOutcomeCallable; @@ -290,7 +303,9 @@ namespace Aws typedef std::future GetFlowVersionOutcomeCallable; typedef std::future GetIngestionJobOutcomeCallable; typedef std::future GetKnowledgeBaseOutcomeCallable; + typedef std::future GetKnowledgeBaseDocumentsOutcomeCallable; typedef std::future GetPromptOutcomeCallable; + typedef std::future IngestKnowledgeBaseDocumentsOutcomeCallable; typedef std::future ListAgentActionGroupsOutcomeCallable; typedef std::future ListAgentAliasesOutcomeCallable; typedef std::future ListAgentKnowledgeBasesOutcomeCallable; @@ -301,6 +316,7 @@ namespace Aws typedef std::future ListFlowVersionsOutcomeCallable; typedef std::future ListFlowsOutcomeCallable; typedef std::future ListIngestionJobsOutcomeCallable; + typedef std::future ListKnowledgeBaseDocumentsOutcomeCallable; typedef std::future ListKnowledgeBasesOutcomeCallable; typedef std::future ListPromptsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; @@ -346,6 +362,7 @@ namespace Aws typedef std::function&) > DeleteFlowAliasResponseReceivedHandler; typedef std::function&) > DeleteFlowVersionResponseReceivedHandler; typedef std::function&) > DeleteKnowledgeBaseResponseReceivedHandler; + typedef std::function&) > DeleteKnowledgeBaseDocumentsResponseReceivedHandler; typedef std::function&) > DeletePromptResponseReceivedHandler; typedef std::function&) > DisassociateAgentKnowledgeBaseResponseReceivedHandler; typedef std::function&) > GetAgentResponseReceivedHandler; @@ -359,7 +376,9 @@ namespace Aws typedef std::function&) > GetFlowVersionResponseReceivedHandler; typedef std::function&) > GetIngestionJobResponseReceivedHandler; typedef std::function&) > GetKnowledgeBaseResponseReceivedHandler; + typedef std::function&) > GetKnowledgeBaseDocumentsResponseReceivedHandler; typedef std::function&) > GetPromptResponseReceivedHandler; + typedef std::function&) > IngestKnowledgeBaseDocumentsResponseReceivedHandler; typedef std::function&) > ListAgentActionGroupsResponseReceivedHandler; typedef std::function&) > ListAgentAliasesResponseReceivedHandler; typedef std::function&) > ListAgentKnowledgeBasesResponseReceivedHandler; @@ -370,6 +389,7 @@ namespace Aws typedef std::function&) > ListFlowVersionsResponseReceivedHandler; typedef std::function&) > ListFlowsResponseReceivedHandler; typedef std::function&) > ListIngestionJobsResponseReceivedHandler; + typedef std::function&) > ListKnowledgeBaseDocumentsResponseReceivedHandler; typedef std::function&) > ListKnowledgeBasesResponseReceivedHandler; typedef std::function&) > ListPromptsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ByteContentDoc.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ByteContentDoc.h new file mode 100644 index 00000000000..f635b4c19c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ByteContentDoc.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information about content defined inline in bytes.

See + * Also:

AWS + * API Reference

+ */ + class ByteContentDoc + { + public: + AWS_BEDROCKAGENT_API ByteContentDoc(); + AWS_BEDROCKAGENT_API ByteContentDoc(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API ByteContentDoc& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The base64-encoded string of the content.

+ */ + inline const Aws::Utils::CryptoBuffer& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::Utils::CryptoBuffer& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::Utils::CryptoBuffer&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline ByteContentDoc& WithData(const Aws::Utils::CryptoBuffer& value) { SetData(value); return *this;} + inline ByteContentDoc& WithData(Aws::Utils::CryptoBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The MIME type of the content. For a list of MIME types, see Media + * Types. The following MIME types are supported:

  • + *

    text/plain

  • text/html

  • text/csv

  • + *
  • text/vtt

  • message/rfc822

  • + *

    application/xhtml+xml

  • application/pdf

  • + *

    application/msword

  • + *

    application/vnd.ms-word.document.macroenabled.12

  • + *

    application/vnd.ms-word.template.macroenabled.12

  • + *

    application/vnd.ms-excel

  • + *

    application/vnd.ms-excel.addin.macroenabled.12

  • + *

    application/vnd.ms-excel.sheet.macroenabled.12

  • + *

    application/vnd.ms-excel.template.macroenabled.12

  • + *

    application/vnd.ms-excel.sheet.binary.macroenabled.12

  • + *

    application/vnd.ms-spreadsheetml

  • + *

    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

  • + *
  • application/vnd.openxmlformats-officedocument.spreadsheetml.template

    + *
  • + *

    application/vnd.openxmlformats-officedocument.wordprocessingml.document

    + *
  • + *

    application/vnd.openxmlformats-officedocument.wordprocessingml.template

    + *
+ */ + inline const Aws::String& GetMimeType() const{ return m_mimeType; } + inline bool MimeTypeHasBeenSet() const { return m_mimeTypeHasBeenSet; } + inline void SetMimeType(const Aws::String& value) { m_mimeTypeHasBeenSet = true; m_mimeType = value; } + inline void SetMimeType(Aws::String&& value) { m_mimeTypeHasBeenSet = true; m_mimeType = std::move(value); } + inline void SetMimeType(const char* value) { m_mimeTypeHasBeenSet = true; m_mimeType.assign(value); } + inline ByteContentDoc& WithMimeType(const Aws::String& value) { SetMimeType(value); return *this;} + inline ByteContentDoc& WithMimeType(Aws::String&& value) { SetMimeType(std::move(value)); return *this;} + inline ByteContentDoc& WithMimeType(const char* value) { SetMimeType(value); return *this;} + ///@} + private: + + Aws::Utils::CryptoBuffer m_data; + bool m_dataHasBeenSet = false; + + Aws::String m_mimeType; + bool m_mimeTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ContentDataSourceType.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ContentDataSourceType.h new file mode 100644 index 00000000000..0803abc6e29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ContentDataSourceType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + enum class ContentDataSourceType + { + NOT_SET, + CUSTOM, + S3 + }; + +namespace ContentDataSourceTypeMapper +{ +AWS_BEDROCKAGENT_API ContentDataSourceType GetContentDataSourceTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENT_API Aws::String GetNameForContentDataSourceType(ContentDataSourceType value); +} // namespace ContentDataSourceTypeMapper +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomContent.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomContent.h new file mode 100644 index 00000000000..df3c5942c55 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomContent.h @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information about the content to ingest into a knowledge base + * connected to a custom data source. Choose a sourceType and include + * the field that corresponds to it.

See Also:

AWS + * API Reference

+ */ + class CustomContent + { + public: + AWS_BEDROCKAGENT_API CustomContent(); + AWS_BEDROCKAGENT_API CustomContent(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API CustomContent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

A unique identifier for the document.

+ */ + inline const CustomDocumentIdentifier& GetCustomDocumentIdentifier() const{ return m_customDocumentIdentifier; } + inline bool CustomDocumentIdentifierHasBeenSet() const { return m_customDocumentIdentifierHasBeenSet; } + inline void SetCustomDocumentIdentifier(const CustomDocumentIdentifier& value) { m_customDocumentIdentifierHasBeenSet = true; m_customDocumentIdentifier = value; } + inline void SetCustomDocumentIdentifier(CustomDocumentIdentifier&& value) { m_customDocumentIdentifierHasBeenSet = true; m_customDocumentIdentifier = std::move(value); } + inline CustomContent& WithCustomDocumentIdentifier(const CustomDocumentIdentifier& value) { SetCustomDocumentIdentifier(value); return *this;} + inline CustomContent& WithCustomDocumentIdentifier(CustomDocumentIdentifier&& value) { SetCustomDocumentIdentifier(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains information about content defined inline to ingest into a knowledge + * base.

+ */ + inline const InlineContent& GetInlineContent() const{ return m_inlineContent; } + inline bool InlineContentHasBeenSet() const { return m_inlineContentHasBeenSet; } + inline void SetInlineContent(const InlineContent& value) { m_inlineContentHasBeenSet = true; m_inlineContent = value; } + inline void SetInlineContent(InlineContent&& value) { m_inlineContentHasBeenSet = true; m_inlineContent = std::move(value); } + inline CustomContent& WithInlineContent(const InlineContent& value) { SetInlineContent(value); return *this;} + inline CustomContent& WithInlineContent(InlineContent&& value) { SetInlineContent(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains information about the Amazon S3 location of the file from which to + * ingest data.

+ */ + inline const CustomS3Location& GetS3Location() const{ return m_s3Location; } + inline bool S3LocationHasBeenSet() const { return m_s3LocationHasBeenSet; } + inline void SetS3Location(const CustomS3Location& value) { m_s3LocationHasBeenSet = true; m_s3Location = value; } + inline void SetS3Location(CustomS3Location&& value) { m_s3LocationHasBeenSet = true; m_s3Location = std::move(value); } + inline CustomContent& WithS3Location(const CustomS3Location& value) { SetS3Location(value); return *this;} + inline CustomContent& WithS3Location(CustomS3Location&& value) { SetS3Location(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The source of the data to ingest.

+ */ + inline const CustomSourceType& GetSourceType() const{ return m_sourceType; } + inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } + inline void SetSourceType(const CustomSourceType& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } + inline void SetSourceType(CustomSourceType&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } + inline CustomContent& WithSourceType(const CustomSourceType& value) { SetSourceType(value); return *this;} + inline CustomContent& WithSourceType(CustomSourceType&& value) { SetSourceType(std::move(value)); return *this;} + ///@} + private: + + CustomDocumentIdentifier m_customDocumentIdentifier; + bool m_customDocumentIdentifierHasBeenSet = false; + + InlineContent m_inlineContent; + bool m_inlineContentHasBeenSet = false; + + CustomS3Location m_s3Location; + bool m_s3LocationHasBeenSet = false; + + CustomSourceType m_sourceType; + bool m_sourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomDocumentIdentifier.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomDocumentIdentifier.h new file mode 100644 index 00000000000..e628861f4bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomDocumentIdentifier.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information about the identifier of the document to ingest into a + * custom data source.

See Also:

AWS + * API Reference

+ */ + class CustomDocumentIdentifier + { + public: + AWS_BEDROCKAGENT_API CustomDocumentIdentifier(); + AWS_BEDROCKAGENT_API CustomDocumentIdentifier(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API CustomDocumentIdentifier& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The identifier of the document to ingest into a custom data source.

+ */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline CustomDocumentIdentifier& WithId(const Aws::String& value) { SetId(value); return *this;} + inline CustomDocumentIdentifier& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline CustomDocumentIdentifier& WithId(const char* value) { SetId(value); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomS3Location.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomS3Location.h new file mode 100644 index 00000000000..05ac063edef --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomS3Location.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information about the Amazon S3 location of the file containing the + * content to ingest into a knowledge base connected to a custom data + * source.

See Also:

AWS + * API Reference

+ */ + class CustomS3Location + { + public: + AWS_BEDROCKAGENT_API CustomS3Location(); + AWS_BEDROCKAGENT_API CustomS3Location(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API CustomS3Location& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The identifier of the Amazon Web Services account that owns the S3 bucket + * containing the content to ingest.

+ */ + inline const Aws::String& GetBucketOwnerAccountId() const{ return m_bucketOwnerAccountId; } + inline bool BucketOwnerAccountIdHasBeenSet() const { return m_bucketOwnerAccountIdHasBeenSet; } + inline void SetBucketOwnerAccountId(const Aws::String& value) { m_bucketOwnerAccountIdHasBeenSet = true; m_bucketOwnerAccountId = value; } + inline void SetBucketOwnerAccountId(Aws::String&& value) { m_bucketOwnerAccountIdHasBeenSet = true; m_bucketOwnerAccountId = std::move(value); } + inline void SetBucketOwnerAccountId(const char* value) { m_bucketOwnerAccountIdHasBeenSet = true; m_bucketOwnerAccountId.assign(value); } + inline CustomS3Location& WithBucketOwnerAccountId(const Aws::String& value) { SetBucketOwnerAccountId(value); return *this;} + inline CustomS3Location& WithBucketOwnerAccountId(Aws::String&& value) { SetBucketOwnerAccountId(std::move(value)); return *this;} + inline CustomS3Location& WithBucketOwnerAccountId(const char* value) { SetBucketOwnerAccountId(value); return *this;} + ///@} + + ///@{ + /** + *

The S3 URI of the file containing the content to ingest.

+ */ + inline const Aws::String& GetUri() const{ return m_uri; } + inline bool UriHasBeenSet() const { return m_uriHasBeenSet; } + inline void SetUri(const Aws::String& value) { m_uriHasBeenSet = true; m_uri = value; } + inline void SetUri(Aws::String&& value) { m_uriHasBeenSet = true; m_uri = std::move(value); } + inline void SetUri(const char* value) { m_uriHasBeenSet = true; m_uri.assign(value); } + inline CustomS3Location& WithUri(const Aws::String& value) { SetUri(value); return *this;} + inline CustomS3Location& WithUri(Aws::String&& value) { SetUri(std::move(value)); return *this;} + inline CustomS3Location& WithUri(const char* value) { SetUri(value); return *this;} + ///@} + private: + + Aws::String m_bucketOwnerAccountId; + bool m_bucketOwnerAccountIdHasBeenSet = false; + + Aws::String m_uri; + bool m_uriHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomSourceType.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomSourceType.h new file mode 100644 index 00000000000..71aaa74a285 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CustomSourceType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + enum class CustomSourceType + { + NOT_SET, + IN_LINE, + S3_LOCATION + }; + +namespace CustomSourceTypeMapper +{ +AWS_BEDROCKAGENT_API CustomSourceType GetCustomSourceTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENT_API Aws::String GetNameForCustomSourceType(CustomSourceType value); +} // namespace CustomSourceTypeMapper +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DataSourceType.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DataSourceType.h index c16cc52a980..d1d2c35e25f 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DataSourceType.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DataSourceType.h @@ -20,7 +20,8 @@ namespace Model WEB, CONFLUENCE, SALESFORCE, - SHAREPOINT + SHAREPOINT, + CUSTOM }; namespace DataSourceTypeMapper diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DeleteKnowledgeBaseDocumentsRequest.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DeleteKnowledgeBaseDocumentsRequest.h new file mode 100644 index 00000000000..f596b50a9a5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DeleteKnowledgeBaseDocumentsRequest.h @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + + /** + */ + class DeleteKnowledgeBaseDocumentsRequest : public BedrockAgentRequest + { + public: + AWS_BEDROCKAGENT_API DeleteKnowledgeBaseDocumentsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteKnowledgeBaseDocuments"; } + + AWS_BEDROCKAGENT_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

A unique, case-sensitive identifier to ensure that the API request completes + * no more than one time. If this token matches a previous request, Amazon Bedrock + * ignores the request, but does not return an error. For more information, see Ensuring + * idempotency.

+ */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline DeleteKnowledgeBaseDocumentsRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline DeleteKnowledgeBaseDocumentsRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline DeleteKnowledgeBaseDocumentsRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

The unique identifier of the data source that contains the documents.

+ */ + inline const Aws::String& GetDataSourceId() const{ return m_dataSourceId; } + inline bool DataSourceIdHasBeenSet() const { return m_dataSourceIdHasBeenSet; } + inline void SetDataSourceId(const Aws::String& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = value; } + inline void SetDataSourceId(Aws::String&& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = std::move(value); } + inline void SetDataSourceId(const char* value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId.assign(value); } + inline DeleteKnowledgeBaseDocumentsRequest& WithDataSourceId(const Aws::String& value) { SetDataSourceId(value); return *this;} + inline DeleteKnowledgeBaseDocumentsRequest& WithDataSourceId(Aws::String&& value) { SetDataSourceId(std::move(value)); return *this;} + inline DeleteKnowledgeBaseDocumentsRequest& WithDataSourceId(const char* value) { SetDataSourceId(value); return *this;} + ///@} + + ///@{ + /** + *

A list of objects, each of which contains information to identify a document + * to delete.

+ */ + inline const Aws::Vector& GetDocumentIdentifiers() const{ return m_documentIdentifiers; } + inline bool DocumentIdentifiersHasBeenSet() const { return m_documentIdentifiersHasBeenSet; } + inline void SetDocumentIdentifiers(const Aws::Vector& value) { m_documentIdentifiersHasBeenSet = true; m_documentIdentifiers = value; } + inline void SetDocumentIdentifiers(Aws::Vector&& value) { m_documentIdentifiersHasBeenSet = true; m_documentIdentifiers = std::move(value); } + inline DeleteKnowledgeBaseDocumentsRequest& WithDocumentIdentifiers(const Aws::Vector& value) { SetDocumentIdentifiers(value); return *this;} + inline DeleteKnowledgeBaseDocumentsRequest& WithDocumentIdentifiers(Aws::Vector&& value) { SetDocumentIdentifiers(std::move(value)); return *this;} + inline DeleteKnowledgeBaseDocumentsRequest& AddDocumentIdentifiers(const DocumentIdentifier& value) { m_documentIdentifiersHasBeenSet = true; m_documentIdentifiers.push_back(value); return *this; } + inline DeleteKnowledgeBaseDocumentsRequest& AddDocumentIdentifiers(DocumentIdentifier&& value) { m_documentIdentifiersHasBeenSet = true; m_documentIdentifiers.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The unique identifier of the knowledge base that is connected to the data + * source.

+ */ + inline const Aws::String& GetKnowledgeBaseId() const{ return m_knowledgeBaseId; } + inline bool KnowledgeBaseIdHasBeenSet() const { return m_knowledgeBaseIdHasBeenSet; } + inline void SetKnowledgeBaseId(const Aws::String& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = value; } + inline void SetKnowledgeBaseId(Aws::String&& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = std::move(value); } + inline void SetKnowledgeBaseId(const char* value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId.assign(value); } + inline DeleteKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(const Aws::String& value) { SetKnowledgeBaseId(value); return *this;} + inline DeleteKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(Aws::String&& value) { SetKnowledgeBaseId(std::move(value)); return *this;} + inline DeleteKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(const char* value) { SetKnowledgeBaseId(value); return *this;} + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::String m_dataSourceId; + bool m_dataSourceIdHasBeenSet = false; + + Aws::Vector m_documentIdentifiers; + bool m_documentIdentifiersHasBeenSet = false; + + Aws::String m_knowledgeBaseId; + bool m_knowledgeBaseIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DeleteKnowledgeBaseDocumentsResult.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DeleteKnowledgeBaseDocumentsResult.h new file mode 100644 index 00000000000..62719e61078 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DeleteKnowledgeBaseDocumentsResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + class DeleteKnowledgeBaseDocumentsResult + { + public: + AWS_BEDROCKAGENT_API DeleteKnowledgeBaseDocumentsResult(); + AWS_BEDROCKAGENT_API DeleteKnowledgeBaseDocumentsResult(const Aws::AmazonWebServiceResult& result); + AWS_BEDROCKAGENT_API DeleteKnowledgeBaseDocumentsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

A list of objects, each of which contains information about the documents + * that were deleted.

+ */ + inline const Aws::Vector& GetDocumentDetails() const{ return m_documentDetails; } + inline void SetDocumentDetails(const Aws::Vector& value) { m_documentDetails = value; } + inline void SetDocumentDetails(Aws::Vector&& value) { m_documentDetails = std::move(value); } + inline DeleteKnowledgeBaseDocumentsResult& WithDocumentDetails(const Aws::Vector& value) { SetDocumentDetails(value); return *this;} + inline DeleteKnowledgeBaseDocumentsResult& WithDocumentDetails(Aws::Vector&& value) { SetDocumentDetails(std::move(value)); return *this;} + inline DeleteKnowledgeBaseDocumentsResult& AddDocumentDetails(const KnowledgeBaseDocumentDetail& value) { m_documentDetails.push_back(value); return *this; } + inline DeleteKnowledgeBaseDocumentsResult& AddDocumentDetails(KnowledgeBaseDocumentDetail&& value) { m_documentDetails.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteKnowledgeBaseDocumentsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteKnowledgeBaseDocumentsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteKnowledgeBaseDocumentsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_documentDetails; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentContent.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentContent.h new file mode 100644 index 00000000000..d5c0ca42ea3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentContent.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information about the content of a document. Choose a + * dataSourceType and include the field that corresponds to + * it.

See Also:

AWS + * API Reference

+ */ + class DocumentContent + { + public: + AWS_BEDROCKAGENT_API DocumentContent(); + AWS_BEDROCKAGENT_API DocumentContent(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API DocumentContent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains information about the content to ingest into a knowledge base + * connected to a custom data source.

+ */ + inline const CustomContent& GetCustom() const{ return m_custom; } + inline bool CustomHasBeenSet() const { return m_customHasBeenSet; } + inline void SetCustom(const CustomContent& value) { m_customHasBeenSet = true; m_custom = value; } + inline void SetCustom(CustomContent&& value) { m_customHasBeenSet = true; m_custom = std::move(value); } + inline DocumentContent& WithCustom(const CustomContent& value) { SetCustom(value); return *this;} + inline DocumentContent& WithCustom(CustomContent&& value) { SetCustom(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The type of data source that is connected to the knowledge base to which to + * ingest this document.

+ */ + inline const ContentDataSourceType& GetDataSourceType() const{ return m_dataSourceType; } + inline bool DataSourceTypeHasBeenSet() const { return m_dataSourceTypeHasBeenSet; } + inline void SetDataSourceType(const ContentDataSourceType& value) { m_dataSourceTypeHasBeenSet = true; m_dataSourceType = value; } + inline void SetDataSourceType(ContentDataSourceType&& value) { m_dataSourceTypeHasBeenSet = true; m_dataSourceType = std::move(value); } + inline DocumentContent& WithDataSourceType(const ContentDataSourceType& value) { SetDataSourceType(value); return *this;} + inline DocumentContent& WithDataSourceType(ContentDataSourceType&& value) { SetDataSourceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains information about the content to ingest into a knowledge base + * connected to an Amazon S3 data source

+ */ + inline const S3Content& GetS3() const{ return m_s3; } + inline bool S3HasBeenSet() const { return m_s3HasBeenSet; } + inline void SetS3(const S3Content& value) { m_s3HasBeenSet = true; m_s3 = value; } + inline void SetS3(S3Content&& value) { m_s3HasBeenSet = true; m_s3 = std::move(value); } + inline DocumentContent& WithS3(const S3Content& value) { SetS3(value); return *this;} + inline DocumentContent& WithS3(S3Content&& value) { SetS3(std::move(value)); return *this;} + ///@} + private: + + CustomContent m_custom; + bool m_customHasBeenSet = false; + + ContentDataSourceType m_dataSourceType; + bool m_dataSourceTypeHasBeenSet = false; + + S3Content m_s3; + bool m_s3HasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentIdentifier.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentIdentifier.h new file mode 100644 index 00000000000..fd0e897a169 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentIdentifier.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information that identifies the document.

See Also:

+ * AWS + * API Reference

+ */ + class DocumentIdentifier + { + public: + AWS_BEDROCKAGENT_API DocumentIdentifier(); + AWS_BEDROCKAGENT_API DocumentIdentifier(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API DocumentIdentifier& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains information that identifies the document in a custom data + * source.

+ */ + inline const CustomDocumentIdentifier& GetCustom() const{ return m_custom; } + inline bool CustomHasBeenSet() const { return m_customHasBeenSet; } + inline void SetCustom(const CustomDocumentIdentifier& value) { m_customHasBeenSet = true; m_custom = value; } + inline void SetCustom(CustomDocumentIdentifier&& value) { m_customHasBeenSet = true; m_custom = std::move(value); } + inline DocumentIdentifier& WithCustom(const CustomDocumentIdentifier& value) { SetCustom(value); return *this;} + inline DocumentIdentifier& WithCustom(CustomDocumentIdentifier&& value) { SetCustom(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The type of data source connected to the knowledge base that contains the + * document.

+ */ + inline const ContentDataSourceType& GetDataSourceType() const{ return m_dataSourceType; } + inline bool DataSourceTypeHasBeenSet() const { return m_dataSourceTypeHasBeenSet; } + inline void SetDataSourceType(const ContentDataSourceType& value) { m_dataSourceTypeHasBeenSet = true; m_dataSourceType = value; } + inline void SetDataSourceType(ContentDataSourceType&& value) { m_dataSourceTypeHasBeenSet = true; m_dataSourceType = std::move(value); } + inline DocumentIdentifier& WithDataSourceType(const ContentDataSourceType& value) { SetDataSourceType(value); return *this;} + inline DocumentIdentifier& WithDataSourceType(ContentDataSourceType&& value) { SetDataSourceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains information that identifies the document in an S3 data source.

+ */ + inline const S3Location& GetS3() const{ return m_s3; } + inline bool S3HasBeenSet() const { return m_s3HasBeenSet; } + inline void SetS3(const S3Location& value) { m_s3HasBeenSet = true; m_s3 = value; } + inline void SetS3(S3Location&& value) { m_s3HasBeenSet = true; m_s3 = std::move(value); } + inline DocumentIdentifier& WithS3(const S3Location& value) { SetS3(value); return *this;} + inline DocumentIdentifier& WithS3(S3Location&& value) { SetS3(std::move(value)); return *this;} + ///@} + private: + + CustomDocumentIdentifier m_custom; + bool m_customHasBeenSet = false; + + ContentDataSourceType m_dataSourceType; + bool m_dataSourceTypeHasBeenSet = false; + + S3Location m_s3; + bool m_s3HasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentMetadata.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentMetadata.h new file mode 100644 index 00000000000..95667cd8b30 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentMetadata.h @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information about the metadata associate with the content to ingest + * into a knowledge base. Choose a type and include the field that + * corresponds to it.

See Also:

AWS + * API Reference

+ */ + class DocumentMetadata + { + public: + AWS_BEDROCKAGENT_API DocumentMetadata(); + AWS_BEDROCKAGENT_API DocumentMetadata(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API DocumentMetadata& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

An array of objects, each of which defines a metadata attribute to associate + * with the content to ingest. You define the attributes inline.

+ */ + inline const Aws::Vector& GetInlineAttributes() const{ return m_inlineAttributes; } + inline bool InlineAttributesHasBeenSet() const { return m_inlineAttributesHasBeenSet; } + inline void SetInlineAttributes(const Aws::Vector& value) { m_inlineAttributesHasBeenSet = true; m_inlineAttributes = value; } + inline void SetInlineAttributes(Aws::Vector&& value) { m_inlineAttributesHasBeenSet = true; m_inlineAttributes = std::move(value); } + inline DocumentMetadata& WithInlineAttributes(const Aws::Vector& value) { SetInlineAttributes(value); return *this;} + inline DocumentMetadata& WithInlineAttributes(Aws::Vector&& value) { SetInlineAttributes(std::move(value)); return *this;} + inline DocumentMetadata& AddInlineAttributes(const MetadataAttribute& value) { m_inlineAttributesHasBeenSet = true; m_inlineAttributes.push_back(value); return *this; } + inline DocumentMetadata& AddInlineAttributes(MetadataAttribute&& value) { m_inlineAttributesHasBeenSet = true; m_inlineAttributes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The Amazon S3 location of the file containing metadata to associate with the + * content to ingest.

+ */ + inline const CustomS3Location& GetS3Location() const{ return m_s3Location; } + inline bool S3LocationHasBeenSet() const { return m_s3LocationHasBeenSet; } + inline void SetS3Location(const CustomS3Location& value) { m_s3LocationHasBeenSet = true; m_s3Location = value; } + inline void SetS3Location(CustomS3Location&& value) { m_s3LocationHasBeenSet = true; m_s3Location = std::move(value); } + inline DocumentMetadata& WithS3Location(const CustomS3Location& value) { SetS3Location(value); return *this;} + inline DocumentMetadata& WithS3Location(CustomS3Location&& value) { SetS3Location(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The type of the source source from which to add metadata.

+ */ + inline const MetadataSourceType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const MetadataSourceType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(MetadataSourceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline DocumentMetadata& WithType(const MetadataSourceType& value) { SetType(value); return *this;} + inline DocumentMetadata& WithType(MetadataSourceType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_inlineAttributes; + bool m_inlineAttributesHasBeenSet = false; + + CustomS3Location m_s3Location; + bool m_s3LocationHasBeenSet = false; + + MetadataSourceType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentStatus.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentStatus.h new file mode 100644 index 00000000000..720edec972e --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/DocumentStatus.h @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + enum class DocumentStatus + { + NOT_SET, + INDEXED, + PARTIALLY_INDEXED, + PENDING, + FAILED, + METADATA_PARTIALLY_INDEXED, + METADATA_UPDATE_FAILED, + IGNORED, + NOT_FOUND, + STARTING, + IN_PROGRESS, + DELETING, + DELETE_IN_PROGRESS + }; + +namespace DocumentStatusMapper +{ +AWS_BEDROCKAGENT_API DocumentStatus GetDocumentStatusForName(const Aws::String& name); + +AWS_BEDROCKAGENT_API Aws::String GetNameForDocumentStatus(DocumentStatus value); +} // namespace DocumentStatusMapper +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/GetKnowledgeBaseDocumentsRequest.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/GetKnowledgeBaseDocumentsRequest.h new file mode 100644 index 00000000000..e71365fc400 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/GetKnowledgeBaseDocumentsRequest.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + + /** + */ + class GetKnowledgeBaseDocumentsRequest : public BedrockAgentRequest + { + public: + AWS_BEDROCKAGENT_API GetKnowledgeBaseDocumentsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetKnowledgeBaseDocuments"; } + + AWS_BEDROCKAGENT_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The unique identifier of the data source that contains the documents.

+ */ + inline const Aws::String& GetDataSourceId() const{ return m_dataSourceId; } + inline bool DataSourceIdHasBeenSet() const { return m_dataSourceIdHasBeenSet; } + inline void SetDataSourceId(const Aws::String& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = value; } + inline void SetDataSourceId(Aws::String&& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = std::move(value); } + inline void SetDataSourceId(const char* value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId.assign(value); } + inline GetKnowledgeBaseDocumentsRequest& WithDataSourceId(const Aws::String& value) { SetDataSourceId(value); return *this;} + inline GetKnowledgeBaseDocumentsRequest& WithDataSourceId(Aws::String&& value) { SetDataSourceId(std::move(value)); return *this;} + inline GetKnowledgeBaseDocumentsRequest& WithDataSourceId(const char* value) { SetDataSourceId(value); return *this;} + ///@} + + ///@{ + /** + *

A list of objects, each of which contains information to identify a document + * for which to retrieve information.

+ */ + inline const Aws::Vector& GetDocumentIdentifiers() const{ return m_documentIdentifiers; } + inline bool DocumentIdentifiersHasBeenSet() const { return m_documentIdentifiersHasBeenSet; } + inline void SetDocumentIdentifiers(const Aws::Vector& value) { m_documentIdentifiersHasBeenSet = true; m_documentIdentifiers = value; } + inline void SetDocumentIdentifiers(Aws::Vector&& value) { m_documentIdentifiersHasBeenSet = true; m_documentIdentifiers = std::move(value); } + inline GetKnowledgeBaseDocumentsRequest& WithDocumentIdentifiers(const Aws::Vector& value) { SetDocumentIdentifiers(value); return *this;} + inline GetKnowledgeBaseDocumentsRequest& WithDocumentIdentifiers(Aws::Vector&& value) { SetDocumentIdentifiers(std::move(value)); return *this;} + inline GetKnowledgeBaseDocumentsRequest& AddDocumentIdentifiers(const DocumentIdentifier& value) { m_documentIdentifiersHasBeenSet = true; m_documentIdentifiers.push_back(value); return *this; } + inline GetKnowledgeBaseDocumentsRequest& AddDocumentIdentifiers(DocumentIdentifier&& value) { m_documentIdentifiersHasBeenSet = true; m_documentIdentifiers.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The unique identifier of the knowledge base that is connected to the data + * source.

+ */ + inline const Aws::String& GetKnowledgeBaseId() const{ return m_knowledgeBaseId; } + inline bool KnowledgeBaseIdHasBeenSet() const { return m_knowledgeBaseIdHasBeenSet; } + inline void SetKnowledgeBaseId(const Aws::String& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = value; } + inline void SetKnowledgeBaseId(Aws::String&& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = std::move(value); } + inline void SetKnowledgeBaseId(const char* value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId.assign(value); } + inline GetKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(const Aws::String& value) { SetKnowledgeBaseId(value); return *this;} + inline GetKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(Aws::String&& value) { SetKnowledgeBaseId(std::move(value)); return *this;} + inline GetKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(const char* value) { SetKnowledgeBaseId(value); return *this;} + ///@} + private: + + Aws::String m_dataSourceId; + bool m_dataSourceIdHasBeenSet = false; + + Aws::Vector m_documentIdentifiers; + bool m_documentIdentifiersHasBeenSet = false; + + Aws::String m_knowledgeBaseId; + bool m_knowledgeBaseIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/GetKnowledgeBaseDocumentsResult.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/GetKnowledgeBaseDocumentsResult.h new file mode 100644 index 00000000000..7c20e140619 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/GetKnowledgeBaseDocumentsResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + class GetKnowledgeBaseDocumentsResult + { + public: + AWS_BEDROCKAGENT_API GetKnowledgeBaseDocumentsResult(); + AWS_BEDROCKAGENT_API GetKnowledgeBaseDocumentsResult(const Aws::AmazonWebServiceResult& result); + AWS_BEDROCKAGENT_API GetKnowledgeBaseDocumentsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

A list of objects, each of which contains information about the documents + * that were retrieved.

+ */ + inline const Aws::Vector& GetDocumentDetails() const{ return m_documentDetails; } + inline void SetDocumentDetails(const Aws::Vector& value) { m_documentDetails = value; } + inline void SetDocumentDetails(Aws::Vector&& value) { m_documentDetails = std::move(value); } + inline GetKnowledgeBaseDocumentsResult& WithDocumentDetails(const Aws::Vector& value) { SetDocumentDetails(value); return *this;} + inline GetKnowledgeBaseDocumentsResult& WithDocumentDetails(Aws::Vector&& value) { SetDocumentDetails(std::move(value)); return *this;} + inline GetKnowledgeBaseDocumentsResult& AddDocumentDetails(const KnowledgeBaseDocumentDetail& value) { m_documentDetails.push_back(value); return *this; } + inline GetKnowledgeBaseDocumentsResult& AddDocumentDetails(KnowledgeBaseDocumentDetail&& value) { m_documentDetails.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetKnowledgeBaseDocumentsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetKnowledgeBaseDocumentsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetKnowledgeBaseDocumentsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_documentDetails; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/IngestKnowledgeBaseDocumentsRequest.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/IngestKnowledgeBaseDocumentsRequest.h new file mode 100644 index 00000000000..1b43bb23ef2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/IngestKnowledgeBaseDocumentsRequest.h @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + + /** + */ + class IngestKnowledgeBaseDocumentsRequest : public BedrockAgentRequest + { + public: + AWS_BEDROCKAGENT_API IngestKnowledgeBaseDocumentsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "IngestKnowledgeBaseDocuments"; } + + AWS_BEDROCKAGENT_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

A unique, case-sensitive identifier to ensure that the API request completes + * no more than one time. If this token matches a previous request, Amazon Bedrock + * ignores the request, but does not return an error. For more information, see Ensuring + * idempotency.

+ */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline IngestKnowledgeBaseDocumentsRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline IngestKnowledgeBaseDocumentsRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline IngestKnowledgeBaseDocumentsRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

The unique identifier of the data source connected to the knowledge base that + * you're adding documents to.

+ */ + inline const Aws::String& GetDataSourceId() const{ return m_dataSourceId; } + inline bool DataSourceIdHasBeenSet() const { return m_dataSourceIdHasBeenSet; } + inline void SetDataSourceId(const Aws::String& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = value; } + inline void SetDataSourceId(Aws::String&& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = std::move(value); } + inline void SetDataSourceId(const char* value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId.assign(value); } + inline IngestKnowledgeBaseDocumentsRequest& WithDataSourceId(const Aws::String& value) { SetDataSourceId(value); return *this;} + inline IngestKnowledgeBaseDocumentsRequest& WithDataSourceId(Aws::String&& value) { SetDataSourceId(std::move(value)); return *this;} + inline IngestKnowledgeBaseDocumentsRequest& WithDataSourceId(const char* value) { SetDataSourceId(value); return *this;} + ///@} + + ///@{ + /** + *

A list of objects, each of which contains information about the documents to + * add.

+ */ + inline const Aws::Vector& GetDocuments() const{ return m_documents; } + inline bool DocumentsHasBeenSet() const { return m_documentsHasBeenSet; } + inline void SetDocuments(const Aws::Vector& value) { m_documentsHasBeenSet = true; m_documents = value; } + inline void SetDocuments(Aws::Vector&& value) { m_documentsHasBeenSet = true; m_documents = std::move(value); } + inline IngestKnowledgeBaseDocumentsRequest& WithDocuments(const Aws::Vector& value) { SetDocuments(value); return *this;} + inline IngestKnowledgeBaseDocumentsRequest& WithDocuments(Aws::Vector&& value) { SetDocuments(std::move(value)); return *this;} + inline IngestKnowledgeBaseDocumentsRequest& AddDocuments(const KnowledgeBaseDocument& value) { m_documentsHasBeenSet = true; m_documents.push_back(value); return *this; } + inline IngestKnowledgeBaseDocumentsRequest& AddDocuments(KnowledgeBaseDocument&& value) { m_documentsHasBeenSet = true; m_documents.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The unique identifier of the knowledge base to ingest the documents into.

+ */ + inline const Aws::String& GetKnowledgeBaseId() const{ return m_knowledgeBaseId; } + inline bool KnowledgeBaseIdHasBeenSet() const { return m_knowledgeBaseIdHasBeenSet; } + inline void SetKnowledgeBaseId(const Aws::String& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = value; } + inline void SetKnowledgeBaseId(Aws::String&& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = std::move(value); } + inline void SetKnowledgeBaseId(const char* value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId.assign(value); } + inline IngestKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(const Aws::String& value) { SetKnowledgeBaseId(value); return *this;} + inline IngestKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(Aws::String&& value) { SetKnowledgeBaseId(std::move(value)); return *this;} + inline IngestKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(const char* value) { SetKnowledgeBaseId(value); return *this;} + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::String m_dataSourceId; + bool m_dataSourceIdHasBeenSet = false; + + Aws::Vector m_documents; + bool m_documentsHasBeenSet = false; + + Aws::String m_knowledgeBaseId; + bool m_knowledgeBaseIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/IngestKnowledgeBaseDocumentsResult.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/IngestKnowledgeBaseDocumentsResult.h new file mode 100644 index 00000000000..1481cedff77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/IngestKnowledgeBaseDocumentsResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + class IngestKnowledgeBaseDocumentsResult + { + public: + AWS_BEDROCKAGENT_API IngestKnowledgeBaseDocumentsResult(); + AWS_BEDROCKAGENT_API IngestKnowledgeBaseDocumentsResult(const Aws::AmazonWebServiceResult& result); + AWS_BEDROCKAGENT_API IngestKnowledgeBaseDocumentsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

A list of objects, each of which contains information about the documents + * that were ingested.

+ */ + inline const Aws::Vector& GetDocumentDetails() const{ return m_documentDetails; } + inline void SetDocumentDetails(const Aws::Vector& value) { m_documentDetails = value; } + inline void SetDocumentDetails(Aws::Vector&& value) { m_documentDetails = std::move(value); } + inline IngestKnowledgeBaseDocumentsResult& WithDocumentDetails(const Aws::Vector& value) { SetDocumentDetails(value); return *this;} + inline IngestKnowledgeBaseDocumentsResult& WithDocumentDetails(Aws::Vector&& value) { SetDocumentDetails(std::move(value)); return *this;} + inline IngestKnowledgeBaseDocumentsResult& AddDocumentDetails(const KnowledgeBaseDocumentDetail& value) { m_documentDetails.push_back(value); return *this; } + inline IngestKnowledgeBaseDocumentsResult& AddDocumentDetails(KnowledgeBaseDocumentDetail&& value) { m_documentDetails.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline IngestKnowledgeBaseDocumentsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline IngestKnowledgeBaseDocumentsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline IngestKnowledgeBaseDocumentsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_documentDetails; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/InlineContent.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/InlineContent.h new file mode 100644 index 00000000000..ced2fa9b93b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/InlineContent.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information about content defined inline to ingest into a data + * source. Choose a type and include the field that corresponds to + * it.

See Also:

AWS + * API Reference

+ */ + class InlineContent + { + public: + AWS_BEDROCKAGENT_API InlineContent(); + AWS_BEDROCKAGENT_API InlineContent(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API InlineContent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains information about content defined inline in bytes.

+ */ + inline const ByteContentDoc& GetByteContent() const{ return m_byteContent; } + inline bool ByteContentHasBeenSet() const { return m_byteContentHasBeenSet; } + inline void SetByteContent(const ByteContentDoc& value) { m_byteContentHasBeenSet = true; m_byteContent = value; } + inline void SetByteContent(ByteContentDoc&& value) { m_byteContentHasBeenSet = true; m_byteContent = std::move(value); } + inline InlineContent& WithByteContent(const ByteContentDoc& value) { SetByteContent(value); return *this;} + inline InlineContent& WithByteContent(ByteContentDoc&& value) { SetByteContent(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains information about content defined inline in text.

+ */ + inline const TextContentDoc& GetTextContent() const{ return m_textContent; } + inline bool TextContentHasBeenSet() const { return m_textContentHasBeenSet; } + inline void SetTextContent(const TextContentDoc& value) { m_textContentHasBeenSet = true; m_textContent = value; } + inline void SetTextContent(TextContentDoc&& value) { m_textContentHasBeenSet = true; m_textContent = std::move(value); } + inline InlineContent& WithTextContent(const TextContentDoc& value) { SetTextContent(value); return *this;} + inline InlineContent& WithTextContent(TextContentDoc&& value) { SetTextContent(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The type of inline content to define.

+ */ + inline const InlineContentType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const InlineContentType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(InlineContentType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline InlineContent& WithType(const InlineContentType& value) { SetType(value); return *this;} + inline InlineContent& WithType(InlineContentType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + ByteContentDoc m_byteContent; + bool m_byteContentHasBeenSet = false; + + TextContentDoc m_textContent; + bool m_textContentHasBeenSet = false; + + InlineContentType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/InlineContentType.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/InlineContentType.h new file mode 100644 index 00000000000..f64468e8686 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/InlineContentType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + enum class InlineContentType + { + NOT_SET, + BYTE, + TEXT + }; + +namespace InlineContentTypeMapper +{ +AWS_BEDROCKAGENT_API InlineContentType GetInlineContentTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENT_API Aws::String GetNameForInlineContentType(InlineContentType value); +} // namespace InlineContentTypeMapper +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/KnowledgeBaseDocument.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/KnowledgeBaseDocument.h new file mode 100644 index 00000000000..21dce631469 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/KnowledgeBaseDocument.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information about a document to ingest into a knowledge base and + * metadata to associate with it.

See Also:

AWS + * API Reference

+ */ + class KnowledgeBaseDocument + { + public: + AWS_BEDROCKAGENT_API KnowledgeBaseDocument(); + AWS_BEDROCKAGENT_API KnowledgeBaseDocument(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API KnowledgeBaseDocument& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains the content of the document.

+ */ + inline const DocumentContent& GetContent() const{ return m_content; } + inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; } + inline void SetContent(const DocumentContent& value) { m_contentHasBeenSet = true; m_content = value; } + inline void SetContent(DocumentContent&& value) { m_contentHasBeenSet = true; m_content = std::move(value); } + inline KnowledgeBaseDocument& WithContent(const DocumentContent& value) { SetContent(value); return *this;} + inline KnowledgeBaseDocument& WithContent(DocumentContent&& value) { SetContent(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains the metadata to associate with the document.

+ */ + inline const DocumentMetadata& GetMetadata() const{ return m_metadata; } + inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } + inline void SetMetadata(const DocumentMetadata& value) { m_metadataHasBeenSet = true; m_metadata = value; } + inline void SetMetadata(DocumentMetadata&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } + inline KnowledgeBaseDocument& WithMetadata(const DocumentMetadata& value) { SetMetadata(value); return *this;} + inline KnowledgeBaseDocument& WithMetadata(DocumentMetadata&& value) { SetMetadata(std::move(value)); return *this;} + ///@} + private: + + DocumentContent m_content; + bool m_contentHasBeenSet = false; + + DocumentMetadata m_metadata; + bool m_metadataHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/KnowledgeBaseDocumentDetail.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/KnowledgeBaseDocumentDetail.h new file mode 100644 index 00000000000..e4b09e28698 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/KnowledgeBaseDocumentDetail.h @@ -0,0 +1,160 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains the details for a document that was ingested or + * deleted.

See Also:

AWS + * API Reference

+ */ + class KnowledgeBaseDocumentDetail + { + public: + AWS_BEDROCKAGENT_API KnowledgeBaseDocumentDetail(); + AWS_BEDROCKAGENT_API KnowledgeBaseDocumentDetail(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API KnowledgeBaseDocumentDetail& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The identifier of the data source connected to the knowledge base that the + * document was ingested into or deleted from.

+ */ + inline const Aws::String& GetDataSourceId() const{ return m_dataSourceId; } + inline bool DataSourceIdHasBeenSet() const { return m_dataSourceIdHasBeenSet; } + inline void SetDataSourceId(const Aws::String& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = value; } + inline void SetDataSourceId(Aws::String&& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = std::move(value); } + inline void SetDataSourceId(const char* value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId.assign(value); } + inline KnowledgeBaseDocumentDetail& WithDataSourceId(const Aws::String& value) { SetDataSourceId(value); return *this;} + inline KnowledgeBaseDocumentDetail& WithDataSourceId(Aws::String&& value) { SetDataSourceId(std::move(value)); return *this;} + inline KnowledgeBaseDocumentDetail& WithDataSourceId(const char* value) { SetDataSourceId(value); return *this;} + ///@} + + ///@{ + /** + *

Contains information that identifies the document.

+ */ + inline const DocumentIdentifier& GetIdentifier() const{ return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + inline void SetIdentifier(const DocumentIdentifier& value) { m_identifierHasBeenSet = true; m_identifier = value; } + inline void SetIdentifier(DocumentIdentifier&& value) { m_identifierHasBeenSet = true; m_identifier = std::move(value); } + inline KnowledgeBaseDocumentDetail& WithIdentifier(const DocumentIdentifier& value) { SetIdentifier(value); return *this;} + inline KnowledgeBaseDocumentDetail& WithIdentifier(DocumentIdentifier&& value) { SetIdentifier(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The identifier of the knowledge base that the document was ingested into or + * deleted from.

+ */ + inline const Aws::String& GetKnowledgeBaseId() const{ return m_knowledgeBaseId; } + inline bool KnowledgeBaseIdHasBeenSet() const { return m_knowledgeBaseIdHasBeenSet; } + inline void SetKnowledgeBaseId(const Aws::String& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = value; } + inline void SetKnowledgeBaseId(Aws::String&& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = std::move(value); } + inline void SetKnowledgeBaseId(const char* value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId.assign(value); } + inline KnowledgeBaseDocumentDetail& WithKnowledgeBaseId(const Aws::String& value) { SetKnowledgeBaseId(value); return *this;} + inline KnowledgeBaseDocumentDetail& WithKnowledgeBaseId(Aws::String&& value) { SetKnowledgeBaseId(std::move(value)); return *this;} + inline KnowledgeBaseDocumentDetail& WithKnowledgeBaseId(const char* value) { SetKnowledgeBaseId(value); return *this;} + ///@} + + ///@{ + /** + *

The ingestion status of the document. The following statuses are + * possible:

  • STARTED – You submitted the ingestion job containing + * the document.

  • PENDING – The document is waiting to be + * ingested.

  • IN_PROGRESS – The document is being ingested.

    + *
  • INDEXED – The document was successfully indexed.

  • + *

    PARTIALLY_INDEXED – The document was partially indexed.

  • + *

    METADATA_PARTIALLY_INDEXED – You submitted metadata for an existing document + * and it was partially indexed.

  • METADATA_UPDATE_FAILED – You + * submitted a metadata update for an existing document but it failed.

  • + *
  • FAILED – The document failed to be ingested.

  • NOT_FOUND + * – The document wasn't found.

  • IGNORED – The document was + * ignored during ingestion.

  • DELETING – You submitted the delete + * job containing the document.

  • DELETE_IN_PROGRESS – The document + * is being deleted.

+ */ + inline const DocumentStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const DocumentStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(DocumentStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline KnowledgeBaseDocumentDetail& WithStatus(const DocumentStatus& value) { SetStatus(value); return *this;} + inline KnowledgeBaseDocumentDetail& WithStatus(DocumentStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The reason for the status. Appears alongside the status + * IGNORED.

+ */ + inline const Aws::String& GetStatusReason() const{ return m_statusReason; } + inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } + inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } + inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } + inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } + inline KnowledgeBaseDocumentDetail& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} + inline KnowledgeBaseDocumentDetail& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} + inline KnowledgeBaseDocumentDetail& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} + ///@} + + ///@{ + /** + *

The date and time at which the document was last updated.

+ */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } + inline KnowledgeBaseDocumentDetail& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + inline KnowledgeBaseDocumentDetail& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_dataSourceId; + bool m_dataSourceIdHasBeenSet = false; + + DocumentIdentifier m_identifier; + bool m_identifierHasBeenSet = false; + + Aws::String m_knowledgeBaseId; + bool m_knowledgeBaseIdHasBeenSet = false; + + DocumentStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_statusReason; + bool m_statusReasonHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt; + bool m_updatedAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ListKnowledgeBaseDocumentsRequest.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ListKnowledgeBaseDocumentsRequest.h new file mode 100644 index 00000000000..84b9ab4eb0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ListKnowledgeBaseDocumentsRequest.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + + /** + */ + class ListKnowledgeBaseDocumentsRequest : public BedrockAgentRequest + { + public: + AWS_BEDROCKAGENT_API ListKnowledgeBaseDocumentsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListKnowledgeBaseDocuments"; } + + AWS_BEDROCKAGENT_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The unique identifier of the data source that contains the documents.

+ */ + inline const Aws::String& GetDataSourceId() const{ return m_dataSourceId; } + inline bool DataSourceIdHasBeenSet() const { return m_dataSourceIdHasBeenSet; } + inline void SetDataSourceId(const Aws::String& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = value; } + inline void SetDataSourceId(Aws::String&& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = std::move(value); } + inline void SetDataSourceId(const char* value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId.assign(value); } + inline ListKnowledgeBaseDocumentsRequest& WithDataSourceId(const Aws::String& value) { SetDataSourceId(value); return *this;} + inline ListKnowledgeBaseDocumentsRequest& WithDataSourceId(Aws::String&& value) { SetDataSourceId(std::move(value)); return *this;} + inline ListKnowledgeBaseDocumentsRequest& WithDataSourceId(const char* value) { SetDataSourceId(value); return *this;} + ///@} + + ///@{ + /** + *

The unique identifier of the knowledge base that is connected to the data + * source.

+ */ + inline const Aws::String& GetKnowledgeBaseId() const{ return m_knowledgeBaseId; } + inline bool KnowledgeBaseIdHasBeenSet() const { return m_knowledgeBaseIdHasBeenSet; } + inline void SetKnowledgeBaseId(const Aws::String& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = value; } + inline void SetKnowledgeBaseId(Aws::String&& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = std::move(value); } + inline void SetKnowledgeBaseId(const char* value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId.assign(value); } + inline ListKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(const Aws::String& value) { SetKnowledgeBaseId(value); return *this;} + inline ListKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(Aws::String&& value) { SetKnowledgeBaseId(std::move(value)); return *this;} + inline ListKnowledgeBaseDocumentsRequest& WithKnowledgeBaseId(const char* value) { SetKnowledgeBaseId(value); return *this;} + ///@} + + ///@{ + /** + *

The maximum number of results to return in the response. If the total number + * of results is greater than this value, use the token returned in the response in + * the nextToken field when making another request to return the next + * batch of results.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListKnowledgeBaseDocumentsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

If the total number of results is greater than the maxResults + * value provided in the request, enter the token returned in the + * nextToken field in the response in this field to return the next + * batch of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListKnowledgeBaseDocumentsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListKnowledgeBaseDocumentsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListKnowledgeBaseDocumentsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + private: + + Aws::String m_dataSourceId; + bool m_dataSourceIdHasBeenSet = false; + + Aws::String m_knowledgeBaseId; + bool m_knowledgeBaseIdHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ListKnowledgeBaseDocumentsResult.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ListKnowledgeBaseDocumentsResult.h new file mode 100644 index 00000000000..4ac26d17184 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ListKnowledgeBaseDocumentsResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + class ListKnowledgeBaseDocumentsResult + { + public: + AWS_BEDROCKAGENT_API ListKnowledgeBaseDocumentsResult(); + AWS_BEDROCKAGENT_API ListKnowledgeBaseDocumentsResult(const Aws::AmazonWebServiceResult& result); + AWS_BEDROCKAGENT_API ListKnowledgeBaseDocumentsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

A list of objects, each of which contains information about the documents + * that were retrieved.

+ */ + inline const Aws::Vector& GetDocumentDetails() const{ return m_documentDetails; } + inline void SetDocumentDetails(const Aws::Vector& value) { m_documentDetails = value; } + inline void SetDocumentDetails(Aws::Vector&& value) { m_documentDetails = std::move(value); } + inline ListKnowledgeBaseDocumentsResult& WithDocumentDetails(const Aws::Vector& value) { SetDocumentDetails(value); return *this;} + inline ListKnowledgeBaseDocumentsResult& WithDocumentDetails(Aws::Vector&& value) { SetDocumentDetails(std::move(value)); return *this;} + inline ListKnowledgeBaseDocumentsResult& AddDocumentDetails(const KnowledgeBaseDocumentDetail& value) { m_documentDetails.push_back(value); return *this; } + inline ListKnowledgeBaseDocumentsResult& AddDocumentDetails(KnowledgeBaseDocumentDetail&& value) { m_documentDetails.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

If the total number of results is greater than the maxResults + * value provided in the request, use this token when making another request in the + * nextToken field to return the next batch of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListKnowledgeBaseDocumentsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListKnowledgeBaseDocumentsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListKnowledgeBaseDocumentsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListKnowledgeBaseDocumentsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListKnowledgeBaseDocumentsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListKnowledgeBaseDocumentsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_documentDetails; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataAttribute.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataAttribute.h new file mode 100644 index 00000000000..e6b3b9efd1d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataAttribute.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information about a metadata attribute.

See Also:

+ * AWS + * API Reference

+ */ + class MetadataAttribute + { + public: + AWS_BEDROCKAGENT_API MetadataAttribute(); + AWS_BEDROCKAGENT_API MetadataAttribute(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API MetadataAttribute& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The key of the metadata attribute.

+ */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline MetadataAttribute& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline MetadataAttribute& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline MetadataAttribute& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

Contains the value of the metadata attribute.

+ */ + inline const MetadataAttributeValue& GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(const MetadataAttributeValue& value) { m_valueHasBeenSet = true; m_value = value; } + inline void SetValue(MetadataAttributeValue&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + inline MetadataAttribute& WithValue(const MetadataAttributeValue& value) { SetValue(value); return *this;} + inline MetadataAttribute& WithValue(MetadataAttributeValue&& value) { SetValue(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + MetadataAttributeValue m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataAttributeValue.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataAttributeValue.h new file mode 100644 index 00000000000..981f87628d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataAttributeValue.h @@ -0,0 +1,123 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains the value of the metadata attribute. Choose a type and + * include the field that corresponds to it.

See Also:

AWS + * API Reference

+ */ + class MetadataAttributeValue + { + public: + AWS_BEDROCKAGENT_API MetadataAttributeValue(); + AWS_BEDROCKAGENT_API MetadataAttributeValue(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API MetadataAttributeValue& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The value of the Boolean metadata attribute.

+ */ + inline bool GetBooleanValue() const{ return m_booleanValue; } + inline bool BooleanValueHasBeenSet() const { return m_booleanValueHasBeenSet; } + inline void SetBooleanValue(bool value) { m_booleanValueHasBeenSet = true; m_booleanValue = value; } + inline MetadataAttributeValue& WithBooleanValue(bool value) { SetBooleanValue(value); return *this;} + ///@} + + ///@{ + /** + *

The value of the numeric metadata attribute.

+ */ + inline double GetNumberValue() const{ return m_numberValue; } + inline bool NumberValueHasBeenSet() const { return m_numberValueHasBeenSet; } + inline void SetNumberValue(double value) { m_numberValueHasBeenSet = true; m_numberValue = value; } + inline MetadataAttributeValue& WithNumberValue(double value) { SetNumberValue(value); return *this;} + ///@} + + ///@{ + /** + *

An array of strings that define the value of the metadata attribute.

+ */ + inline const Aws::Vector& GetStringListValue() const{ return m_stringListValue; } + inline bool StringListValueHasBeenSet() const { return m_stringListValueHasBeenSet; } + inline void SetStringListValue(const Aws::Vector& value) { m_stringListValueHasBeenSet = true; m_stringListValue = value; } + inline void SetStringListValue(Aws::Vector&& value) { m_stringListValueHasBeenSet = true; m_stringListValue = std::move(value); } + inline MetadataAttributeValue& WithStringListValue(const Aws::Vector& value) { SetStringListValue(value); return *this;} + inline MetadataAttributeValue& WithStringListValue(Aws::Vector&& value) { SetStringListValue(std::move(value)); return *this;} + inline MetadataAttributeValue& AddStringListValue(const Aws::String& value) { m_stringListValueHasBeenSet = true; m_stringListValue.push_back(value); return *this; } + inline MetadataAttributeValue& AddStringListValue(Aws::String&& value) { m_stringListValueHasBeenSet = true; m_stringListValue.push_back(std::move(value)); return *this; } + inline MetadataAttributeValue& AddStringListValue(const char* value) { m_stringListValueHasBeenSet = true; m_stringListValue.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

The value of the string metadata attribute.

+ */ + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } + inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } + inline MetadataAttributeValue& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline MetadataAttributeValue& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline MetadataAttributeValue& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + /** + *

The type of the metadata attribute.

+ */ + inline const MetadataValueType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const MetadataValueType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(MetadataValueType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline MetadataAttributeValue& WithType(const MetadataValueType& value) { SetType(value); return *this;} + inline MetadataAttributeValue& WithType(MetadataValueType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + bool m_booleanValue; + bool m_booleanValueHasBeenSet = false; + + double m_numberValue; + bool m_numberValueHasBeenSet = false; + + Aws::Vector m_stringListValue; + bool m_stringListValueHasBeenSet = false; + + Aws::String m_stringValue; + bool m_stringValueHasBeenSet = false; + + MetadataValueType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataSourceType.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataSourceType.h new file mode 100644 index 00000000000..23bbb5d9208 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataSourceType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + enum class MetadataSourceType + { + NOT_SET, + IN_LINE_ATTRIBUTE, + S3_LOCATION + }; + +namespace MetadataSourceTypeMapper +{ +AWS_BEDROCKAGENT_API MetadataSourceType GetMetadataSourceTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENT_API Aws::String GetNameForMetadataSourceType(MetadataSourceType value); +} // namespace MetadataSourceTypeMapper +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataValueType.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataValueType.h new file mode 100644 index 00000000000..d03be73ec93 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/MetadataValueType.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + enum class MetadataValueType + { + NOT_SET, + BOOLEAN, + NUMBER, + STRING, + STRING_LIST + }; + +namespace MetadataValueTypeMapper +{ +AWS_BEDROCKAGENT_API MetadataValueType GetMetadataValueTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENT_API Aws::String GetNameForMetadataValueType(MetadataValueType value); +} // namespace MetadataValueTypeMapper +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/S3Content.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/S3Content.h new file mode 100644 index 00000000000..2760320ea45 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/S3Content.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information about the content to ingest into a knowledge base + * connected to an Amazon S3 data source.

See Also:

AWS + * API Reference

+ */ + class S3Content + { + public: + AWS_BEDROCKAGENT_API S3Content(); + AWS_BEDROCKAGENT_API S3Content(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API S3Content& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The S3 location of the file containing the content to ingest.

+ */ + inline const S3Location& GetS3Location() const{ return m_s3Location; } + inline bool S3LocationHasBeenSet() const { return m_s3LocationHasBeenSet; } + inline void SetS3Location(const S3Location& value) { m_s3LocationHasBeenSet = true; m_s3Location = value; } + inline void SetS3Location(S3Location&& value) { m_s3LocationHasBeenSet = true; m_s3Location = std::move(value); } + inline S3Content& WithS3Location(const S3Location& value) { SetS3Location(value); return *this;} + inline S3Content& WithS3Location(S3Location&& value) { SetS3Location(std::move(value)); return *this;} + ///@} + private: + + S3Location m_s3Location; + bool m_s3LocationHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/TextContentDoc.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/TextContentDoc.h new file mode 100644 index 00000000000..78b96c0f16a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/TextContentDoc.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

Contains information about content defined inline in text.

See + * Also:

AWS + * API Reference

+ */ + class TextContentDoc + { + public: + AWS_BEDROCKAGENT_API TextContentDoc(); + AWS_BEDROCKAGENT_API TextContentDoc(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API TextContentDoc& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The text of the content.

+ */ + inline const Aws::String& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::String& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::String&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline void SetData(const char* value) { m_dataHasBeenSet = true; m_data.assign(value); } + inline TextContentDoc& WithData(const Aws::String& value) { SetData(value); return *this;} + inline TextContentDoc& WithData(Aws::String&& value) { SetData(std::move(value)); return *this;} + inline TextContentDoc& WithData(const char* value) { SetData(value); return *this;} + ///@} + private: + + Aws::String m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClient.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClient.cpp index 77f07d65a97..29368268795 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClient.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClient.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -54,7 +55,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -65,6 +68,7 @@ #include #include #include +#include #include #include #include @@ -933,6 +937,47 @@ DeleteKnowledgeBaseOutcome BedrockAgentClient::DeleteKnowledgeBase(const DeleteK {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteKnowledgeBaseDocumentsOutcome BedrockAgentClient::DeleteKnowledgeBaseDocuments(const DeleteKnowledgeBaseDocumentsRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteKnowledgeBaseDocuments); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteKnowledgeBaseDocuments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DataSourceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteKnowledgeBaseDocuments", "Required field: DataSourceId, is not set"); + return DeleteKnowledgeBaseDocumentsOutcome(Aws::Client::AWSError(BedrockAgentErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSourceId]", false)); + } + if (!request.KnowledgeBaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteKnowledgeBaseDocuments", "Required field: KnowledgeBaseId, is not set"); + return DeleteKnowledgeBaseDocumentsOutcome(Aws::Client::AWSError(BedrockAgentErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [KnowledgeBaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteKnowledgeBaseDocuments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteKnowledgeBaseDocuments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteKnowledgeBaseDocuments", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteKnowledgeBaseDocumentsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteKnowledgeBaseDocuments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/knowledgebases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetKnowledgeBaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/datasources/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDataSourceId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/documents/deleteDocuments"); + return DeleteKnowledgeBaseDocumentsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeletePromptOutcome BedrockAgentClient::DeletePrompt(const DeletePromptRequest& request) const { AWS_OPERATION_GUARD(DeletePrompt); @@ -1453,6 +1498,47 @@ GetKnowledgeBaseOutcome BedrockAgentClient::GetKnowledgeBase(const GetKnowledgeB {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetKnowledgeBaseDocumentsOutcome BedrockAgentClient::GetKnowledgeBaseDocuments(const GetKnowledgeBaseDocumentsRequest& request) const +{ + AWS_OPERATION_GUARD(GetKnowledgeBaseDocuments); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetKnowledgeBaseDocuments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DataSourceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetKnowledgeBaseDocuments", "Required field: DataSourceId, is not set"); + return GetKnowledgeBaseDocumentsOutcome(Aws::Client::AWSError(BedrockAgentErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSourceId]", false)); + } + if (!request.KnowledgeBaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetKnowledgeBaseDocuments", "Required field: KnowledgeBaseId, is not set"); + return GetKnowledgeBaseDocumentsOutcome(Aws::Client::AWSError(BedrockAgentErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [KnowledgeBaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetKnowledgeBaseDocuments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetKnowledgeBaseDocuments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetKnowledgeBaseDocuments", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetKnowledgeBaseDocumentsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetKnowledgeBaseDocuments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/knowledgebases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetKnowledgeBaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/datasources/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDataSourceId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/documents/getDocuments"); + return GetKnowledgeBaseDocumentsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetPromptOutcome BedrockAgentClient::GetPrompt(const GetPromptRequest& request) const { AWS_OPERATION_GUARD(GetPrompt); @@ -1486,6 +1572,47 @@ GetPromptOutcome BedrockAgentClient::GetPrompt(const GetPromptRequest& request) {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +IngestKnowledgeBaseDocumentsOutcome BedrockAgentClient::IngestKnowledgeBaseDocuments(const IngestKnowledgeBaseDocumentsRequest& request) const +{ + AWS_OPERATION_GUARD(IngestKnowledgeBaseDocuments); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, IngestKnowledgeBaseDocuments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DataSourceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("IngestKnowledgeBaseDocuments", "Required field: DataSourceId, is not set"); + return IngestKnowledgeBaseDocumentsOutcome(Aws::Client::AWSError(BedrockAgentErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSourceId]", false)); + } + if (!request.KnowledgeBaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("IngestKnowledgeBaseDocuments", "Required field: KnowledgeBaseId, is not set"); + return IngestKnowledgeBaseDocumentsOutcome(Aws::Client::AWSError(BedrockAgentErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [KnowledgeBaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, IngestKnowledgeBaseDocuments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, IngestKnowledgeBaseDocuments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".IngestKnowledgeBaseDocuments", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> IngestKnowledgeBaseDocumentsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, IngestKnowledgeBaseDocuments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/knowledgebases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetKnowledgeBaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/datasources/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDataSourceId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/documents"); + return IngestKnowledgeBaseDocumentsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListAgentActionGroupsOutcome BedrockAgentClient::ListAgentActionGroups(const ListAgentActionGroupsRequest& request) const { AWS_OPERATION_GUARD(ListAgentActionGroups); @@ -1833,6 +1960,47 @@ ListIngestionJobsOutcome BedrockAgentClient::ListIngestionJobs(const ListIngesti {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListKnowledgeBaseDocumentsOutcome BedrockAgentClient::ListKnowledgeBaseDocuments(const ListKnowledgeBaseDocumentsRequest& request) const +{ + AWS_OPERATION_GUARD(ListKnowledgeBaseDocuments); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListKnowledgeBaseDocuments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DataSourceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListKnowledgeBaseDocuments", "Required field: DataSourceId, is not set"); + return ListKnowledgeBaseDocumentsOutcome(Aws::Client::AWSError(BedrockAgentErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSourceId]", false)); + } + if (!request.KnowledgeBaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListKnowledgeBaseDocuments", "Required field: KnowledgeBaseId, is not set"); + return ListKnowledgeBaseDocumentsOutcome(Aws::Client::AWSError(BedrockAgentErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [KnowledgeBaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListKnowledgeBaseDocuments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListKnowledgeBaseDocuments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListKnowledgeBaseDocuments", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListKnowledgeBaseDocumentsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListKnowledgeBaseDocuments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/knowledgebases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetKnowledgeBaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/datasources/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDataSourceId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/documents"); + return ListKnowledgeBaseDocumentsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListKnowledgeBasesOutcome BedrockAgentClient::ListKnowledgeBases(const ListKnowledgeBasesRequest& request) const { AWS_OPERATION_GUARD(ListKnowledgeBases); diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ByteContentDoc.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ByteContentDoc.cpp new file mode 100644 index 00000000000..b44ba0c1144 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ByteContentDoc.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +ByteContentDoc::ByteContentDoc() : + m_dataHasBeenSet(false), + m_mimeTypeHasBeenSet(false) +{ +} + +ByteContentDoc::ByteContentDoc(JsonView jsonValue) + : ByteContentDoc() +{ + *this = jsonValue; +} + +ByteContentDoc& ByteContentDoc::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("data")) + { + m_data = HashingUtils::Base64Decode(jsonValue.GetString("data")); + m_dataHasBeenSet = true; + } + + if(jsonValue.ValueExists("mimeType")) + { + m_mimeType = jsonValue.GetString("mimeType"); + + m_mimeTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue ByteContentDoc::Jsonize() const +{ + JsonValue payload; + + if(m_dataHasBeenSet) + { + payload.WithString("data", HashingUtils::Base64Encode(m_data)); + } + + if(m_mimeTypeHasBeenSet) + { + payload.WithString("mimeType", m_mimeType); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ContentDataSourceType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ContentDataSourceType.cpp new file mode 100644 index 00000000000..077791cbeb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ContentDataSourceType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgent + { + namespace Model + { + namespace ContentDataSourceTypeMapper + { + + static const int CUSTOM_HASH = HashingUtils::HashString("CUSTOM"); + static const int S3_HASH = HashingUtils::HashString("S3"); + + + ContentDataSourceType GetContentDataSourceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CUSTOM_HASH) + { + return ContentDataSourceType::CUSTOM; + } + else if (hashCode == S3_HASH) + { + return ContentDataSourceType::S3; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ContentDataSourceType::NOT_SET; + } + + Aws::String GetNameForContentDataSourceType(ContentDataSourceType enumValue) + { + switch(enumValue) + { + case ContentDataSourceType::NOT_SET: + return {}; + case ContentDataSourceType::CUSTOM: + return "CUSTOM"; + case ContentDataSourceType::S3: + return "S3"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ContentDataSourceTypeMapper + } // namespace Model + } // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomContent.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomContent.cpp new file mode 100644 index 00000000000..d185c716ecd --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomContent.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +CustomContent::CustomContent() : + m_customDocumentIdentifierHasBeenSet(false), + m_inlineContentHasBeenSet(false), + m_s3LocationHasBeenSet(false), + m_sourceType(CustomSourceType::NOT_SET), + m_sourceTypeHasBeenSet(false) +{ +} + +CustomContent::CustomContent(JsonView jsonValue) + : CustomContent() +{ + *this = jsonValue; +} + +CustomContent& CustomContent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("customDocumentIdentifier")) + { + m_customDocumentIdentifier = jsonValue.GetObject("customDocumentIdentifier"); + + m_customDocumentIdentifierHasBeenSet = true; + } + + if(jsonValue.ValueExists("inlineContent")) + { + m_inlineContent = jsonValue.GetObject("inlineContent"); + + m_inlineContentHasBeenSet = true; + } + + if(jsonValue.ValueExists("s3Location")) + { + m_s3Location = jsonValue.GetObject("s3Location"); + + m_s3LocationHasBeenSet = true; + } + + if(jsonValue.ValueExists("sourceType")) + { + m_sourceType = CustomSourceTypeMapper::GetCustomSourceTypeForName(jsonValue.GetString("sourceType")); + + m_sourceTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue CustomContent::Jsonize() const +{ + JsonValue payload; + + if(m_customDocumentIdentifierHasBeenSet) + { + payload.WithObject("customDocumentIdentifier", m_customDocumentIdentifier.Jsonize()); + + } + + if(m_inlineContentHasBeenSet) + { + payload.WithObject("inlineContent", m_inlineContent.Jsonize()); + + } + + if(m_s3LocationHasBeenSet) + { + payload.WithObject("s3Location", m_s3Location.Jsonize()); + + } + + if(m_sourceTypeHasBeenSet) + { + payload.WithString("sourceType", CustomSourceTypeMapper::GetNameForCustomSourceType(m_sourceType)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomDocumentIdentifier.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomDocumentIdentifier.cpp new file mode 100644 index 00000000000..c03698a6824 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomDocumentIdentifier.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +CustomDocumentIdentifier::CustomDocumentIdentifier() : + m_idHasBeenSet(false) +{ +} + +CustomDocumentIdentifier::CustomDocumentIdentifier(JsonView jsonValue) + : CustomDocumentIdentifier() +{ + *this = jsonValue; +} + +CustomDocumentIdentifier& CustomDocumentIdentifier::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + return *this; +} + +JsonValue CustomDocumentIdentifier::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomS3Location.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomS3Location.cpp new file mode 100644 index 00000000000..e3b06602bdc --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomS3Location.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +CustomS3Location::CustomS3Location() : + m_bucketOwnerAccountIdHasBeenSet(false), + m_uriHasBeenSet(false) +{ +} + +CustomS3Location::CustomS3Location(JsonView jsonValue) + : CustomS3Location() +{ + *this = jsonValue; +} + +CustomS3Location& CustomS3Location::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("bucketOwnerAccountId")) + { + m_bucketOwnerAccountId = jsonValue.GetString("bucketOwnerAccountId"); + + m_bucketOwnerAccountIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("uri")) + { + m_uri = jsonValue.GetString("uri"); + + m_uriHasBeenSet = true; + } + + return *this; +} + +JsonValue CustomS3Location::Jsonize() const +{ + JsonValue payload; + + if(m_bucketOwnerAccountIdHasBeenSet) + { + payload.WithString("bucketOwnerAccountId", m_bucketOwnerAccountId); + + } + + if(m_uriHasBeenSet) + { + payload.WithString("uri", m_uri); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomSourceType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomSourceType.cpp new file mode 100644 index 00000000000..67701a19125 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CustomSourceType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgent + { + namespace Model + { + namespace CustomSourceTypeMapper + { + + static const int IN_LINE_HASH = HashingUtils::HashString("IN_LINE"); + static const int S3_LOCATION_HASH = HashingUtils::HashString("S3_LOCATION"); + + + CustomSourceType GetCustomSourceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IN_LINE_HASH) + { + return CustomSourceType::IN_LINE; + } + else if (hashCode == S3_LOCATION_HASH) + { + return CustomSourceType::S3_LOCATION; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CustomSourceType::NOT_SET; + } + + Aws::String GetNameForCustomSourceType(CustomSourceType enumValue) + { + switch(enumValue) + { + case CustomSourceType::NOT_SET: + return {}; + case CustomSourceType::IN_LINE: + return "IN_LINE"; + case CustomSourceType::S3_LOCATION: + return "S3_LOCATION"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CustomSourceTypeMapper + } // namespace Model + } // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DataSourceType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DataSourceType.cpp index 00454c80e0d..62a6a4e9e1d 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DataSourceType.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DataSourceType.cpp @@ -25,6 +25,7 @@ namespace Aws static const int CONFLUENCE_HASH = HashingUtils::HashString("CONFLUENCE"); static const int SALESFORCE_HASH = HashingUtils::HashString("SALESFORCE"); static const int SHAREPOINT_HASH = HashingUtils::HashString("SHAREPOINT"); + static const int CUSTOM_HASH = HashingUtils::HashString("CUSTOM"); DataSourceType GetDataSourceTypeForName(const Aws::String& name) @@ -50,6 +51,10 @@ namespace Aws { return DataSourceType::SHAREPOINT; } + else if (hashCode == CUSTOM_HASH) + { + return DataSourceType::CUSTOM; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +81,8 @@ namespace Aws return "SALESFORCE"; case DataSourceType::SHAREPOINT: return "SHAREPOINT"; + case DataSourceType::CUSTOM: + return "CUSTOM"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DeleteKnowledgeBaseDocumentsRequest.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DeleteKnowledgeBaseDocumentsRequest.cpp new file mode 100644 index 00000000000..8970e254261 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DeleteKnowledgeBaseDocumentsRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::BedrockAgent::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteKnowledgeBaseDocumentsRequest::DeleteKnowledgeBaseDocumentsRequest() : + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_dataSourceIdHasBeenSet(false), + m_documentIdentifiersHasBeenSet(false), + m_knowledgeBaseIdHasBeenSet(false) +{ +} + +Aws::String DeleteKnowledgeBaseDocumentsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_documentIdentifiersHasBeenSet) + { + Aws::Utils::Array documentIdentifiersJsonList(m_documentIdentifiers.size()); + for(unsigned documentIdentifiersIndex = 0; documentIdentifiersIndex < documentIdentifiersJsonList.GetLength(); ++documentIdentifiersIndex) + { + documentIdentifiersJsonList[documentIdentifiersIndex].AsObject(m_documentIdentifiers[documentIdentifiersIndex].Jsonize()); + } + payload.WithArray("documentIdentifiers", std::move(documentIdentifiersJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DeleteKnowledgeBaseDocumentsResult.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DeleteKnowledgeBaseDocumentsResult.cpp new file mode 100644 index 00000000000..64ee46b28e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DeleteKnowledgeBaseDocumentsResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::BedrockAgent::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteKnowledgeBaseDocumentsResult::DeleteKnowledgeBaseDocumentsResult() +{ +} + +DeleteKnowledgeBaseDocumentsResult::DeleteKnowledgeBaseDocumentsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteKnowledgeBaseDocumentsResult& DeleteKnowledgeBaseDocumentsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("documentDetails")) + { + Aws::Utils::Array documentDetailsJsonList = jsonValue.GetArray("documentDetails"); + for(unsigned documentDetailsIndex = 0; documentDetailsIndex < documentDetailsJsonList.GetLength(); ++documentDetailsIndex) + { + m_documentDetails.push_back(documentDetailsJsonList[documentDetailsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentContent.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentContent.cpp new file mode 100644 index 00000000000..c4644e92ff7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentContent.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +DocumentContent::DocumentContent() : + m_customHasBeenSet(false), + m_dataSourceType(ContentDataSourceType::NOT_SET), + m_dataSourceTypeHasBeenSet(false), + m_s3HasBeenSet(false) +{ +} + +DocumentContent::DocumentContent(JsonView jsonValue) + : DocumentContent() +{ + *this = jsonValue; +} + +DocumentContent& DocumentContent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("custom")) + { + m_custom = jsonValue.GetObject("custom"); + + m_customHasBeenSet = true; + } + + if(jsonValue.ValueExists("dataSourceType")) + { + m_dataSourceType = ContentDataSourceTypeMapper::GetContentDataSourceTypeForName(jsonValue.GetString("dataSourceType")); + + m_dataSourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("s3")) + { + m_s3 = jsonValue.GetObject("s3"); + + m_s3HasBeenSet = true; + } + + return *this; +} + +JsonValue DocumentContent::Jsonize() const +{ + JsonValue payload; + + if(m_customHasBeenSet) + { + payload.WithObject("custom", m_custom.Jsonize()); + + } + + if(m_dataSourceTypeHasBeenSet) + { + payload.WithString("dataSourceType", ContentDataSourceTypeMapper::GetNameForContentDataSourceType(m_dataSourceType)); + } + + if(m_s3HasBeenSet) + { + payload.WithObject("s3", m_s3.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentIdentifier.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentIdentifier.cpp new file mode 100644 index 00000000000..96885e17ebd --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentIdentifier.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +DocumentIdentifier::DocumentIdentifier() : + m_customHasBeenSet(false), + m_dataSourceType(ContentDataSourceType::NOT_SET), + m_dataSourceTypeHasBeenSet(false), + m_s3HasBeenSet(false) +{ +} + +DocumentIdentifier::DocumentIdentifier(JsonView jsonValue) + : DocumentIdentifier() +{ + *this = jsonValue; +} + +DocumentIdentifier& DocumentIdentifier::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("custom")) + { + m_custom = jsonValue.GetObject("custom"); + + m_customHasBeenSet = true; + } + + if(jsonValue.ValueExists("dataSourceType")) + { + m_dataSourceType = ContentDataSourceTypeMapper::GetContentDataSourceTypeForName(jsonValue.GetString("dataSourceType")); + + m_dataSourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("s3")) + { + m_s3 = jsonValue.GetObject("s3"); + + m_s3HasBeenSet = true; + } + + return *this; +} + +JsonValue DocumentIdentifier::Jsonize() const +{ + JsonValue payload; + + if(m_customHasBeenSet) + { + payload.WithObject("custom", m_custom.Jsonize()); + + } + + if(m_dataSourceTypeHasBeenSet) + { + payload.WithString("dataSourceType", ContentDataSourceTypeMapper::GetNameForContentDataSourceType(m_dataSourceType)); + } + + if(m_s3HasBeenSet) + { + payload.WithObject("s3", m_s3.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentMetadata.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentMetadata.cpp new file mode 100644 index 00000000000..e8877698f1a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentMetadata.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +DocumentMetadata::DocumentMetadata() : + m_inlineAttributesHasBeenSet(false), + m_s3LocationHasBeenSet(false), + m_type(MetadataSourceType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +DocumentMetadata::DocumentMetadata(JsonView jsonValue) + : DocumentMetadata() +{ + *this = jsonValue; +} + +DocumentMetadata& DocumentMetadata::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("inlineAttributes")) + { + Aws::Utils::Array inlineAttributesJsonList = jsonValue.GetArray("inlineAttributes"); + for(unsigned inlineAttributesIndex = 0; inlineAttributesIndex < inlineAttributesJsonList.GetLength(); ++inlineAttributesIndex) + { + m_inlineAttributes.push_back(inlineAttributesJsonList[inlineAttributesIndex].AsObject()); + } + m_inlineAttributesHasBeenSet = true; + } + + if(jsonValue.ValueExists("s3Location")) + { + m_s3Location = jsonValue.GetObject("s3Location"); + + m_s3LocationHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = MetadataSourceTypeMapper::GetMetadataSourceTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue DocumentMetadata::Jsonize() const +{ + JsonValue payload; + + if(m_inlineAttributesHasBeenSet) + { + Aws::Utils::Array inlineAttributesJsonList(m_inlineAttributes.size()); + for(unsigned inlineAttributesIndex = 0; inlineAttributesIndex < inlineAttributesJsonList.GetLength(); ++inlineAttributesIndex) + { + inlineAttributesJsonList[inlineAttributesIndex].AsObject(m_inlineAttributes[inlineAttributesIndex].Jsonize()); + } + payload.WithArray("inlineAttributes", std::move(inlineAttributesJsonList)); + + } + + if(m_s3LocationHasBeenSet) + { + payload.WithObject("s3Location", m_s3Location.Jsonize()); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", MetadataSourceTypeMapper::GetNameForMetadataSourceType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentStatus.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentStatus.cpp new file mode 100644 index 00000000000..64779ec63c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/DocumentStatus.cpp @@ -0,0 +1,142 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgent + { + namespace Model + { + namespace DocumentStatusMapper + { + + static const int INDEXED_HASH = HashingUtils::HashString("INDEXED"); + static const int PARTIALLY_INDEXED_HASH = HashingUtils::HashString("PARTIALLY_INDEXED"); + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int METADATA_PARTIALLY_INDEXED_HASH = HashingUtils::HashString("METADATA_PARTIALLY_INDEXED"); + static const int METADATA_UPDATE_FAILED_HASH = HashingUtils::HashString("METADATA_UPDATE_FAILED"); + static const int IGNORED_HASH = HashingUtils::HashString("IGNORED"); + static const int NOT_FOUND_HASH = HashingUtils::HashString("NOT_FOUND"); + static const int STARTING_HASH = HashingUtils::HashString("STARTING"); + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int DELETE_IN_PROGRESS_HASH = HashingUtils::HashString("DELETE_IN_PROGRESS"); + + + DocumentStatus GetDocumentStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INDEXED_HASH) + { + return DocumentStatus::INDEXED; + } + else if (hashCode == PARTIALLY_INDEXED_HASH) + { + return DocumentStatus::PARTIALLY_INDEXED; + } + else if (hashCode == PENDING_HASH) + { + return DocumentStatus::PENDING; + } + else if (hashCode == FAILED_HASH) + { + return DocumentStatus::FAILED; + } + else if (hashCode == METADATA_PARTIALLY_INDEXED_HASH) + { + return DocumentStatus::METADATA_PARTIALLY_INDEXED; + } + else if (hashCode == METADATA_UPDATE_FAILED_HASH) + { + return DocumentStatus::METADATA_UPDATE_FAILED; + } + else if (hashCode == IGNORED_HASH) + { + return DocumentStatus::IGNORED; + } + else if (hashCode == NOT_FOUND_HASH) + { + return DocumentStatus::NOT_FOUND; + } + else if (hashCode == STARTING_HASH) + { + return DocumentStatus::STARTING; + } + else if (hashCode == IN_PROGRESS_HASH) + { + return DocumentStatus::IN_PROGRESS; + } + else if (hashCode == DELETING_HASH) + { + return DocumentStatus::DELETING; + } + else if (hashCode == DELETE_IN_PROGRESS_HASH) + { + return DocumentStatus::DELETE_IN_PROGRESS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DocumentStatus::NOT_SET; + } + + Aws::String GetNameForDocumentStatus(DocumentStatus enumValue) + { + switch(enumValue) + { + case DocumentStatus::NOT_SET: + return {}; + case DocumentStatus::INDEXED: + return "INDEXED"; + case DocumentStatus::PARTIALLY_INDEXED: + return "PARTIALLY_INDEXED"; + case DocumentStatus::PENDING: + return "PENDING"; + case DocumentStatus::FAILED: + return "FAILED"; + case DocumentStatus::METADATA_PARTIALLY_INDEXED: + return "METADATA_PARTIALLY_INDEXED"; + case DocumentStatus::METADATA_UPDATE_FAILED: + return "METADATA_UPDATE_FAILED"; + case DocumentStatus::IGNORED: + return "IGNORED"; + case DocumentStatus::NOT_FOUND: + return "NOT_FOUND"; + case DocumentStatus::STARTING: + return "STARTING"; + case DocumentStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case DocumentStatus::DELETING: + return "DELETING"; + case DocumentStatus::DELETE_IN_PROGRESS: + return "DELETE_IN_PROGRESS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DocumentStatusMapper + } // namespace Model + } // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/GetKnowledgeBaseDocumentsRequest.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/GetKnowledgeBaseDocumentsRequest.cpp new file mode 100644 index 00000000000..310a2604375 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/GetKnowledgeBaseDocumentsRequest.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::BedrockAgent::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetKnowledgeBaseDocumentsRequest::GetKnowledgeBaseDocumentsRequest() : + m_dataSourceIdHasBeenSet(false), + m_documentIdentifiersHasBeenSet(false), + m_knowledgeBaseIdHasBeenSet(false) +{ +} + +Aws::String GetKnowledgeBaseDocumentsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_documentIdentifiersHasBeenSet) + { + Aws::Utils::Array documentIdentifiersJsonList(m_documentIdentifiers.size()); + for(unsigned documentIdentifiersIndex = 0; documentIdentifiersIndex < documentIdentifiersJsonList.GetLength(); ++documentIdentifiersIndex) + { + documentIdentifiersJsonList[documentIdentifiersIndex].AsObject(m_documentIdentifiers[documentIdentifiersIndex].Jsonize()); + } + payload.WithArray("documentIdentifiers", std::move(documentIdentifiersJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/GetKnowledgeBaseDocumentsResult.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/GetKnowledgeBaseDocumentsResult.cpp new file mode 100644 index 00000000000..88da3b06865 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/GetKnowledgeBaseDocumentsResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::BedrockAgent::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetKnowledgeBaseDocumentsResult::GetKnowledgeBaseDocumentsResult() +{ +} + +GetKnowledgeBaseDocumentsResult::GetKnowledgeBaseDocumentsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetKnowledgeBaseDocumentsResult& GetKnowledgeBaseDocumentsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("documentDetails")) + { + Aws::Utils::Array documentDetailsJsonList = jsonValue.GetArray("documentDetails"); + for(unsigned documentDetailsIndex = 0; documentDetailsIndex < documentDetailsJsonList.GetLength(); ++documentDetailsIndex) + { + m_documentDetails.push_back(documentDetailsJsonList[documentDetailsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/IngestKnowledgeBaseDocumentsRequest.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/IngestKnowledgeBaseDocumentsRequest.cpp new file mode 100644 index 00000000000..a598e116942 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/IngestKnowledgeBaseDocumentsRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::BedrockAgent::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +IngestKnowledgeBaseDocumentsRequest::IngestKnowledgeBaseDocumentsRequest() : + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_dataSourceIdHasBeenSet(false), + m_documentsHasBeenSet(false), + m_knowledgeBaseIdHasBeenSet(false) +{ +} + +Aws::String IngestKnowledgeBaseDocumentsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_documentsHasBeenSet) + { + Aws::Utils::Array documentsJsonList(m_documents.size()); + for(unsigned documentsIndex = 0; documentsIndex < documentsJsonList.GetLength(); ++documentsIndex) + { + documentsJsonList[documentsIndex].AsObject(m_documents[documentsIndex].Jsonize()); + } + payload.WithArray("documents", std::move(documentsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/IngestKnowledgeBaseDocumentsResult.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/IngestKnowledgeBaseDocumentsResult.cpp new file mode 100644 index 00000000000..7bd573d64c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/IngestKnowledgeBaseDocumentsResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::BedrockAgent::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +IngestKnowledgeBaseDocumentsResult::IngestKnowledgeBaseDocumentsResult() +{ +} + +IngestKnowledgeBaseDocumentsResult::IngestKnowledgeBaseDocumentsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +IngestKnowledgeBaseDocumentsResult& IngestKnowledgeBaseDocumentsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("documentDetails")) + { + Aws::Utils::Array documentDetailsJsonList = jsonValue.GetArray("documentDetails"); + for(unsigned documentDetailsIndex = 0; documentDetailsIndex < documentDetailsJsonList.GetLength(); ++documentDetailsIndex) + { + m_documentDetails.push_back(documentDetailsJsonList[documentDetailsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/InlineContent.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/InlineContent.cpp new file mode 100644 index 00000000000..7e56d2d16bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/InlineContent.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +InlineContent::InlineContent() : + m_byteContentHasBeenSet(false), + m_textContentHasBeenSet(false), + m_type(InlineContentType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +InlineContent::InlineContent(JsonView jsonValue) + : InlineContent() +{ + *this = jsonValue; +} + +InlineContent& InlineContent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("byteContent")) + { + m_byteContent = jsonValue.GetObject("byteContent"); + + m_byteContentHasBeenSet = true; + } + + if(jsonValue.ValueExists("textContent")) + { + m_textContent = jsonValue.GetObject("textContent"); + + m_textContentHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = InlineContentTypeMapper::GetInlineContentTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue InlineContent::Jsonize() const +{ + JsonValue payload; + + if(m_byteContentHasBeenSet) + { + payload.WithObject("byteContent", m_byteContent.Jsonize()); + + } + + if(m_textContentHasBeenSet) + { + payload.WithObject("textContent", m_textContent.Jsonize()); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", InlineContentTypeMapper::GetNameForInlineContentType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/InlineContentType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/InlineContentType.cpp new file mode 100644 index 00000000000..3cf85ab8491 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/InlineContentType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgent + { + namespace Model + { + namespace InlineContentTypeMapper + { + + static const int BYTE_HASH = HashingUtils::HashString("BYTE"); + static const int TEXT_HASH = HashingUtils::HashString("TEXT"); + + + InlineContentType GetInlineContentTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BYTE_HASH) + { + return InlineContentType::BYTE; + } + else if (hashCode == TEXT_HASH) + { + return InlineContentType::TEXT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InlineContentType::NOT_SET; + } + + Aws::String GetNameForInlineContentType(InlineContentType enumValue) + { + switch(enumValue) + { + case InlineContentType::NOT_SET: + return {}; + case InlineContentType::BYTE: + return "BYTE"; + case InlineContentType::TEXT: + return "TEXT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InlineContentTypeMapper + } // namespace Model + } // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/KnowledgeBaseDocument.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/KnowledgeBaseDocument.cpp new file mode 100644 index 00000000000..2d9b9a4e4e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/KnowledgeBaseDocument.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +KnowledgeBaseDocument::KnowledgeBaseDocument() : + m_contentHasBeenSet(false), + m_metadataHasBeenSet(false) +{ +} + +KnowledgeBaseDocument::KnowledgeBaseDocument(JsonView jsonValue) + : KnowledgeBaseDocument() +{ + *this = jsonValue; +} + +KnowledgeBaseDocument& KnowledgeBaseDocument::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("content")) + { + m_content = jsonValue.GetObject("content"); + + m_contentHasBeenSet = true; + } + + if(jsonValue.ValueExists("metadata")) + { + m_metadata = jsonValue.GetObject("metadata"); + + m_metadataHasBeenSet = true; + } + + return *this; +} + +JsonValue KnowledgeBaseDocument::Jsonize() const +{ + JsonValue payload; + + if(m_contentHasBeenSet) + { + payload.WithObject("content", m_content.Jsonize()); + + } + + if(m_metadataHasBeenSet) + { + payload.WithObject("metadata", m_metadata.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/KnowledgeBaseDocumentDetail.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/KnowledgeBaseDocumentDetail.cpp new file mode 100644 index 00000000000..e6fe5749a56 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/KnowledgeBaseDocumentDetail.cpp @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +KnowledgeBaseDocumentDetail::KnowledgeBaseDocumentDetail() : + m_dataSourceIdHasBeenSet(false), + m_identifierHasBeenSet(false), + m_knowledgeBaseIdHasBeenSet(false), + m_status(DocumentStatus::NOT_SET), + m_statusHasBeenSet(false), + m_statusReasonHasBeenSet(false), + m_updatedAtHasBeenSet(false) +{ +} + +KnowledgeBaseDocumentDetail::KnowledgeBaseDocumentDetail(JsonView jsonValue) + : KnowledgeBaseDocumentDetail() +{ + *this = jsonValue; +} + +KnowledgeBaseDocumentDetail& KnowledgeBaseDocumentDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("dataSourceId")) + { + m_dataSourceId = jsonValue.GetString("dataSourceId"); + + m_dataSourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("identifier")) + { + m_identifier = jsonValue.GetObject("identifier"); + + m_identifierHasBeenSet = true; + } + + if(jsonValue.ValueExists("knowledgeBaseId")) + { + m_knowledgeBaseId = jsonValue.GetString("knowledgeBaseId"); + + m_knowledgeBaseIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = DocumentStatusMapper::GetDocumentStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("statusReason")) + { + m_statusReason = jsonValue.GetString("statusReason"); + + m_statusReasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetString("updatedAt"); + + m_updatedAtHasBeenSet = true; + } + + return *this; +} + +JsonValue KnowledgeBaseDocumentDetail::Jsonize() const +{ + JsonValue payload; + + if(m_dataSourceIdHasBeenSet) + { + payload.WithString("dataSourceId", m_dataSourceId); + + } + + if(m_identifierHasBeenSet) + { + payload.WithObject("identifier", m_identifier.Jsonize()); + + } + + if(m_knowledgeBaseIdHasBeenSet) + { + payload.WithString("knowledgeBaseId", m_knowledgeBaseId); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", DocumentStatusMapper::GetNameForDocumentStatus(m_status)); + } + + if(m_statusReasonHasBeenSet) + { + payload.WithString("statusReason", m_statusReason); + + } + + if(m_updatedAtHasBeenSet) + { + payload.WithString("updatedAt", m_updatedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ListKnowledgeBaseDocumentsRequest.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ListKnowledgeBaseDocumentsRequest.cpp new file mode 100644 index 00000000000..ad2faf04d14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ListKnowledgeBaseDocumentsRequest.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::BedrockAgent::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListKnowledgeBaseDocumentsRequest::ListKnowledgeBaseDocumentsRequest() : + m_dataSourceIdHasBeenSet(false), + m_knowledgeBaseIdHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListKnowledgeBaseDocumentsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ListKnowledgeBaseDocumentsResult.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ListKnowledgeBaseDocumentsResult.cpp new file mode 100644 index 00000000000..f649e2e3107 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ListKnowledgeBaseDocumentsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::BedrockAgent::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListKnowledgeBaseDocumentsResult::ListKnowledgeBaseDocumentsResult() +{ +} + +ListKnowledgeBaseDocumentsResult::ListKnowledgeBaseDocumentsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListKnowledgeBaseDocumentsResult& ListKnowledgeBaseDocumentsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("documentDetails")) + { + Aws::Utils::Array documentDetailsJsonList = jsonValue.GetArray("documentDetails"); + for(unsigned documentDetailsIndex = 0; documentDetailsIndex < documentDetailsJsonList.GetLength(); ++documentDetailsIndex) + { + m_documentDetails.push_back(documentDetailsJsonList[documentDetailsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataAttribute.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataAttribute.cpp new file mode 100644 index 00000000000..7f602ee1299 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataAttribute.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +MetadataAttribute::MetadataAttribute() : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +MetadataAttribute::MetadataAttribute(JsonView jsonValue) + : MetadataAttribute() +{ + *this = jsonValue; +} + +MetadataAttribute& MetadataAttribute::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("key")) + { + m_key = jsonValue.GetString("key"); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetObject("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue MetadataAttribute::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithObject("value", m_value.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataAttributeValue.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataAttributeValue.cpp new file mode 100644 index 00000000000..e64c3670600 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataAttributeValue.cpp @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +MetadataAttributeValue::MetadataAttributeValue() : + m_booleanValue(false), + m_booleanValueHasBeenSet(false), + m_numberValue(0.0), + m_numberValueHasBeenSet(false), + m_stringListValueHasBeenSet(false), + m_stringValueHasBeenSet(false), + m_type(MetadataValueType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +MetadataAttributeValue::MetadataAttributeValue(JsonView jsonValue) + : MetadataAttributeValue() +{ + *this = jsonValue; +} + +MetadataAttributeValue& MetadataAttributeValue::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("booleanValue")) + { + m_booleanValue = jsonValue.GetBool("booleanValue"); + + m_booleanValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("numberValue")) + { + m_numberValue = jsonValue.GetDouble("numberValue"); + + m_numberValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("stringListValue")) + { + Aws::Utils::Array stringListValueJsonList = jsonValue.GetArray("stringListValue"); + for(unsigned stringListValueIndex = 0; stringListValueIndex < stringListValueJsonList.GetLength(); ++stringListValueIndex) + { + m_stringListValue.push_back(stringListValueJsonList[stringListValueIndex].AsString()); + } + m_stringListValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("stringValue")) + { + m_stringValue = jsonValue.GetString("stringValue"); + + m_stringValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = MetadataValueTypeMapper::GetMetadataValueTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue MetadataAttributeValue::Jsonize() const +{ + JsonValue payload; + + if(m_booleanValueHasBeenSet) + { + payload.WithBool("booleanValue", m_booleanValue); + + } + + if(m_numberValueHasBeenSet) + { + payload.WithDouble("numberValue", m_numberValue); + + } + + if(m_stringListValueHasBeenSet) + { + Aws::Utils::Array stringListValueJsonList(m_stringListValue.size()); + for(unsigned stringListValueIndex = 0; stringListValueIndex < stringListValueJsonList.GetLength(); ++stringListValueIndex) + { + stringListValueJsonList[stringListValueIndex].AsString(m_stringListValue[stringListValueIndex]); + } + payload.WithArray("stringListValue", std::move(stringListValueJsonList)); + + } + + if(m_stringValueHasBeenSet) + { + payload.WithString("stringValue", m_stringValue); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", MetadataValueTypeMapper::GetNameForMetadataValueType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataSourceType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataSourceType.cpp new file mode 100644 index 00000000000..772cd22078e --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataSourceType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgent + { + namespace Model + { + namespace MetadataSourceTypeMapper + { + + static const int IN_LINE_ATTRIBUTE_HASH = HashingUtils::HashString("IN_LINE_ATTRIBUTE"); + static const int S3_LOCATION_HASH = HashingUtils::HashString("S3_LOCATION"); + + + MetadataSourceType GetMetadataSourceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IN_LINE_ATTRIBUTE_HASH) + { + return MetadataSourceType::IN_LINE_ATTRIBUTE; + } + else if (hashCode == S3_LOCATION_HASH) + { + return MetadataSourceType::S3_LOCATION; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MetadataSourceType::NOT_SET; + } + + Aws::String GetNameForMetadataSourceType(MetadataSourceType enumValue) + { + switch(enumValue) + { + case MetadataSourceType::NOT_SET: + return {}; + case MetadataSourceType::IN_LINE_ATTRIBUTE: + return "IN_LINE_ATTRIBUTE"; + case MetadataSourceType::S3_LOCATION: + return "S3_LOCATION"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MetadataSourceTypeMapper + } // namespace Model + } // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataValueType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataValueType.cpp new file mode 100644 index 00000000000..c74d63e3453 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/MetadataValueType.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgent + { + namespace Model + { + namespace MetadataValueTypeMapper + { + + static const int BOOLEAN_HASH = HashingUtils::HashString("BOOLEAN"); + static const int NUMBER_HASH = HashingUtils::HashString("NUMBER"); + static const int STRING_HASH = HashingUtils::HashString("STRING"); + static const int STRING_LIST_HASH = HashingUtils::HashString("STRING_LIST"); + + + MetadataValueType GetMetadataValueTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BOOLEAN_HASH) + { + return MetadataValueType::BOOLEAN; + } + else if (hashCode == NUMBER_HASH) + { + return MetadataValueType::NUMBER; + } + else if (hashCode == STRING_HASH) + { + return MetadataValueType::STRING; + } + else if (hashCode == STRING_LIST_HASH) + { + return MetadataValueType::STRING_LIST; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MetadataValueType::NOT_SET; + } + + Aws::String GetNameForMetadataValueType(MetadataValueType enumValue) + { + switch(enumValue) + { + case MetadataValueType::NOT_SET: + return {}; + case MetadataValueType::BOOLEAN: + return "BOOLEAN"; + case MetadataValueType::NUMBER: + return "NUMBER"; + case MetadataValueType::STRING: + return "STRING"; + case MetadataValueType::STRING_LIST: + return "STRING_LIST"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MetadataValueTypeMapper + } // namespace Model + } // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/S3Content.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/S3Content.cpp new file mode 100644 index 00000000000..5867d3319df --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/S3Content.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +S3Content::S3Content() : + m_s3LocationHasBeenSet(false) +{ +} + +S3Content::S3Content(JsonView jsonValue) + : S3Content() +{ + *this = jsonValue; +} + +S3Content& S3Content::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("s3Location")) + { + m_s3Location = jsonValue.GetObject("s3Location"); + + m_s3LocationHasBeenSet = true; + } + + return *this; +} + +JsonValue S3Content::Jsonize() const +{ + JsonValue payload; + + if(m_s3LocationHasBeenSet) + { + payload.WithObject("s3Location", m_s3Location.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/TextContentDoc.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/TextContentDoc.cpp new file mode 100644 index 00000000000..cac99d925a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/TextContentDoc.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +TextContentDoc::TextContentDoc() : + m_dataHasBeenSet(false) +{ +} + +TextContentDoc::TextContentDoc(JsonView jsonValue) + : TextContentDoc() +{ + *this = jsonValue; +} + +TextContentDoc& TextContentDoc::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("data")) + { + m_data = jsonValue.GetString("data"); + + m_dataHasBeenSet = true; + } + + return *this; +} + +JsonValue TextContentDoc::Jsonize() const +{ + JsonValue payload; + + if(m_dataHasBeenSet) + { + payload.WithString("data", m_data); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h index ccd7e8d9a8d..932a4dcb8ca 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h @@ -78,7 +78,7 @@ namespace Bedrock virtual ~BedrockClient(); /** - *

Creates a batch deletion job. A model evaluation job can only be deleted if + *

Deletes a batch of evaluation jobs. An evaluation job can only be deleted if * it has following status FAILED, COMPLETED, and * STOPPED. You can request up to 25 model evaluation jobs be deleted * in a single request.

See Also:

API operation for creating and managing Amazon Bedrock automatic model - * evaluation jobs and model evaluation jobs that use human workers. To learn more - * about the requirements for creating a model evaluation job see, Model - * evaluation.

See Also:

Creates an evaluation job.

See Also:

AWS * API Reference

*/ @@ -603,10 +599,8 @@ namespace Bedrock } /** - *

Retrieves the properties associated with a model evaluation job, including - * the status of the job. For more information, see Model - * evaluation.

See Also:

Gets information about an evaluation job, such as the status of the + * job.

See Also:

AWS * API Reference

*/ @@ -940,7 +934,7 @@ namespace Bedrock } /** - *

Lists model evaluation jobs.

See Also:

Lists all existing evaluation jobs.

See Also:

AWS * API Reference

*/ @@ -1291,7 +1285,8 @@ namespace Bedrock } /** - *

Stops an in progress model evaluation job.

See Also:

Stops an evaluation job that is current being created or + * running.

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ApplicationType.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ApplicationType.h new file mode 100644 index 00000000000..9ff11a2230a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ApplicationType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + enum class ApplicationType + { + NOT_SET, + ModelEvaluation, + RagEvaluation + }; + +namespace ApplicationTypeMapper +{ +AWS_BEDROCK_API ApplicationType GetApplicationTypeForName(const Aws::String& name); + +AWS_BEDROCK_API Aws::String GetNameForApplicationType(ApplicationType value); +} // namespace ApplicationTypeMapper +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/AutomatedEvaluationConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/AutomatedEvaluationConfig.h index b48f28e810c..c5af6061bed 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/AutomatedEvaluationConfig.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/AutomatedEvaluationConfig.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -25,7 +26,7 @@ namespace Model { /** - *

Use to specify a automatic model evaluation job. The + *

The configuration details of an automated evaluation job. The * EvaluationDatasetMetricConfig object is used to specify the prompt * datasets, task type, and metric names.

See Also:

AWS @@ -42,7 +43,8 @@ namespace Model ///@{ /** - *

Specifies the required elements for an automatic model evaluation job.

+ *

Configuration details of the prompt datasets and metrics you want to use for + * your evaluation job.

*/ inline const Aws::Vector& GetDatasetMetricConfigs() const{ return m_datasetMetricConfigs; } inline bool DatasetMetricConfigsHasBeenSet() const { return m_datasetMetricConfigsHasBeenSet; } @@ -53,10 +55,28 @@ namespace Model inline AutomatedEvaluationConfig& AddDatasetMetricConfigs(const EvaluationDatasetMetricConfig& value) { m_datasetMetricConfigsHasBeenSet = true; m_datasetMetricConfigs.push_back(value); return *this; } inline AutomatedEvaluationConfig& AddDatasetMetricConfigs(EvaluationDatasetMetricConfig&& value) { m_datasetMetricConfigsHasBeenSet = true; m_datasetMetricConfigs.push_back(std::move(value)); return *this; } ///@} + + ///@{ + /** + *

Contains the evaluator model configuration details. + * EvaluatorModelConfig is required for evaluation jobs that use a + * knowledge base or in model evaluation job that use a model as judge. This model + * computes all evaluation related metrics.

+ */ + inline const EvaluatorModelConfig& GetEvaluatorModelConfig() const{ return m_evaluatorModelConfig; } + inline bool EvaluatorModelConfigHasBeenSet() const { return m_evaluatorModelConfigHasBeenSet; } + inline void SetEvaluatorModelConfig(const EvaluatorModelConfig& value) { m_evaluatorModelConfigHasBeenSet = true; m_evaluatorModelConfig = value; } + inline void SetEvaluatorModelConfig(EvaluatorModelConfig&& value) { m_evaluatorModelConfigHasBeenSet = true; m_evaluatorModelConfig = std::move(value); } + inline AutomatedEvaluationConfig& WithEvaluatorModelConfig(const EvaluatorModelConfig& value) { SetEvaluatorModelConfig(value); return *this;} + inline AutomatedEvaluationConfig& WithEvaluatorModelConfig(EvaluatorModelConfig&& value) { SetEvaluatorModelConfig(std::move(value)); return *this;} + ///@} private: Aws::Vector m_datasetMetricConfigs; bool m_datasetMetricConfigsHasBeenSet = false; + + EvaluatorModelConfig m_evaluatorModelConfig; + bool m_evaluatorModelConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobError.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobError.h index 3ed3c6273d4..a013b3277e0 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobError.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobError.h @@ -24,7 +24,7 @@ namespace Model { /** - *

A JSON array that provides the status of the model evaluation jobs being + *

A JSON array that provides the status of the evaluation jobs being * deleted.

See Also:

AWS * API Reference

@@ -40,7 +40,7 @@ namespace Model ///@{ /** - *

The ARN of the model evaluation job being deleted.

+ *

The ARN of the evaluation job being deleted.

*/ inline const Aws::String& GetJobIdentifier() const{ return m_jobIdentifier; } inline bool JobIdentifierHasBeenSet() const { return m_jobIdentifierHasBeenSet; } @@ -54,7 +54,7 @@ namespace Model ///@{ /** - *

A HTTP status code of the model evaluation job being deleted.

+ *

A HTTP status code of the evaluation job being deleted.

*/ inline const Aws::String& GetCode() const{ return m_code; } inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } @@ -68,7 +68,7 @@ namespace Model ///@{ /** - *

A status message about the model evaluation job deletion.

+ *

A status message about the evaluation job deletion.

*/ inline const Aws::String& GetMessage() const{ return m_message; } inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobItem.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobItem.h index 62127ae3b28..c09ea7c86fc 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobItem.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobItem.h @@ -25,8 +25,8 @@ namespace Model { /** - *

An array of model evaluation jobs to be deleted, and their associated - * statuses.

See Also:

An evaluation job for deletion, and it’s current status.

See + * Also:

AWS * API Reference

*/ @@ -41,7 +41,7 @@ namespace Model ///@{ /** - *

The ARN of model evaluation job to be deleted.

+ *

The Amazon Resource Name (ARN) of the evaluation job for deletion.

*/ inline const Aws::String& GetJobIdentifier() const{ return m_jobIdentifier; } inline bool JobIdentifierHasBeenSet() const { return m_jobIdentifierHasBeenSet; } @@ -55,7 +55,7 @@ namespace Model ///@{ /** - *

The status of the job's deletion.

+ *

The status of the evaluation job for deletion.

*/ inline const EvaluationJobStatus& GetJobStatus() const{ return m_jobStatus; } inline bool JobStatusHasBeenSet() const { return m_jobStatusHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobRequest.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobRequest.h index dff5d5e20ff..fa82a2b7c35 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobRequest.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobRequest.h @@ -35,7 +35,8 @@ namespace Model ///@{ /** - *

An array of model evaluation job ARNs to be deleted.

+ *

A list of one or more evaluation job Amazon Resource Names (ARNs) you want to + * delete.

*/ inline const Aws::Vector& GetJobIdentifiers() const{ return m_jobIdentifiers; } inline bool JobIdentifiersHasBeenSet() const { return m_jobIdentifiersHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobResult.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobResult.h index d870df53803..cd47aebe36e 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobResult.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BatchDeleteEvaluationJobResult.h @@ -37,8 +37,8 @@ namespace Model ///@{ /** - *

A JSON object containing the HTTP status codes and the ARNs of model - * evaluation jobs that failed to be deleted.

+ *

A JSON object containing the HTTP status codes and the ARNs of evaluation + * jobs that failed to be deleted.

*/ inline const Aws::Vector& GetErrors() const{ return m_errors; } inline void SetErrors(const Aws::Vector& value) { m_errors = value; } @@ -51,7 +51,7 @@ namespace Model ///@{ /** - *

The list of model evaluation jobs to be deleted.

+ *

The list of evaluation jobs for deletion.

*/ inline const Aws::Vector& GetEvaluationJobs() const{ return m_evaluationJobs; } inline void SetEvaluationJobs(const Aws::Vector& value) { m_evaluationJobs = value; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BedrockEvaluatorModel.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BedrockEvaluatorModel.h new file mode 100644 index 00000000000..b20fe6b02be --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/BedrockEvaluatorModel.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The evaluator model used in knowledge base evaluation job or in model + * evaluation job that use a model as judge. This model computes all evaluation + * related metrics.

See Also:

AWS + * API Reference

+ */ + class BedrockEvaluatorModel + { + public: + AWS_BEDROCK_API BedrockEvaluatorModel(); + AWS_BEDROCK_API BedrockEvaluatorModel(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API BedrockEvaluatorModel& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The Amazon Resource Name (ARN) of the evaluator model used used in knowledge + * base evaluation job or in model evaluation job that use a model as judge.

+ */ + inline const Aws::String& GetModelIdentifier() const{ return m_modelIdentifier; } + inline bool ModelIdentifierHasBeenSet() const { return m_modelIdentifierHasBeenSet; } + inline void SetModelIdentifier(const Aws::String& value) { m_modelIdentifierHasBeenSet = true; m_modelIdentifier = value; } + inline void SetModelIdentifier(Aws::String&& value) { m_modelIdentifierHasBeenSet = true; m_modelIdentifier = std::move(value); } + inline void SetModelIdentifier(const char* value) { m_modelIdentifierHasBeenSet = true; m_modelIdentifier.assign(value); } + inline BedrockEvaluatorModel& WithModelIdentifier(const Aws::String& value) { SetModelIdentifier(value); return *this;} + inline BedrockEvaluatorModel& WithModelIdentifier(Aws::String&& value) { SetModelIdentifier(std::move(value)); return *this;} + inline BedrockEvaluatorModel& WithModelIdentifier(const char* value) { SetModelIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_modelIdentifier; + bool m_modelIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ByteContentDoc.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ByteContentDoc.h new file mode 100644 index 00000000000..819718c688c --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ByteContentDoc.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

Contains the document contained in the wrapper object, along with its + * attributes/fields.

See Also:

AWS + * API Reference

+ */ + class ByteContentDoc + { + public: + AWS_BEDROCK_API ByteContentDoc(); + AWS_BEDROCK_API ByteContentDoc(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API ByteContentDoc& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The file name of the document contained in the wrapper object.

+ */ + inline const Aws::String& GetIdentifier() const{ return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + inline void SetIdentifier(const Aws::String& value) { m_identifierHasBeenSet = true; m_identifier = value; } + inline void SetIdentifier(Aws::String&& value) { m_identifierHasBeenSet = true; m_identifier = std::move(value); } + inline void SetIdentifier(const char* value) { m_identifierHasBeenSet = true; m_identifier.assign(value); } + inline ByteContentDoc& WithIdentifier(const Aws::String& value) { SetIdentifier(value); return *this;} + inline ByteContentDoc& WithIdentifier(Aws::String&& value) { SetIdentifier(std::move(value)); return *this;} + inline ByteContentDoc& WithIdentifier(const char* value) { SetIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

The MIME type of the document contained in the wrapper object.

+ */ + inline const Aws::String& GetContentType() const{ return m_contentType; } + inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; } + inline void SetContentType(const Aws::String& value) { m_contentTypeHasBeenSet = true; m_contentType = value; } + inline void SetContentType(Aws::String&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); } + inline void SetContentType(const char* value) { m_contentTypeHasBeenSet = true; m_contentType.assign(value); } + inline ByteContentDoc& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} + inline ByteContentDoc& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} + inline ByteContentDoc& WithContentType(const char* value) { SetContentType(value); return *this;} + ///@} + + ///@{ + /** + *

The byte value of the file to upload, encoded as a Base-64 string.

+ */ + inline const Aws::Utils::CryptoBuffer& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::Utils::CryptoBuffer& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::Utils::CryptoBuffer&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline ByteContentDoc& WithData(const Aws::Utils::CryptoBuffer& value) { SetData(value); return *this;} + inline ByteContentDoc& WithData(Aws::Utils::CryptoBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + + Aws::String m_contentType; + bool m_contentTypeHasBeenSet = false; + + Aws::Utils::CryptoBuffer m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateEvaluationJobRequest.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateEvaluationJobRequest.h index a3f259bed3a..a41ff7aa8f8 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateEvaluationJobRequest.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateEvaluationJobRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -40,8 +41,8 @@ namespace Model ///@{ /** - *

The name of the model evaluation job. Model evaluation job names must unique - * with your AWS account, and your account's AWS region.

+ *

A name for the evaluation job. Names must unique with your Amazon Web + * Services account, and your account's Amazon Web Services region.

*/ inline const Aws::String& GetJobName() const{ return m_jobName; } inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; } @@ -55,7 +56,7 @@ namespace Model ///@{ /** - *

A description of the model evaluation job.

+ *

A description of the evaluation job.

*/ inline const Aws::String& GetJobDescription() const{ return m_jobDescription; } inline bool JobDescriptionHasBeenSet() const { return m_jobDescriptionHasBeenSet; } @@ -88,13 +89,10 @@ namespace Model ///@{ /** *

The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock can - * assume to perform tasks on your behalf. The service role must have Amazon - * Bedrock as the service principal, and provide access to any Amazon S3 buckets - * specified in the EvaluationConfig object. To pass this role to - * Amazon Bedrock, the caller of this API must have the iam:PassRole - * permission. To learn more about the required permissions, see Required - * permissions.

+ * permissions for model evaluations.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } @@ -108,8 +106,8 @@ namespace Model ///@{ /** - *

Specify your customer managed key ARN that will be used to encrypt your model - * evaluation job.

+ *

Specify your customer managed encryption key Amazon Resource Name (ARN) that + * will be used to encrypt your evaluation job.

*/ inline const Aws::String& GetCustomerEncryptionKeyId() const{ return m_customerEncryptionKeyId; } inline bool CustomerEncryptionKeyIdHasBeenSet() const { return m_customerEncryptionKeyIdHasBeenSet; } @@ -137,8 +135,21 @@ namespace Model ///@{ /** - *

Specifies whether the model evaluation job is automatic or uses human - * worker.

+ *

Specifies whether the evaluation job is for evaluating a model or evaluating + * a knowledge base (retrieval and response generation).

+ */ + inline const ApplicationType& GetApplicationType() const{ return m_applicationType; } + inline bool ApplicationTypeHasBeenSet() const { return m_applicationTypeHasBeenSet; } + inline void SetApplicationType(const ApplicationType& value) { m_applicationTypeHasBeenSet = true; m_applicationType = value; } + inline void SetApplicationType(ApplicationType&& value) { m_applicationTypeHasBeenSet = true; m_applicationType = std::move(value); } + inline CreateEvaluationJobRequest& WithApplicationType(const ApplicationType& value) { SetApplicationType(value); return *this;} + inline CreateEvaluationJobRequest& WithApplicationType(ApplicationType&& value) { SetApplicationType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains the configuration details of either an automated or human-based + * evaluation job.

*/ inline const EvaluationConfig& GetEvaluationConfig() const{ return m_evaluationConfig; } inline bool EvaluationConfigHasBeenSet() const { return m_evaluationConfigHasBeenSet; } @@ -150,11 +161,12 @@ namespace Model ///@{ /** - *

Specify the models you want to use in your model evaluation job. Automatic - * model evaluation jobs support a single model or Contains the configuration details of the inference model for the evaluation + * job.

For model evaluation jobs, automated jobs support a single model or + * inference - * profile, and model evaluation job that use human workers support two models - * or inference profiles.

+ * profile, and jobs that use human workers support two models or inference + * profiles.

*/ inline const EvaluationInferenceConfig& GetInferenceConfig() const{ return m_inferenceConfig; } inline bool InferenceConfigHasBeenSet() const { return m_inferenceConfigHasBeenSet; } @@ -166,8 +178,8 @@ namespace Model ///@{ /** - *

An object that defines where the results of model evaluation job will be - * saved in Amazon S3.

+ *

Contains the configuration details of the Amazon S3 bucket for storing the + * results of the evaluation job.

*/ inline const EvaluationOutputDataConfig& GetOutputDataConfig() const{ return m_outputDataConfig; } inline bool OutputDataConfigHasBeenSet() const { return m_outputDataConfigHasBeenSet; } @@ -196,6 +208,9 @@ namespace Model Aws::Vector m_jobTags; bool m_jobTagsHasBeenSet = false; + ApplicationType m_applicationType; + bool m_applicationTypeHasBeenSet = false; + EvaluationConfig m_evaluationConfig; bool m_evaluationConfigHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateEvaluationJobResult.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateEvaluationJobResult.h index f854184e82f..12ad2912360 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateEvaluationJobResult.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateEvaluationJobResult.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

The ARN of the model evaluation job.

+ *

The Amazon Resource Name (ARN) of the evaluation job.

*/ inline const Aws::String& GetJobArn() const{ return m_jobArn; } inline void SetJobArn(const Aws::String& value) { m_jobArn = value; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationBedrockModel.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationBedrockModel.h index 7da65ab9d5a..4f2aae7e328 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationBedrockModel.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationBedrockModel.h @@ -26,9 +26,9 @@ namespace Model /** *

Contains the ARN of the Amazon Bedrock model or inference - * profile specified in your model evaluation job. Each Amazon Bedrock model - * supports different inferenceParams. To learn more about supported - * inference parameters for Amazon Bedrock models, see specified in your evaluation job. Each Amazon Bedrock model supports + * different inferenceParams. To learn more about supported inference + * parameters for Amazon Bedrock models, see Inference * parameters for foundation models.

The inferenceParams * are specified using JSON. To successfully insert JSON as string make sure that diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationConfig.h index d3f8d957aaa..ba60a112503 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationConfig.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationConfig.h @@ -25,8 +25,8 @@ namespace Model { /** - *

Used to specify either a AutomatedEvaluationConfig or - * HumanEvaluationConfig object.

See Also:

The configuration details of either an automated or human-based evaluation + * job.

See Also:

AWS * API Reference

*/ @@ -41,8 +41,8 @@ namespace Model ///@{ /** - *

Used to specify an automated model evaluation job. See - * AutomatedEvaluationConfig to view the required parameters.

+ *

Contains the configuration details of an automated evaluation job that + * computes metrics.

*/ inline const AutomatedEvaluationConfig& GetAutomated() const{ return m_automated; } inline bool AutomatedHasBeenSet() const { return m_automatedHasBeenSet; } @@ -54,8 +54,8 @@ namespace Model ///@{ /** - *

Used to specify a model evaluation job that uses human workers.See - * HumanEvaluationConfig to view the required parameters.

+ *

Contains the configuration details of an evaluation job that uses human + * workers.

*/ inline const HumanEvaluationConfig& GetHuman() const{ return m_human; } inline bool HumanHasBeenSet() const { return m_humanHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationDatasetMetricConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationDatasetMetricConfig.h index 786cc675105..b00b9bdc460 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationDatasetMetricConfig.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationDatasetMetricConfig.h @@ -27,8 +27,8 @@ namespace Model { /** - *

Defines the built-in prompt datasets, built-in metric names and custom metric - * names, and the task type.

See Also:

Defines the prompt datasets, built-in metric names and custom metric names, + * and the task type.

See Also:

AWS * API Reference

*/ @@ -43,7 +43,9 @@ namespace Model ///@{ /** - *

The task type you want the model to carry out.

+ *

The the type of task you want to evaluate for your evaluation job. This + * applies only to model evaluation jobs and is ignored for knowledge base + * evaluation jobs.

*/ inline const EvaluationTaskType& GetTaskType() const{ return m_taskType; } inline bool TaskTypeHasBeenSet() const { return m_taskTypeHasBeenSet; } @@ -67,11 +69,29 @@ namespace Model ///@{ /** - *

The names of the metrics used. For automated model evaluation jobs valid - * values are "Builtin.Accuracy", "Builtin.Robustness", - * and "Builtin.Toxicity". In human-based model evaluation jobs the - * array of strings must match the name parameter specified in - * HumanEvaluationCustomMetric.

+ *

The names of the metrics you want to use for your evaluation job.

For + * knowledge base evaluation jobs that evaluate retrieval only, valid values are + * "Builtin.ContextRelevance", + * "Builtin.ContextConverage".

For knowledge base evaluation + * jobs that evaluate retrieval with response generation, valid values are + * "Builtin.Correctness", "Builtin.Completeness", + * "Builtin.Helpfulness", "Builtin.LogicalCoherence", + * "Builtin.Faithfulness", "Builtin.Harmfulness", + * "Builtin.Stereotyping", "Builtin.Refusal".

For + * automated model evaluation jobs, valid values are + * "Builtin.Accuracy", "Builtin.Robustness", and + * "Builtin.Toxicity". In model evaluation jobs that use a LLM as + * judge you can specify "Builtin.Correctness", + * "Builtin.Completeness", "Builtin.Faithfulness", + * "Builtin.Helpfulness", "Builtin.Coherence", + * "Builtin.Relevance", "Builtin.FollowingInstructions", + * "Builtin.ProfessionalStyleAndTone", You can also specify the + * following responsible AI related metrics only for model evaluation job that use + * a LLM as judge "Builtin.Harmfulness", + * "Builtin.Stereotyping", and "Builtin.Refusal".

+ *

For human-based model evaluation jobs, the list of strings must match the + * name parameter specified in + * HumanEvaluationCustomMetric.

*/ inline const Aws::Vector& GetMetricNames() const{ return m_metricNames; } inline bool MetricNamesHasBeenSet() const { return m_metricNamesHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationInferenceConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationInferenceConfig.h index 53166a76c8c..8f91b228591 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationInferenceConfig.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationInferenceConfig.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -25,10 +26,10 @@ namespace Model { /** - *

Used to define the models you want used in your model evaluation job. - * Automated model evaluation jobs support only a single model. In a human-based - * model evaluation job, your annotator can compare the responses for up to two - * different models.

See Also:

The configuration details of the inference model for an evaluation job.

+ *

For automated model evaluation jobs, only a single model is supported.

+ *

For human-based model evaluation jobs, your annotator can compare the + * responses for up to two different models.

See Also:

AWS * API Reference

*/ @@ -43,7 +44,7 @@ namespace Model ///@{ /** - *

Used to specify the models.

+ *

Specifies the inference models.

*/ inline const Aws::Vector& GetModels() const{ return m_models; } inline bool ModelsHasBeenSet() const { return m_modelsHasBeenSet; } @@ -54,10 +55,29 @@ namespace Model inline EvaluationInferenceConfig& AddModels(const EvaluationModelConfig& value) { m_modelsHasBeenSet = true; m_models.push_back(value); return *this; } inline EvaluationInferenceConfig& AddModels(EvaluationModelConfig&& value) { m_modelsHasBeenSet = true; m_models.push_back(std::move(value)); return *this; } ///@} + + ///@{ + /** + *

Contains the configuration details of the inference for a knowledge base + * evaluation job, including either the retrieval only configuration or the + * retrieval with response generation configuration.

+ */ + inline const Aws::Vector& GetRagConfigs() const{ return m_ragConfigs; } + inline bool RagConfigsHasBeenSet() const { return m_ragConfigsHasBeenSet; } + inline void SetRagConfigs(const Aws::Vector& value) { m_ragConfigsHasBeenSet = true; m_ragConfigs = value; } + inline void SetRagConfigs(Aws::Vector&& value) { m_ragConfigsHasBeenSet = true; m_ragConfigs = std::move(value); } + inline EvaluationInferenceConfig& WithRagConfigs(const Aws::Vector& value) { SetRagConfigs(value); return *this;} + inline EvaluationInferenceConfig& WithRagConfigs(Aws::Vector&& value) { SetRagConfigs(std::move(value)); return *this;} + inline EvaluationInferenceConfig& AddRagConfigs(const RAGConfig& value) { m_ragConfigsHasBeenSet = true; m_ragConfigs.push_back(value); return *this; } + inline EvaluationInferenceConfig& AddRagConfigs(RAGConfig&& value) { m_ragConfigsHasBeenSet = true; m_ragConfigs.push_back(std::move(value)); return *this; } + ///@} private: Aws::Vector m_models; bool m_modelsHasBeenSet = false; + + Aws::Vector m_ragConfigs; + bool m_ragConfigsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationOutputDataConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationOutputDataConfig.h index 1946e46db62..a82f5129d11 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationOutputDataConfig.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationOutputDataConfig.h @@ -24,7 +24,7 @@ namespace Model { /** - *

The Amazon S3 location where the results of your model evaluation job are + *

The Amazon S3 location where the results of your evaluation job are * saved.

See Also:

AWS * API Reference

@@ -40,7 +40,7 @@ namespace Model ///@{ /** - *

The Amazon S3 URI where the results of model evaluation job are saved.

+ *

The Amazon S3 URI where the results of the evaluation job are saved.

*/ inline const Aws::String& GetS3Uri() const{ return m_s3Uri; } inline bool S3UriHasBeenSet() const { return m_s3UriHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationSummary.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationSummary.h index 15548988a45..2e30f17ff81 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationSummary.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluationSummary.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -29,7 +30,7 @@ namespace Model { /** - *

A summary of the model evaluation job.

See Also:

Summary information of an evaluation job.

See Also:

AWS * API Reference

*/ @@ -44,7 +45,7 @@ namespace Model ///@{ /** - *

The Amazon Resource Name (ARN) of the model evaluation job.

+ *

The Amazon Resource Name (ARN) of the evaluation job.

*/ inline const Aws::String& GetJobArn() const{ return m_jobArn; } inline bool JobArnHasBeenSet() const { return m_jobArnHasBeenSet; } @@ -58,7 +59,7 @@ namespace Model ///@{ /** - *

The name of the model evaluation job.

+ *

The name for the evaluation job.

*/ inline const Aws::String& GetJobName() const{ return m_jobName; } inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; } @@ -72,7 +73,7 @@ namespace Model ///@{ /** - *

The current status of the model evaluation job.

+ *

The current status of the evaluation job.

*/ inline const EvaluationJobStatus& GetStatus() const{ return m_status; } inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } @@ -84,7 +85,7 @@ namespace Model ///@{ /** - *

When the model evaluation job was created.

+ *

The time the evaluation job was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } @@ -96,7 +97,7 @@ namespace Model ///@{ /** - *

The type, either human or automatic, of model evaluation job.

+ *

Specifies whether the evaluation job is automated or human-based.

*/ inline const EvaluationJobType& GetJobType() const{ return m_jobType; } inline bool JobTypeHasBeenSet() const { return m_jobTypeHasBeenSet; } @@ -108,7 +109,7 @@ namespace Model ///@{ /** - *

What task type was used in the model evaluation job.

+ *

The type of task for model evaluation.

*/ inline const Aws::Vector& GetEvaluationTaskTypes() const{ return m_evaluationTaskTypes; } inline bool EvaluationTaskTypesHasBeenSet() const { return m_evaluationTaskTypesHasBeenSet; } @@ -122,7 +123,7 @@ namespace Model ///@{ /** - *

The Amazon Resource Names (ARNs) of the model(s) used in the model evaluation + *

The Amazon Resource Names (ARNs) of the model(s) used for the evaluation * job.

*/ inline const Aws::Vector& GetModelIdentifiers() const{ return m_modelIdentifiers; } @@ -135,6 +136,51 @@ namespace Model inline EvaluationSummary& AddModelIdentifiers(Aws::String&& value) { m_modelIdentifiersHasBeenSet = true; m_modelIdentifiers.push_back(std::move(value)); return *this; } inline EvaluationSummary& AddModelIdentifiers(const char* value) { m_modelIdentifiersHasBeenSet = true; m_modelIdentifiers.push_back(value); return *this; } ///@} + + ///@{ + /** + *

The Amazon Resource Names (ARNs) of the knowledge base resources used for a + * knowledge base evaluation job.

+ */ + inline const Aws::Vector& GetRagIdentifiers() const{ return m_ragIdentifiers; } + inline bool RagIdentifiersHasBeenSet() const { return m_ragIdentifiersHasBeenSet; } + inline void SetRagIdentifiers(const Aws::Vector& value) { m_ragIdentifiersHasBeenSet = true; m_ragIdentifiers = value; } + inline void SetRagIdentifiers(Aws::Vector&& value) { m_ragIdentifiersHasBeenSet = true; m_ragIdentifiers = std::move(value); } + inline EvaluationSummary& WithRagIdentifiers(const Aws::Vector& value) { SetRagIdentifiers(value); return *this;} + inline EvaluationSummary& WithRagIdentifiers(Aws::Vector&& value) { SetRagIdentifiers(std::move(value)); return *this;} + inline EvaluationSummary& AddRagIdentifiers(const Aws::String& value) { m_ragIdentifiersHasBeenSet = true; m_ragIdentifiers.push_back(value); return *this; } + inline EvaluationSummary& AddRagIdentifiers(Aws::String&& value) { m_ragIdentifiersHasBeenSet = true; m_ragIdentifiers.push_back(std::move(value)); return *this; } + inline EvaluationSummary& AddRagIdentifiers(const char* value) { m_ragIdentifiersHasBeenSet = true; m_ragIdentifiers.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

The Amazon Resource Names (ARNs) of the models used to compute the metrics + * for a knowledge base evaluation job.

+ */ + inline const Aws::Vector& GetEvaluatorModelIdentifiers() const{ return m_evaluatorModelIdentifiers; } + inline bool EvaluatorModelIdentifiersHasBeenSet() const { return m_evaluatorModelIdentifiersHasBeenSet; } + inline void SetEvaluatorModelIdentifiers(const Aws::Vector& value) { m_evaluatorModelIdentifiersHasBeenSet = true; m_evaluatorModelIdentifiers = value; } + inline void SetEvaluatorModelIdentifiers(Aws::Vector&& value) { m_evaluatorModelIdentifiersHasBeenSet = true; m_evaluatorModelIdentifiers = std::move(value); } + inline EvaluationSummary& WithEvaluatorModelIdentifiers(const Aws::Vector& value) { SetEvaluatorModelIdentifiers(value); return *this;} + inline EvaluationSummary& WithEvaluatorModelIdentifiers(Aws::Vector&& value) { SetEvaluatorModelIdentifiers(std::move(value)); return *this;} + inline EvaluationSummary& AddEvaluatorModelIdentifiers(const Aws::String& value) { m_evaluatorModelIdentifiersHasBeenSet = true; m_evaluatorModelIdentifiers.push_back(value); return *this; } + inline EvaluationSummary& AddEvaluatorModelIdentifiers(Aws::String&& value) { m_evaluatorModelIdentifiersHasBeenSet = true; m_evaluatorModelIdentifiers.push_back(std::move(value)); return *this; } + inline EvaluationSummary& AddEvaluatorModelIdentifiers(const char* value) { m_evaluatorModelIdentifiersHasBeenSet = true; m_evaluatorModelIdentifiers.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

Specifies whether the evaluation job is for evaluating a model or evaluating + * a knowledge base (retrieval and response generation).

+ */ + inline const ApplicationType& GetApplicationType() const{ return m_applicationType; } + inline bool ApplicationTypeHasBeenSet() const { return m_applicationTypeHasBeenSet; } + inline void SetApplicationType(const ApplicationType& value) { m_applicationTypeHasBeenSet = true; m_applicationType = value; } + inline void SetApplicationType(ApplicationType&& value) { m_applicationTypeHasBeenSet = true; m_applicationType = std::move(value); } + inline EvaluationSummary& WithApplicationType(const ApplicationType& value) { SetApplicationType(value); return *this;} + inline EvaluationSummary& WithApplicationType(ApplicationType&& value) { SetApplicationType(std::move(value)); return *this;} + ///@} private: Aws::String m_jobArn; @@ -157,6 +203,15 @@ namespace Model Aws::Vector m_modelIdentifiers; bool m_modelIdentifiersHasBeenSet = false; + + Aws::Vector m_ragIdentifiers; + bool m_ragIdentifiersHasBeenSet = false; + + Aws::Vector m_evaluatorModelIdentifiers; + bool m_evaluatorModelIdentifiersHasBeenSet = false; + + ApplicationType m_applicationType; + bool m_applicationTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluatorModelConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluatorModelConfig.h new file mode 100644 index 00000000000..32e61c07e12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/EvaluatorModelConfig.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

Specifies the model configuration for the evaluator model. + * EvaluatorModelConfig is required for evaluation jobs that use a + * knowledge base or in model evaluation job that use a model as judge. This model + * computes all evaluation related metrics.

See Also:

AWS + * API Reference

+ */ + class EvaluatorModelConfig + { + public: + AWS_BEDROCK_API EvaluatorModelConfig(); + AWS_BEDROCK_API EvaluatorModelConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API EvaluatorModelConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The evaluator model used in knowledge base evaluation job or in model + * evaluation job that use a model as judge. This model computes all evaluation + * related metrics.

+ */ + inline const Aws::Vector& GetBedrockEvaluatorModels() const{ return m_bedrockEvaluatorModels; } + inline bool BedrockEvaluatorModelsHasBeenSet() const { return m_bedrockEvaluatorModelsHasBeenSet; } + inline void SetBedrockEvaluatorModels(const Aws::Vector& value) { m_bedrockEvaluatorModelsHasBeenSet = true; m_bedrockEvaluatorModels = value; } + inline void SetBedrockEvaluatorModels(Aws::Vector&& value) { m_bedrockEvaluatorModelsHasBeenSet = true; m_bedrockEvaluatorModels = std::move(value); } + inline EvaluatorModelConfig& WithBedrockEvaluatorModels(const Aws::Vector& value) { SetBedrockEvaluatorModels(value); return *this;} + inline EvaluatorModelConfig& WithBedrockEvaluatorModels(Aws::Vector&& value) { SetBedrockEvaluatorModels(std::move(value)); return *this;} + inline EvaluatorModelConfig& AddBedrockEvaluatorModels(const BedrockEvaluatorModel& value) { m_bedrockEvaluatorModelsHasBeenSet = true; m_bedrockEvaluatorModels.push_back(value); return *this; } + inline EvaluatorModelConfig& AddBedrockEvaluatorModels(BedrockEvaluatorModel&& value) { m_bedrockEvaluatorModelsHasBeenSet = true; m_bedrockEvaluatorModels.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_bedrockEvaluatorModels; + bool m_bedrockEvaluatorModelsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSource.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSource.h new file mode 100644 index 00000000000..a028f9b02a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSource.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The unique external source of the content contained in the wrapper + * object.

See Also:

AWS + * API Reference

+ */ + class ExternalSource + { + public: + AWS_BEDROCK_API ExternalSource(); + AWS_BEDROCK_API ExternalSource(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API ExternalSource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The source type of the external source wrapper object.

+ */ + inline const ExternalSourceType& GetSourceType() const{ return m_sourceType; } + inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } + inline void SetSourceType(const ExternalSourceType& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } + inline void SetSourceType(ExternalSourceType&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } + inline ExternalSource& WithSourceType(const ExternalSourceType& value) { SetSourceType(value); return *this;} + inline ExternalSource& WithSourceType(ExternalSourceType&& value) { SetSourceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The S3 location of the external source wrapper object.

+ */ + inline const S3ObjectDoc& GetS3Location() const{ return m_s3Location; } + inline bool S3LocationHasBeenSet() const { return m_s3LocationHasBeenSet; } + inline void SetS3Location(const S3ObjectDoc& value) { m_s3LocationHasBeenSet = true; m_s3Location = value; } + inline void SetS3Location(S3ObjectDoc&& value) { m_s3LocationHasBeenSet = true; m_s3Location = std::move(value); } + inline ExternalSource& WithS3Location(const S3ObjectDoc& value) { SetS3Location(value); return *this;} + inline ExternalSource& WithS3Location(S3ObjectDoc&& value) { SetS3Location(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The identifier, content type, and data of the external source wrapper + * object.

+ */ + inline const ByteContentDoc& GetByteContent() const{ return m_byteContent; } + inline bool ByteContentHasBeenSet() const { return m_byteContentHasBeenSet; } + inline void SetByteContent(const ByteContentDoc& value) { m_byteContentHasBeenSet = true; m_byteContent = value; } + inline void SetByteContent(ByteContentDoc&& value) { m_byteContentHasBeenSet = true; m_byteContent = std::move(value); } + inline ExternalSource& WithByteContent(const ByteContentDoc& value) { SetByteContent(value); return *this;} + inline ExternalSource& WithByteContent(ByteContentDoc&& value) { SetByteContent(std::move(value)); return *this;} + ///@} + private: + + ExternalSourceType m_sourceType; + bool m_sourceTypeHasBeenSet = false; + + S3ObjectDoc m_s3Location; + bool m_s3LocationHasBeenSet = false; + + ByteContentDoc m_byteContent; + bool m_byteContentHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourceType.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourceType.h new file mode 100644 index 00000000000..8242c1236b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourceType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + enum class ExternalSourceType + { + NOT_SET, + S3, + BYTE_CONTENT + }; + +namespace ExternalSourceTypeMapper +{ +AWS_BEDROCK_API ExternalSourceType GetExternalSourceTypeForName(const Aws::String& name); + +AWS_BEDROCK_API Aws::String GetNameForExternalSourceType(ExternalSourceType value); +} // namespace ExternalSourceTypeMapper +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourcesGenerationConfiguration.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourcesGenerationConfiguration.h new file mode 100644 index 00000000000..c79e2ebbb85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourcesGenerationConfiguration.h @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The response generation configuration of the external source wrapper + * object.

See Also:

AWS + * API Reference

+ */ + class ExternalSourcesGenerationConfiguration + { + public: + AWS_BEDROCK_API ExternalSourcesGenerationConfiguration(); + AWS_BEDROCK_API ExternalSourcesGenerationConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API ExternalSourcesGenerationConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains the template for the prompt for the external source wrapper + * object.

+ */ + inline const PromptTemplate& GetPromptTemplate() const{ return m_promptTemplate; } + inline bool PromptTemplateHasBeenSet() const { return m_promptTemplateHasBeenSet; } + inline void SetPromptTemplate(const PromptTemplate& value) { m_promptTemplateHasBeenSet = true; m_promptTemplate = value; } + inline void SetPromptTemplate(PromptTemplate&& value) { m_promptTemplateHasBeenSet = true; m_promptTemplate = std::move(value); } + inline ExternalSourcesGenerationConfiguration& WithPromptTemplate(const PromptTemplate& value) { SetPromptTemplate(value); return *this;} + inline ExternalSourcesGenerationConfiguration& WithPromptTemplate(PromptTemplate&& value) { SetPromptTemplate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Configuration details for the guardrail.

+ */ + inline const GuardrailConfiguration& GetGuardrailConfiguration() const{ return m_guardrailConfiguration; } + inline bool GuardrailConfigurationHasBeenSet() const { return m_guardrailConfigurationHasBeenSet; } + inline void SetGuardrailConfiguration(const GuardrailConfiguration& value) { m_guardrailConfigurationHasBeenSet = true; m_guardrailConfiguration = value; } + inline void SetGuardrailConfiguration(GuardrailConfiguration&& value) { m_guardrailConfigurationHasBeenSet = true; m_guardrailConfiguration = std::move(value); } + inline ExternalSourcesGenerationConfiguration& WithGuardrailConfiguration(const GuardrailConfiguration& value) { SetGuardrailConfiguration(value); return *this;} + inline ExternalSourcesGenerationConfiguration& WithGuardrailConfiguration(GuardrailConfiguration&& value) { SetGuardrailConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Configuration details for inference when using + * RetrieveAndGenerate to generate responses while using an external + * source.

+ */ + inline const KbInferenceConfig& GetKbInferenceConfig() const{ return m_kbInferenceConfig; } + inline bool KbInferenceConfigHasBeenSet() const { return m_kbInferenceConfigHasBeenSet; } + inline void SetKbInferenceConfig(const KbInferenceConfig& value) { m_kbInferenceConfigHasBeenSet = true; m_kbInferenceConfig = value; } + inline void SetKbInferenceConfig(KbInferenceConfig&& value) { m_kbInferenceConfigHasBeenSet = true; m_kbInferenceConfig = std::move(value); } + inline ExternalSourcesGenerationConfiguration& WithKbInferenceConfig(const KbInferenceConfig& value) { SetKbInferenceConfig(value); return *this;} + inline ExternalSourcesGenerationConfiguration& WithKbInferenceConfig(KbInferenceConfig&& value) { SetKbInferenceConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Additional model parameters and their corresponding values not included in + * the text inference configuration for an external source. Takes in custom model + * parameters specific to the language model being used.

+ */ + inline const Aws::Map& GetAdditionalModelRequestFields() const{ return m_additionalModelRequestFields; } + inline bool AdditionalModelRequestFieldsHasBeenSet() const { return m_additionalModelRequestFieldsHasBeenSet; } + inline void SetAdditionalModelRequestFields(const Aws::Map& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields = value; } + inline void SetAdditionalModelRequestFields(Aws::Map&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields = std::move(value); } + inline ExternalSourcesGenerationConfiguration& WithAdditionalModelRequestFields(const Aws::Map& value) { SetAdditionalModelRequestFields(value); return *this;} + inline ExternalSourcesGenerationConfiguration& WithAdditionalModelRequestFields(Aws::Map&& value) { SetAdditionalModelRequestFields(std::move(value)); return *this;} + inline ExternalSourcesGenerationConfiguration& AddAdditionalModelRequestFields(const Aws::String& key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, value); return *this; } + inline ExternalSourcesGenerationConfiguration& AddAdditionalModelRequestFields(Aws::String&& key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(std::move(key), value); return *this; } + inline ExternalSourcesGenerationConfiguration& AddAdditionalModelRequestFields(const Aws::String& key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, std::move(value)); return *this; } + inline ExternalSourcesGenerationConfiguration& AddAdditionalModelRequestFields(Aws::String&& key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(std::move(key), std::move(value)); return *this; } + inline ExternalSourcesGenerationConfiguration& AddAdditionalModelRequestFields(const char* key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, std::move(value)); return *this; } + inline ExternalSourcesGenerationConfiguration& AddAdditionalModelRequestFields(const char* key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, value); return *this; } + ///@} + private: + + PromptTemplate m_promptTemplate; + bool m_promptTemplateHasBeenSet = false; + + GuardrailConfiguration m_guardrailConfiguration; + bool m_guardrailConfigurationHasBeenSet = false; + + KbInferenceConfig m_kbInferenceConfig; + bool m_kbInferenceConfigHasBeenSet = false; + + Aws::Map m_additionalModelRequestFields; + bool m_additionalModelRequestFieldsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourcesRetrieveAndGenerateConfiguration.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourcesRetrieveAndGenerateConfiguration.h new file mode 100644 index 00000000000..c01acfa99ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ExternalSourcesRetrieveAndGenerateConfiguration.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The configuration of the external source wrapper object in the + * retrieveAndGenerate function.

See Also:

AWS + * API Reference

+ */ + class ExternalSourcesRetrieveAndGenerateConfiguration + { + public: + AWS_BEDROCK_API ExternalSourcesRetrieveAndGenerateConfiguration(); + AWS_BEDROCK_API ExternalSourcesRetrieveAndGenerateConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API ExternalSourcesRetrieveAndGenerateConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The Amazon Resource Name (ARN) of the foundation model or inference + * profile used to generate responses.

+ */ + inline const Aws::String& GetModelArn() const{ return m_modelArn; } + inline bool ModelArnHasBeenSet() const { return m_modelArnHasBeenSet; } + inline void SetModelArn(const Aws::String& value) { m_modelArnHasBeenSet = true; m_modelArn = value; } + inline void SetModelArn(Aws::String&& value) { m_modelArnHasBeenSet = true; m_modelArn = std::move(value); } + inline void SetModelArn(const char* value) { m_modelArnHasBeenSet = true; m_modelArn.assign(value); } + inline ExternalSourcesRetrieveAndGenerateConfiguration& WithModelArn(const Aws::String& value) { SetModelArn(value); return *this;} + inline ExternalSourcesRetrieveAndGenerateConfiguration& WithModelArn(Aws::String&& value) { SetModelArn(std::move(value)); return *this;} + inline ExternalSourcesRetrieveAndGenerateConfiguration& WithModelArn(const char* value) { SetModelArn(value); return *this;} + ///@} + + ///@{ + /** + *

The document for the external source wrapper object in the + * retrieveAndGenerate function.

+ */ + inline const Aws::Vector& GetSources() const{ return m_sources; } + inline bool SourcesHasBeenSet() const { return m_sourcesHasBeenSet; } + inline void SetSources(const Aws::Vector& value) { m_sourcesHasBeenSet = true; m_sources = value; } + inline void SetSources(Aws::Vector&& value) { m_sourcesHasBeenSet = true; m_sources = std::move(value); } + inline ExternalSourcesRetrieveAndGenerateConfiguration& WithSources(const Aws::Vector& value) { SetSources(value); return *this;} + inline ExternalSourcesRetrieveAndGenerateConfiguration& WithSources(Aws::Vector&& value) { SetSources(std::move(value)); return *this;} + inline ExternalSourcesRetrieveAndGenerateConfiguration& AddSources(const ExternalSource& value) { m_sourcesHasBeenSet = true; m_sources.push_back(value); return *this; } + inline ExternalSourcesRetrieveAndGenerateConfiguration& AddSources(ExternalSource&& value) { m_sourcesHasBeenSet = true; m_sources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

Contains configurations details for response generation based on retrieved + * text chunks.

+ */ + inline const ExternalSourcesGenerationConfiguration& GetGenerationConfiguration() const{ return m_generationConfiguration; } + inline bool GenerationConfigurationHasBeenSet() const { return m_generationConfigurationHasBeenSet; } + inline void SetGenerationConfiguration(const ExternalSourcesGenerationConfiguration& value) { m_generationConfigurationHasBeenSet = true; m_generationConfiguration = value; } + inline void SetGenerationConfiguration(ExternalSourcesGenerationConfiguration&& value) { m_generationConfigurationHasBeenSet = true; m_generationConfiguration = std::move(value); } + inline ExternalSourcesRetrieveAndGenerateConfiguration& WithGenerationConfiguration(const ExternalSourcesGenerationConfiguration& value) { SetGenerationConfiguration(value); return *this;} + inline ExternalSourcesRetrieveAndGenerateConfiguration& WithGenerationConfiguration(ExternalSourcesGenerationConfiguration&& value) { SetGenerationConfiguration(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_modelArn; + bool m_modelArnHasBeenSet = false; + + Aws::Vector m_sources; + bool m_sourcesHasBeenSet = false; + + ExternalSourcesGenerationConfiguration m_generationConfiguration; + bool m_generationConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/FilterAttribute.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/FilterAttribute.h new file mode 100644 index 00000000000..4d55966a690 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/FilterAttribute.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

Specifies the name of the metadata attribute/field to apply filters. You must + * match the name of the attribute/field in your data source/document + * metadata.

See Also:

AWS + * API Reference

+ */ + class FilterAttribute + { + public: + AWS_BEDROCK_API FilterAttribute(); + AWS_BEDROCK_API FilterAttribute(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API FilterAttribute& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The name of metadata attribute/field, which must match the name in your data + * source/document metadata.

+ */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline FilterAttribute& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline FilterAttribute& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline FilterAttribute& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

The value of the metadata attribute/field.

+ */ + inline Aws::Utils::DocumentView GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(const Aws::Utils::Document& value) { m_valueHasBeenSet = true; m_value = value; } + inline void SetValue(Aws::Utils::Document&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + inline FilterAttribute& WithValue(const Aws::Utils::Document& value) { SetValue(value); return *this;} + inline FilterAttribute& WithValue(Aws::Utils::Document&& value) { SetValue(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::Utils::Document m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GenerationConfiguration.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GenerationConfiguration.h new file mode 100644 index 00000000000..17f8451cdce --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GenerationConfiguration.h @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The configuration details for response generation based on retrieved text + * chunks.

See Also:

AWS + * API Reference

+ */ + class GenerationConfiguration + { + public: + AWS_BEDROCK_API GenerationConfiguration(); + AWS_BEDROCK_API GenerationConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API GenerationConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains the template for the prompt that's sent to the model for response + * generation.

+ */ + inline const PromptTemplate& GetPromptTemplate() const{ return m_promptTemplate; } + inline bool PromptTemplateHasBeenSet() const { return m_promptTemplateHasBeenSet; } + inline void SetPromptTemplate(const PromptTemplate& value) { m_promptTemplateHasBeenSet = true; m_promptTemplate = value; } + inline void SetPromptTemplate(PromptTemplate&& value) { m_promptTemplateHasBeenSet = true; m_promptTemplate = std::move(value); } + inline GenerationConfiguration& WithPromptTemplate(const PromptTemplate& value) { SetPromptTemplate(value); return *this;} + inline GenerationConfiguration& WithPromptTemplate(PromptTemplate&& value) { SetPromptTemplate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains configuration details for the guardrail.

+ */ + inline const GuardrailConfiguration& GetGuardrailConfiguration() const{ return m_guardrailConfiguration; } + inline bool GuardrailConfigurationHasBeenSet() const { return m_guardrailConfigurationHasBeenSet; } + inline void SetGuardrailConfiguration(const GuardrailConfiguration& value) { m_guardrailConfigurationHasBeenSet = true; m_guardrailConfiguration = value; } + inline void SetGuardrailConfiguration(GuardrailConfiguration&& value) { m_guardrailConfigurationHasBeenSet = true; m_guardrailConfiguration = std::move(value); } + inline GenerationConfiguration& WithGuardrailConfiguration(const GuardrailConfiguration& value) { SetGuardrailConfiguration(value); return *this;} + inline GenerationConfiguration& WithGuardrailConfiguration(GuardrailConfiguration&& value) { SetGuardrailConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains configuration details for inference for knowledge base retrieval and + * response generation.

+ */ + inline const KbInferenceConfig& GetKbInferenceConfig() const{ return m_kbInferenceConfig; } + inline bool KbInferenceConfigHasBeenSet() const { return m_kbInferenceConfigHasBeenSet; } + inline void SetKbInferenceConfig(const KbInferenceConfig& value) { m_kbInferenceConfigHasBeenSet = true; m_kbInferenceConfig = value; } + inline void SetKbInferenceConfig(KbInferenceConfig&& value) { m_kbInferenceConfigHasBeenSet = true; m_kbInferenceConfig = std::move(value); } + inline GenerationConfiguration& WithKbInferenceConfig(const KbInferenceConfig& value) { SetKbInferenceConfig(value); return *this;} + inline GenerationConfiguration& WithKbInferenceConfig(KbInferenceConfig&& value) { SetKbInferenceConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Additional model parameters and corresponding values not included in the + * textInferenceConfig structure for a knowledge base. This allows you + * to provide custom model parameters specific to the language model being + * used.

+ */ + inline const Aws::Map& GetAdditionalModelRequestFields() const{ return m_additionalModelRequestFields; } + inline bool AdditionalModelRequestFieldsHasBeenSet() const { return m_additionalModelRequestFieldsHasBeenSet; } + inline void SetAdditionalModelRequestFields(const Aws::Map& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields = value; } + inline void SetAdditionalModelRequestFields(Aws::Map&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields = std::move(value); } + inline GenerationConfiguration& WithAdditionalModelRequestFields(const Aws::Map& value) { SetAdditionalModelRequestFields(value); return *this;} + inline GenerationConfiguration& WithAdditionalModelRequestFields(Aws::Map&& value) { SetAdditionalModelRequestFields(std::move(value)); return *this;} + inline GenerationConfiguration& AddAdditionalModelRequestFields(const Aws::String& key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, value); return *this; } + inline GenerationConfiguration& AddAdditionalModelRequestFields(Aws::String&& key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(std::move(key), value); return *this; } + inline GenerationConfiguration& AddAdditionalModelRequestFields(const Aws::String& key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, std::move(value)); return *this; } + inline GenerationConfiguration& AddAdditionalModelRequestFields(Aws::String&& key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(std::move(key), std::move(value)); return *this; } + inline GenerationConfiguration& AddAdditionalModelRequestFields(const char* key, Aws::Utils::Document&& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, std::move(value)); return *this; } + inline GenerationConfiguration& AddAdditionalModelRequestFields(const char* key, const Aws::Utils::Document& value) { m_additionalModelRequestFieldsHasBeenSet = true; m_additionalModelRequestFields.emplace(key, value); return *this; } + ///@} + private: + + PromptTemplate m_promptTemplate; + bool m_promptTemplateHasBeenSet = false; + + GuardrailConfiguration m_guardrailConfiguration; + bool m_guardrailConfigurationHasBeenSet = false; + + KbInferenceConfig m_kbInferenceConfig; + bool m_kbInferenceConfigHasBeenSet = false; + + Aws::Map m_additionalModelRequestFields; + bool m_additionalModelRequestFieldsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetEvaluationJobRequest.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetEvaluationJobRequest.h index 87081382e79..e8e61ae5e5d 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetEvaluationJobRequest.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetEvaluationJobRequest.h @@ -34,7 +34,8 @@ namespace Model ///@{ /** - *

The Amazon Resource Name (ARN) of the model evaluation job.

+ *

The Amazon Resource Name (ARN) of the evaluation job you want get information + * on.

*/ inline const Aws::String& GetJobIdentifier() const{ return m_jobIdentifier; } inline bool JobIdentifierHasBeenSet() const { return m_jobIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetEvaluationJobResult.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetEvaluationJobResult.h index 3feb751c881..912a9f01a69 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetEvaluationJobResult.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetEvaluationJobResult.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -41,7 +42,7 @@ namespace Model ///@{ /** - *

The name of the model evaluation job.

+ *

The name for the evaluation job.

*/ inline const Aws::String& GetJobName() const{ return m_jobName; } inline void SetJobName(const Aws::String& value) { m_jobName = value; } @@ -54,7 +55,7 @@ namespace Model ///@{ /** - *

The status of the model evaluation job.

+ *

The current status of the evaluation job.

*/ inline const EvaluationJobStatus& GetStatus() const{ return m_status; } inline void SetStatus(const EvaluationJobStatus& value) { m_status = value; } @@ -65,7 +66,7 @@ namespace Model ///@{ /** - *

The Amazon Resource Name (ARN) of the model evaluation job.

+ *

The Amazon Resource Name (ARN) of the evaluation job.

*/ inline const Aws::String& GetJobArn() const{ return m_jobArn; } inline void SetJobArn(const Aws::String& value) { m_jobArn = value; } @@ -78,7 +79,7 @@ namespace Model ///@{ /** - *

The description of the model evaluation job.

+ *

The description of the evaluation job.

*/ inline const Aws::String& GetJobDescription() const{ return m_jobDescription; } inline void SetJobDescription(const Aws::String& value) { m_jobDescription = value; } @@ -91,8 +92,8 @@ namespace Model ///@{ /** - *

The Amazon Resource Name (ARN) of the IAM service role used in the model - * evaluation job.

+ *

The Amazon Resource Name (ARN) of the IAM service role used in the evaluation + * job.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } inline void SetRoleArn(const Aws::String& value) { m_roleArn = value; } @@ -105,8 +106,8 @@ namespace Model ///@{ /** - *

The Amazon Resource Name (ARN) of the customer managed key specified when the - * model evaluation job was created.

+ *

The Amazon Resource Name (ARN) of the customer managed encryption key + * specified when the evaluation job was created.

*/ inline const Aws::String& GetCustomerEncryptionKeyId() const{ return m_customerEncryptionKeyId; } inline void SetCustomerEncryptionKeyId(const Aws::String& value) { m_customerEncryptionKeyId = value; } @@ -119,7 +120,7 @@ namespace Model ///@{ /** - *

The type of model evaluation job.

+ *

Specifies whether the evaluation job is automated or human-based.

*/ inline const EvaluationJobType& GetJobType() const{ return m_jobType; } inline void SetJobType(const EvaluationJobType& value) { m_jobType = value; } @@ -130,9 +131,20 @@ namespace Model ///@{ /** - *

Contains details about the type of model evaluation job, the metrics used, - * the task type selected, the datasets used, and any custom metrics you - * defined.

+ *

Specifies whether the evaluation job is for evaluating a model or evaluating + * a knowledge base (retrieval and response generation).

+ */ + inline const ApplicationType& GetApplicationType() const{ return m_applicationType; } + inline void SetApplicationType(const ApplicationType& value) { m_applicationType = value; } + inline void SetApplicationType(ApplicationType&& value) { m_applicationType = std::move(value); } + inline GetEvaluationJobResult& WithApplicationType(const ApplicationType& value) { SetApplicationType(value); return *this;} + inline GetEvaluationJobResult& WithApplicationType(ApplicationType&& value) { SetApplicationType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains the configuration details of either an automated or human-based + * evaluation job.

*/ inline const EvaluationConfig& GetEvaluationConfig() const{ return m_evaluationConfig; } inline void SetEvaluationConfig(const EvaluationConfig& value) { m_evaluationConfig = value; } @@ -143,7 +155,8 @@ namespace Model ///@{ /** - *

Details about the models you specified in your model evaluation job.

+ *

Contains the configuration details of the inference model used for the + * evaluation job.

*/ inline const EvaluationInferenceConfig& GetInferenceConfig() const{ return m_inferenceConfig; } inline void SetInferenceConfig(const EvaluationInferenceConfig& value) { m_inferenceConfig = value; } @@ -154,7 +167,8 @@ namespace Model ///@{ /** - *

Amazon S3 location for where output data is saved.

+ *

Contains the configuration details of the Amazon S3 bucket for storing the + * results of the evaluation job.

*/ inline const EvaluationOutputDataConfig& GetOutputDataConfig() const{ return m_outputDataConfig; } inline void SetOutputDataConfig(const EvaluationOutputDataConfig& value) { m_outputDataConfig = value; } @@ -165,7 +179,7 @@ namespace Model ///@{ /** - *

When the model evaluation job was created.

+ *

The time the evaluation job was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTime = value; } @@ -176,7 +190,7 @@ namespace Model ///@{ /** - *

When the model evaluation job was last modified.

+ *

The time the evaluation job was last modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTime = value; } @@ -187,7 +201,7 @@ namespace Model ///@{ /** - *

An array of strings the specify why the model evaluation job has failed.

+ *

A list of strings that specify why the evaluation job failed to create.

*/ inline const Aws::Vector& GetFailureMessages() const{ return m_failureMessages; } inline void SetFailureMessages(const Aws::Vector& value) { m_failureMessages = value; } @@ -225,6 +239,8 @@ namespace Model EvaluationJobType m_jobType; + ApplicationType m_applicationType; + EvaluationConfig m_evaluationConfig; EvaluationInferenceConfig m_inferenceConfig; diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailConfiguration.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailConfiguration.h new file mode 100644 index 00000000000..c335f0853a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailConfiguration.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The configuration details for the guardrail.

See Also:

AWS + * API Reference

+ */ + class GuardrailConfiguration + { + public: + AWS_BEDROCK_API GuardrailConfiguration(); + AWS_BEDROCK_API GuardrailConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API GuardrailConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The unique identifier for the guardrail.

+ */ + inline const Aws::String& GetGuardrailId() const{ return m_guardrailId; } + inline bool GuardrailIdHasBeenSet() const { return m_guardrailIdHasBeenSet; } + inline void SetGuardrailId(const Aws::String& value) { m_guardrailIdHasBeenSet = true; m_guardrailId = value; } + inline void SetGuardrailId(Aws::String&& value) { m_guardrailIdHasBeenSet = true; m_guardrailId = std::move(value); } + inline void SetGuardrailId(const char* value) { m_guardrailIdHasBeenSet = true; m_guardrailId.assign(value); } + inline GuardrailConfiguration& WithGuardrailId(const Aws::String& value) { SetGuardrailId(value); return *this;} + inline GuardrailConfiguration& WithGuardrailId(Aws::String&& value) { SetGuardrailId(std::move(value)); return *this;} + inline GuardrailConfiguration& WithGuardrailId(const char* value) { SetGuardrailId(value); return *this;} + ///@} + + ///@{ + /** + *

The version of the guardrail.

+ */ + inline const Aws::String& GetGuardrailVersion() const{ return m_guardrailVersion; } + inline bool GuardrailVersionHasBeenSet() const { return m_guardrailVersionHasBeenSet; } + inline void SetGuardrailVersion(const Aws::String& value) { m_guardrailVersionHasBeenSet = true; m_guardrailVersion = value; } + inline void SetGuardrailVersion(Aws::String&& value) { m_guardrailVersionHasBeenSet = true; m_guardrailVersion = std::move(value); } + inline void SetGuardrailVersion(const char* value) { m_guardrailVersionHasBeenSet = true; m_guardrailVersion.assign(value); } + inline GuardrailConfiguration& WithGuardrailVersion(const Aws::String& value) { SetGuardrailVersion(value); return *this;} + inline GuardrailConfiguration& WithGuardrailVersion(Aws::String&& value) { SetGuardrailVersion(std::move(value)); return *this;} + inline GuardrailConfiguration& WithGuardrailVersion(const char* value) { SetGuardrailVersion(value); return *this;} + ///@} + private: + + Aws::String m_guardrailId; + bool m_guardrailIdHasBeenSet = false; + + Aws::String m_guardrailVersion; + bool m_guardrailVersionHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KbInferenceConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KbInferenceConfig.h new file mode 100644 index 00000000000..fac3d075663 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KbInferenceConfig.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

Contains configuration details of the inference for knowledge base retrieval + * and response generation.

See Also:

AWS + * API Reference

+ */ + class KbInferenceConfig + { + public: + AWS_BEDROCK_API KbInferenceConfig(); + AWS_BEDROCK_API KbInferenceConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API KbInferenceConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains configuration details for text generation using a language model via + * the RetrieveAndGenerate function.

+ */ + inline const TextInferenceConfig& GetTextInferenceConfig() const{ return m_textInferenceConfig; } + inline bool TextInferenceConfigHasBeenSet() const { return m_textInferenceConfigHasBeenSet; } + inline void SetTextInferenceConfig(const TextInferenceConfig& value) { m_textInferenceConfigHasBeenSet = true; m_textInferenceConfig = value; } + inline void SetTextInferenceConfig(TextInferenceConfig&& value) { m_textInferenceConfigHasBeenSet = true; m_textInferenceConfig = std::move(value); } + inline KbInferenceConfig& WithTextInferenceConfig(const TextInferenceConfig& value) { SetTextInferenceConfig(value); return *this;} + inline KbInferenceConfig& WithTextInferenceConfig(TextInferenceConfig&& value) { SetTextInferenceConfig(std::move(value)); return *this;} + ///@} + private: + + TextInferenceConfig m_textInferenceConfig; + bool m_textInferenceConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseConfig.h new file mode 100644 index 00000000000..a63be7d6500 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseConfig.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The configuration details for retrieving information from a knowledge base + * and generating responses.

See Also:

AWS + * API Reference

+ */ + class KnowledgeBaseConfig + { + public: + AWS_BEDROCK_API KnowledgeBaseConfig(); + AWS_BEDROCK_API KnowledgeBaseConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API KnowledgeBaseConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains configuration details for retrieving information from a knowledge + * base.

+ */ + inline const RetrieveConfig& GetRetrieveConfig() const{ return m_retrieveConfig; } + inline bool RetrieveConfigHasBeenSet() const { return m_retrieveConfigHasBeenSet; } + inline void SetRetrieveConfig(const RetrieveConfig& value) { m_retrieveConfigHasBeenSet = true; m_retrieveConfig = value; } + inline void SetRetrieveConfig(RetrieveConfig&& value) { m_retrieveConfigHasBeenSet = true; m_retrieveConfig = std::move(value); } + inline KnowledgeBaseConfig& WithRetrieveConfig(const RetrieveConfig& value) { SetRetrieveConfig(value); return *this;} + inline KnowledgeBaseConfig& WithRetrieveConfig(RetrieveConfig&& value) { SetRetrieveConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains configuration details for retrieving information from a knowledge + * base and generating responses.

+ */ + inline const RetrieveAndGenerateConfiguration& GetRetrieveAndGenerateConfig() const{ return m_retrieveAndGenerateConfig; } + inline bool RetrieveAndGenerateConfigHasBeenSet() const { return m_retrieveAndGenerateConfigHasBeenSet; } + inline void SetRetrieveAndGenerateConfig(const RetrieveAndGenerateConfiguration& value) { m_retrieveAndGenerateConfigHasBeenSet = true; m_retrieveAndGenerateConfig = value; } + inline void SetRetrieveAndGenerateConfig(RetrieveAndGenerateConfiguration&& value) { m_retrieveAndGenerateConfigHasBeenSet = true; m_retrieveAndGenerateConfig = std::move(value); } + inline KnowledgeBaseConfig& WithRetrieveAndGenerateConfig(const RetrieveAndGenerateConfiguration& value) { SetRetrieveAndGenerateConfig(value); return *this;} + inline KnowledgeBaseConfig& WithRetrieveAndGenerateConfig(RetrieveAndGenerateConfiguration&& value) { SetRetrieveAndGenerateConfig(std::move(value)); return *this;} + ///@} + private: + + RetrieveConfig m_retrieveConfig; + bool m_retrieveConfigHasBeenSet = false; + + RetrieveAndGenerateConfiguration m_retrieveAndGenerateConfig; + bool m_retrieveAndGenerateConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseRetrievalConfiguration.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseRetrievalConfiguration.h new file mode 100644 index 00000000000..21275155fc8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseRetrievalConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

Contains configuration details for retrieving information from a knowledge + * base.

See Also:

AWS + * API Reference

+ */ + class KnowledgeBaseRetrievalConfiguration + { + public: + AWS_BEDROCK_API KnowledgeBaseRetrievalConfiguration(); + AWS_BEDROCK_API KnowledgeBaseRetrievalConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API KnowledgeBaseRetrievalConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains configuration details for returning the results from the vector + * search.

+ */ + inline const KnowledgeBaseVectorSearchConfiguration& GetVectorSearchConfiguration() const{ return m_vectorSearchConfiguration; } + inline bool VectorSearchConfigurationHasBeenSet() const { return m_vectorSearchConfigurationHasBeenSet; } + inline void SetVectorSearchConfiguration(const KnowledgeBaseVectorSearchConfiguration& value) { m_vectorSearchConfigurationHasBeenSet = true; m_vectorSearchConfiguration = value; } + inline void SetVectorSearchConfiguration(KnowledgeBaseVectorSearchConfiguration&& value) { m_vectorSearchConfigurationHasBeenSet = true; m_vectorSearchConfiguration = std::move(value); } + inline KnowledgeBaseRetrievalConfiguration& WithVectorSearchConfiguration(const KnowledgeBaseVectorSearchConfiguration& value) { SetVectorSearchConfiguration(value); return *this;} + inline KnowledgeBaseRetrievalConfiguration& WithVectorSearchConfiguration(KnowledgeBaseVectorSearchConfiguration&& value) { SetVectorSearchConfiguration(std::move(value)); return *this;} + ///@} + private: + + KnowledgeBaseVectorSearchConfiguration m_vectorSearchConfiguration; + bool m_vectorSearchConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseRetrieveAndGenerateConfiguration.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseRetrieveAndGenerateConfiguration.h new file mode 100644 index 00000000000..12270d483b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseRetrieveAndGenerateConfiguration.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

Contains configuration details for retrieving information from a knowledge + * base and generating responses.

See Also:

AWS + * API Reference

+ */ + class KnowledgeBaseRetrieveAndGenerateConfiguration + { + public: + AWS_BEDROCK_API KnowledgeBaseRetrieveAndGenerateConfiguration(); + AWS_BEDROCK_API KnowledgeBaseRetrieveAndGenerateConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API KnowledgeBaseRetrieveAndGenerateConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The unique identifier of the knowledge base.

+ */ + inline const Aws::String& GetKnowledgeBaseId() const{ return m_knowledgeBaseId; } + inline bool KnowledgeBaseIdHasBeenSet() const { return m_knowledgeBaseIdHasBeenSet; } + inline void SetKnowledgeBaseId(const Aws::String& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = value; } + inline void SetKnowledgeBaseId(Aws::String&& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = std::move(value); } + inline void SetKnowledgeBaseId(const char* value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId.assign(value); } + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithKnowledgeBaseId(const Aws::String& value) { SetKnowledgeBaseId(value); return *this;} + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithKnowledgeBaseId(Aws::String&& value) { SetKnowledgeBaseId(std::move(value)); return *this;} + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithKnowledgeBaseId(const char* value) { SetKnowledgeBaseId(value); return *this;} + ///@} + + ///@{ + /** + *

The Amazon Resource Name (ARN) of the foundation model or inference + * profile used to generate responses.

+ */ + inline const Aws::String& GetModelArn() const{ return m_modelArn; } + inline bool ModelArnHasBeenSet() const { return m_modelArnHasBeenSet; } + inline void SetModelArn(const Aws::String& value) { m_modelArnHasBeenSet = true; m_modelArn = value; } + inline void SetModelArn(Aws::String&& value) { m_modelArnHasBeenSet = true; m_modelArn = std::move(value); } + inline void SetModelArn(const char* value) { m_modelArnHasBeenSet = true; m_modelArn.assign(value); } + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithModelArn(const Aws::String& value) { SetModelArn(value); return *this;} + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithModelArn(Aws::String&& value) { SetModelArn(std::move(value)); return *this;} + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithModelArn(const char* value) { SetModelArn(value); return *this;} + ///@} + + ///@{ + /** + *

Contains configuration details for retrieving text chunks.

+ */ + inline const KnowledgeBaseRetrievalConfiguration& GetRetrievalConfiguration() const{ return m_retrievalConfiguration; } + inline bool RetrievalConfigurationHasBeenSet() const { return m_retrievalConfigurationHasBeenSet; } + inline void SetRetrievalConfiguration(const KnowledgeBaseRetrievalConfiguration& value) { m_retrievalConfigurationHasBeenSet = true; m_retrievalConfiguration = value; } + inline void SetRetrievalConfiguration(KnowledgeBaseRetrievalConfiguration&& value) { m_retrievalConfigurationHasBeenSet = true; m_retrievalConfiguration = std::move(value); } + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithRetrievalConfiguration(const KnowledgeBaseRetrievalConfiguration& value) { SetRetrievalConfiguration(value); return *this;} + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithRetrievalConfiguration(KnowledgeBaseRetrievalConfiguration&& value) { SetRetrievalConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains configurations details for response generation based on retrieved + * text chunks.

+ */ + inline const GenerationConfiguration& GetGenerationConfiguration() const{ return m_generationConfiguration; } + inline bool GenerationConfigurationHasBeenSet() const { return m_generationConfigurationHasBeenSet; } + inline void SetGenerationConfiguration(const GenerationConfiguration& value) { m_generationConfigurationHasBeenSet = true; m_generationConfiguration = value; } + inline void SetGenerationConfiguration(GenerationConfiguration&& value) { m_generationConfigurationHasBeenSet = true; m_generationConfiguration = std::move(value); } + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithGenerationConfiguration(const GenerationConfiguration& value) { SetGenerationConfiguration(value); return *this;} + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithGenerationConfiguration(GenerationConfiguration&& value) { SetGenerationConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains configuration details for the model to process the prompt prior to + * retrieval and response generation.

+ */ + inline const OrchestrationConfiguration& GetOrchestrationConfiguration() const{ return m_orchestrationConfiguration; } + inline bool OrchestrationConfigurationHasBeenSet() const { return m_orchestrationConfigurationHasBeenSet; } + inline void SetOrchestrationConfiguration(const OrchestrationConfiguration& value) { m_orchestrationConfigurationHasBeenSet = true; m_orchestrationConfiguration = value; } + inline void SetOrchestrationConfiguration(OrchestrationConfiguration&& value) { m_orchestrationConfigurationHasBeenSet = true; m_orchestrationConfiguration = std::move(value); } + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithOrchestrationConfiguration(const OrchestrationConfiguration& value) { SetOrchestrationConfiguration(value); return *this;} + inline KnowledgeBaseRetrieveAndGenerateConfiguration& WithOrchestrationConfiguration(OrchestrationConfiguration&& value) { SetOrchestrationConfiguration(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_knowledgeBaseId; + bool m_knowledgeBaseIdHasBeenSet = false; + + Aws::String m_modelArn; + bool m_modelArnHasBeenSet = false; + + KnowledgeBaseRetrievalConfiguration m_retrievalConfiguration; + bool m_retrievalConfigurationHasBeenSet = false; + + GenerationConfiguration m_generationConfiguration; + bool m_generationConfigurationHasBeenSet = false; + + OrchestrationConfiguration m_orchestrationConfiguration; + bool m_orchestrationConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseVectorSearchConfiguration.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseVectorSearchConfiguration.h new file mode 100644 index 00000000000..242c4cd4495 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/KnowledgeBaseVectorSearchConfiguration.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The configuration details for returning the results from the knowledge base + * vector search.

See Also:

AWS + * API Reference

+ */ + class KnowledgeBaseVectorSearchConfiguration + { + public: + AWS_BEDROCK_API KnowledgeBaseVectorSearchConfiguration(); + AWS_BEDROCK_API KnowledgeBaseVectorSearchConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API KnowledgeBaseVectorSearchConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The number of text chunks to retrieve; the number of results to return.

+ */ + inline int GetNumberOfResults() const{ return m_numberOfResults; } + inline bool NumberOfResultsHasBeenSet() const { return m_numberOfResultsHasBeenSet; } + inline void SetNumberOfResults(int value) { m_numberOfResultsHasBeenSet = true; m_numberOfResults = value; } + inline KnowledgeBaseVectorSearchConfiguration& WithNumberOfResults(int value) { SetNumberOfResults(value); return *this;} + ///@} + + ///@{ + /** + *

By default, Amazon Bedrock decides a search strategy for you. If you're using + * an Amazon OpenSearch Serverless vector store that contains a filterable text + * field, you can specify whether to query the knowledge base with a + * HYBRID search using both vector embeddings and raw text, or + * SEMANTIC search using only vector embeddings. For other vector + * store configurations, only SEMANTIC search is available.

+ */ + inline const SearchType& GetOverrideSearchType() const{ return m_overrideSearchType; } + inline bool OverrideSearchTypeHasBeenSet() const { return m_overrideSearchTypeHasBeenSet; } + inline void SetOverrideSearchType(const SearchType& value) { m_overrideSearchTypeHasBeenSet = true; m_overrideSearchType = value; } + inline void SetOverrideSearchType(SearchType&& value) { m_overrideSearchTypeHasBeenSet = true; m_overrideSearchType = std::move(value); } + inline KnowledgeBaseVectorSearchConfiguration& WithOverrideSearchType(const SearchType& value) { SetOverrideSearchType(value); return *this;} + inline KnowledgeBaseVectorSearchConfiguration& WithOverrideSearchType(SearchType&& value) { SetOverrideSearchType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Specifies the filters to use on the metadata fields in the knowledge base + * data sources before returning results.

+ */ + inline const RetrievalFilter& GetFilter() const{ return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + inline void SetFilter(const RetrievalFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + inline void SetFilter(RetrievalFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + inline KnowledgeBaseVectorSearchConfiguration& WithFilter(const RetrievalFilter& value) { SetFilter(value); return *this;} + inline KnowledgeBaseVectorSearchConfiguration& WithFilter(RetrievalFilter&& value) { SetFilter(std::move(value)); return *this;} + ///@} + private: + + int m_numberOfResults; + bool m_numberOfResultsHasBeenSet = false; + + SearchType m_overrideSearchType; + bool m_overrideSearchTypeHasBeenSet = false; + + RetrievalFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListEvaluationJobsRequest.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListEvaluationJobsRequest.h index 906921fb032..7ec84ba3be7 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListEvaluationJobsRequest.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListEvaluationJobsRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -44,8 +45,7 @@ namespace Model ///@{ /** - *

A filter that includes model evaluation jobs created after the time - * specified.

+ *

A filter to only list evaluation jobs created after a specified time.

*/ inline const Aws::Utils::DateTime& GetCreationTimeAfter() const{ return m_creationTimeAfter; } inline bool CreationTimeAfterHasBeenSet() const { return m_creationTimeAfterHasBeenSet; } @@ -57,8 +57,7 @@ namespace Model ///@{ /** - *

A filter that includes model evaluation jobs created prior to the time - * specified.

+ *

A filter to only list evaluation jobs created before a specified time.

*/ inline const Aws::Utils::DateTime& GetCreationTimeBefore() const{ return m_creationTimeBefore; } inline bool CreationTimeBeforeHasBeenSet() const { return m_creationTimeBeforeHasBeenSet; } @@ -70,7 +69,7 @@ namespace Model ///@{ /** - *

Only return jobs where the status condition is met.

+ *

A filter to only list evaluation jobs that are of a certain status.

*/ inline const EvaluationJobStatus& GetStatusEquals() const{ return m_statusEquals; } inline bool StatusEqualsHasBeenSet() const { return m_statusEqualsHasBeenSet; } @@ -82,7 +81,21 @@ namespace Model ///@{ /** - *

Query parameter string for model evaluation job names.

+ *

A filter to only list evaluation jobs that are either model evaluations or + * knowledge base evaluations.

+ */ + inline const ApplicationType& GetApplicationTypeEquals() const{ return m_applicationTypeEquals; } + inline bool ApplicationTypeEqualsHasBeenSet() const { return m_applicationTypeEqualsHasBeenSet; } + inline void SetApplicationTypeEquals(const ApplicationType& value) { m_applicationTypeEqualsHasBeenSet = true; m_applicationTypeEquals = value; } + inline void SetApplicationTypeEquals(ApplicationType&& value) { m_applicationTypeEqualsHasBeenSet = true; m_applicationTypeEquals = std::move(value); } + inline ListEvaluationJobsRequest& WithApplicationTypeEquals(const ApplicationType& value) { SetApplicationTypeEquals(value); return *this;} + inline ListEvaluationJobsRequest& WithApplicationTypeEquals(ApplicationType&& value) { SetApplicationTypeEquals(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

A filter to only list evaluation jobs that contain a specified string in the + * job name.

*/ inline const Aws::String& GetNameContains() const{ return m_nameContains; } inline bool NameContainsHasBeenSet() const { return m_nameContainsHasBeenSet; } @@ -121,7 +134,8 @@ namespace Model ///@{ /** - *

Allows you to sort model evaluation jobs by when they were created.

+ *

Specifies a creation time to sort the list of evaluation jobs by when they + * were created.

*/ inline const SortJobsBy& GetSortBy() const{ return m_sortBy; } inline bool SortByHasBeenSet() const { return m_sortByHasBeenSet; } @@ -133,7 +147,8 @@ namespace Model ///@{ /** - *

How you want the order of jobs sorted.

+ *

Specifies whether to sort the list of evaluation jobs by either ascending or + * descending order.

*/ inline const SortOrder& GetSortOrder() const{ return m_sortOrder; } inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; } @@ -153,6 +168,9 @@ namespace Model EvaluationJobStatus m_statusEquals; bool m_statusEqualsHasBeenSet = false; + ApplicationType m_applicationTypeEquals; + bool m_applicationTypeEqualsHasBeenSet = false; + Aws::String m_nameContains; bool m_nameContainsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListEvaluationJobsResult.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListEvaluationJobsResult.h index 2cc4e3e6691..d2c18c2b740 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListEvaluationJobsResult.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListEvaluationJobsResult.h @@ -50,7 +50,7 @@ namespace Model ///@{ /** - *

A summary of the model evaluation jobs.

+ *

A list of summaries of the evaluation jobs.

*/ inline const Aws::Vector& GetJobSummaries() const{ return m_jobSummaries; } inline void SetJobSummaries(const Aws::Vector& value) { m_jobSummaries = value; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/OrchestrationConfiguration.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/OrchestrationConfiguration.h new file mode 100644 index 00000000000..2a966b9f510 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/OrchestrationConfiguration.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The configuration details for the model to process the prompt prior to + * retrieval and response generation.

See Also:

AWS + * API Reference

+ */ + class OrchestrationConfiguration + { + public: + AWS_BEDROCK_API OrchestrationConfiguration(); + AWS_BEDROCK_API OrchestrationConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API OrchestrationConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains configuration details for transforming the prompt.

+ */ + inline const QueryTransformationConfiguration& GetQueryTransformationConfiguration() const{ return m_queryTransformationConfiguration; } + inline bool QueryTransformationConfigurationHasBeenSet() const { return m_queryTransformationConfigurationHasBeenSet; } + inline void SetQueryTransformationConfiguration(const QueryTransformationConfiguration& value) { m_queryTransformationConfigurationHasBeenSet = true; m_queryTransformationConfiguration = value; } + inline void SetQueryTransformationConfiguration(QueryTransformationConfiguration&& value) { m_queryTransformationConfigurationHasBeenSet = true; m_queryTransformationConfiguration = std::move(value); } + inline OrchestrationConfiguration& WithQueryTransformationConfiguration(const QueryTransformationConfiguration& value) { SetQueryTransformationConfiguration(value); return *this;} + inline OrchestrationConfiguration& WithQueryTransformationConfiguration(QueryTransformationConfiguration&& value) { SetQueryTransformationConfiguration(std::move(value)); return *this;} + ///@} + private: + + QueryTransformationConfiguration m_queryTransformationConfiguration; + bool m_queryTransformationConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/PromptTemplate.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/PromptTemplate.h new file mode 100644 index 00000000000..85abccbfa70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/PromptTemplate.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The template for the prompt that's sent to the model for response + * generation.

See Also:

AWS + * API Reference

+ */ + class PromptTemplate + { + public: + AWS_BEDROCK_API PromptTemplate(); + AWS_BEDROCK_API PromptTemplate(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API PromptTemplate& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The template for the prompt that's sent to the model for response generation. + * You can include prompt placeholders, which become replaced before the prompt is + * sent to the model to provide instructions and context to the model. In addition, + * you can include XML tags to delineate meaningful sections of the prompt + * template.

For more information, see Knowledge + * base prompt template and Use + * XML tags with Anthropic Claude models.

+ */ + inline const Aws::String& GetTextPromptTemplate() const{ return m_textPromptTemplate; } + inline bool TextPromptTemplateHasBeenSet() const { return m_textPromptTemplateHasBeenSet; } + inline void SetTextPromptTemplate(const Aws::String& value) { m_textPromptTemplateHasBeenSet = true; m_textPromptTemplate = value; } + inline void SetTextPromptTemplate(Aws::String&& value) { m_textPromptTemplateHasBeenSet = true; m_textPromptTemplate = std::move(value); } + inline void SetTextPromptTemplate(const char* value) { m_textPromptTemplateHasBeenSet = true; m_textPromptTemplate.assign(value); } + inline PromptTemplate& WithTextPromptTemplate(const Aws::String& value) { SetTextPromptTemplate(value); return *this;} + inline PromptTemplate& WithTextPromptTemplate(Aws::String&& value) { SetTextPromptTemplate(std::move(value)); return *this;} + inline PromptTemplate& WithTextPromptTemplate(const char* value) { SetTextPromptTemplate(value); return *this;} + ///@} + private: + + Aws::String m_textPromptTemplate; + bool m_textPromptTemplateHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/QueryTransformationConfiguration.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/QueryTransformationConfiguration.h new file mode 100644 index 00000000000..8791420f526 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/QueryTransformationConfiguration.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The configuration details for transforming the prompt.

See + * Also:

AWS + * API Reference

+ */ + class QueryTransformationConfiguration + { + public: + AWS_BEDROCK_API QueryTransformationConfiguration(); + AWS_BEDROCK_API QueryTransformationConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API QueryTransformationConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The type of transformation to apply to the prompt.

+ */ + inline const QueryTransformationType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const QueryTransformationType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(QueryTransformationType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline QueryTransformationConfiguration& WithType(const QueryTransformationType& value) { SetType(value); return *this;} + inline QueryTransformationConfiguration& WithType(QueryTransformationType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + QueryTransformationType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/QueryTransformationType.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/QueryTransformationType.h new file mode 100644 index 00000000000..bcb6137a569 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/QueryTransformationType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + enum class QueryTransformationType + { + NOT_SET, + QUERY_DECOMPOSITION + }; + +namespace QueryTransformationTypeMapper +{ +AWS_BEDROCK_API QueryTransformationType GetQueryTransformationTypeForName(const Aws::String& name); + +AWS_BEDROCK_API Aws::String GetNameForQueryTransformationType(QueryTransformationType value); +} // namespace QueryTransformationTypeMapper +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RAGConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RAGConfig.h new file mode 100644 index 00000000000..3f0c02ecc6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RAGConfig.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

Contains configuration details for retrieval of information and response + * generation.

See Also:

AWS + * API Reference

+ */ + class RAGConfig + { + public: + AWS_BEDROCK_API RAGConfig(); + AWS_BEDROCK_API RAGConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API RAGConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Contains configuration details for knowledge base retrieval and response + * generation.

+ */ + inline const KnowledgeBaseConfig& GetKnowledgeBaseConfig() const{ return m_knowledgeBaseConfig; } + inline bool KnowledgeBaseConfigHasBeenSet() const { return m_knowledgeBaseConfigHasBeenSet; } + inline void SetKnowledgeBaseConfig(const KnowledgeBaseConfig& value) { m_knowledgeBaseConfigHasBeenSet = true; m_knowledgeBaseConfig = value; } + inline void SetKnowledgeBaseConfig(KnowledgeBaseConfig&& value) { m_knowledgeBaseConfigHasBeenSet = true; m_knowledgeBaseConfig = std::move(value); } + inline RAGConfig& WithKnowledgeBaseConfig(const KnowledgeBaseConfig& value) { SetKnowledgeBaseConfig(value); return *this;} + inline RAGConfig& WithKnowledgeBaseConfig(KnowledgeBaseConfig&& value) { SetKnowledgeBaseConfig(std::move(value)); return *this;} + ///@} + private: + + KnowledgeBaseConfig m_knowledgeBaseConfig; + bool m_knowledgeBaseConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrievalFilter.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrievalFilter.h new file mode 100644 index 00000000000..d54d7c58349 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrievalFilter.h @@ -0,0 +1,299 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

Specifies the filters to use on the metadata attributes/fields in the + * knowledge base data sources before returning results.

See Also:

+ * AWS + * API Reference

+ */ + class RetrievalFilter + { + public: + AWS_BEDROCK_API RetrievalFilter(); + AWS_BEDROCK_API RetrievalFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API RetrievalFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Knowledge base data sources are returned if they contain a metadata attribute + * whose name matches the key and whose value matches the value in this object.

+ *

The following example would return data sources with an animal attribute + * whose value is 'cat': "equals": { "key": "animal", "value": "cat" } + *

+ */ + inline const FilterAttribute& GetEquals() const{ return m_equals; } + inline bool EqualsHasBeenSet() const { return m_equalsHasBeenSet; } + inline void SetEquals(const FilterAttribute& value) { m_equalsHasBeenSet = true; m_equals = value; } + inline void SetEquals(FilterAttribute&& value) { m_equalsHasBeenSet = true; m_equals = std::move(value); } + inline RetrievalFilter& WithEquals(const FilterAttribute& value) { SetEquals(value); return *this;} + inline RetrievalFilter& WithEquals(FilterAttribute&& value) { SetEquals(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Knowledge base data sources that contain a metadata attribute whose name + * matches the key and whose value doesn't match the value in this object are + * returned.

The following example would return data sources that don't + * contain an animal attribute whose value is 'cat': "notEquals": { "key": + * "animal", "value": "cat" }

+ */ + inline const FilterAttribute& GetNotEquals() const{ return m_notEquals; } + inline bool NotEqualsHasBeenSet() const { return m_notEqualsHasBeenSet; } + inline void SetNotEquals(const FilterAttribute& value) { m_notEqualsHasBeenSet = true; m_notEquals = value; } + inline void SetNotEquals(FilterAttribute&& value) { m_notEqualsHasBeenSet = true; m_notEquals = std::move(value); } + inline RetrievalFilter& WithNotEquals(const FilterAttribute& value) { SetNotEquals(value); return *this;} + inline RetrievalFilter& WithNotEquals(FilterAttribute&& value) { SetNotEquals(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Knowledge base data sources are returned if they contain a metadata attribute + * whose name matches the key and whose value is greater than the value in this + * object.

The following example would return data sources with an year + * attribute whose value is greater than '1989': "greaterThan": { "key": + * "year", "value": 1989 }

+ */ + inline const FilterAttribute& GetGreaterThan() const{ return m_greaterThan; } + inline bool GreaterThanHasBeenSet() const { return m_greaterThanHasBeenSet; } + inline void SetGreaterThan(const FilterAttribute& value) { m_greaterThanHasBeenSet = true; m_greaterThan = value; } + inline void SetGreaterThan(FilterAttribute&& value) { m_greaterThanHasBeenSet = true; m_greaterThan = std::move(value); } + inline RetrievalFilter& WithGreaterThan(const FilterAttribute& value) { SetGreaterThan(value); return *this;} + inline RetrievalFilter& WithGreaterThan(FilterAttribute&& value) { SetGreaterThan(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Knowledge base data sources are returned if they contain a metadata attribute + * whose name matches the key and whose value is greater than or equal to the value + * in this object.

The following example would return data sources with an + * year attribute whose value is greater than or equal to '1989': + * "greaterThanOrEquals": { "key": "year", "value": 1989 }

+ */ + inline const FilterAttribute& GetGreaterThanOrEquals() const{ return m_greaterThanOrEquals; } + inline bool GreaterThanOrEqualsHasBeenSet() const { return m_greaterThanOrEqualsHasBeenSet; } + inline void SetGreaterThanOrEquals(const FilterAttribute& value) { m_greaterThanOrEqualsHasBeenSet = true; m_greaterThanOrEquals = value; } + inline void SetGreaterThanOrEquals(FilterAttribute&& value) { m_greaterThanOrEqualsHasBeenSet = true; m_greaterThanOrEquals = std::move(value); } + inline RetrievalFilter& WithGreaterThanOrEquals(const FilterAttribute& value) { SetGreaterThanOrEquals(value); return *this;} + inline RetrievalFilter& WithGreaterThanOrEquals(FilterAttribute&& value) { SetGreaterThanOrEquals(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Knowledge base data sources are returned if they contain a metadata attribute + * whose name matches the key and whose value is less than the value in this + * object.

The following example would return data sources with an year + * attribute whose value is less than to '1989': "lessThan": { "key": "year", + * "value": 1989 }

+ */ + inline const FilterAttribute& GetLessThan() const{ return m_lessThan; } + inline bool LessThanHasBeenSet() const { return m_lessThanHasBeenSet; } + inline void SetLessThan(const FilterAttribute& value) { m_lessThanHasBeenSet = true; m_lessThan = value; } + inline void SetLessThan(FilterAttribute&& value) { m_lessThanHasBeenSet = true; m_lessThan = std::move(value); } + inline RetrievalFilter& WithLessThan(const FilterAttribute& value) { SetLessThan(value); return *this;} + inline RetrievalFilter& WithLessThan(FilterAttribute&& value) { SetLessThan(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Knowledge base data sources are returned if they contain a metadata attribute + * whose name matches the key and whose value is less than or equal to the value in + * this object.

The following example would return data sources with an year + * attribute whose value is less than or equal to '1989': "lessThanOrEquals": + * { "key": "year", "value": 1989 }

+ */ + inline const FilterAttribute& GetLessThanOrEquals() const{ return m_lessThanOrEquals; } + inline bool LessThanOrEqualsHasBeenSet() const { return m_lessThanOrEqualsHasBeenSet; } + inline void SetLessThanOrEquals(const FilterAttribute& value) { m_lessThanOrEqualsHasBeenSet = true; m_lessThanOrEquals = value; } + inline void SetLessThanOrEquals(FilterAttribute&& value) { m_lessThanOrEqualsHasBeenSet = true; m_lessThanOrEquals = std::move(value); } + inline RetrievalFilter& WithLessThanOrEquals(const FilterAttribute& value) { SetLessThanOrEquals(value); return *this;} + inline RetrievalFilter& WithLessThanOrEquals(FilterAttribute&& value) { SetLessThanOrEquals(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Knowledge base data sources are returned if they contain a metadata attribute + * whose name matches the key and whose value is in the list specified in the value + * in this object.

The following example would return data sources with an + * animal attribute that is either 'cat' or 'dog': "in": { "key": "animal", + * "value": ["cat", "dog"] }

+ */ + inline const FilterAttribute& GetIn() const{ return m_in; } + inline bool InHasBeenSet() const { return m_inHasBeenSet; } + inline void SetIn(const FilterAttribute& value) { m_inHasBeenSet = true; m_in = value; } + inline void SetIn(FilterAttribute&& value) { m_inHasBeenSet = true; m_in = std::move(value); } + inline RetrievalFilter& WithIn(const FilterAttribute& value) { SetIn(value); return *this;} + inline RetrievalFilter& WithIn(FilterAttribute&& value) { SetIn(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Knowledge base data sources are returned if they contain a metadata attribute + * whose name matches the key and whose value isn't in the list specified in the + * value in this object.

The following example would return data sources + * whose animal attribute is neither 'cat' nor 'dog': "notIn": { "key": + * "animal", "value": ["cat", "dog"] }

+ */ + inline const FilterAttribute& GetNotIn() const{ return m_notIn; } + inline bool NotInHasBeenSet() const { return m_notInHasBeenSet; } + inline void SetNotIn(const FilterAttribute& value) { m_notInHasBeenSet = true; m_notIn = value; } + inline void SetNotIn(FilterAttribute&& value) { m_notInHasBeenSet = true; m_notIn = std::move(value); } + inline RetrievalFilter& WithNotIn(const FilterAttribute& value) { SetNotIn(value); return *this;} + inline RetrievalFilter& WithNotIn(FilterAttribute&& value) { SetNotIn(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Knowledge base data sources are returned if they contain a metadata attribute + * whose name matches the key and whose value starts with the value in this object. + * This filter is currently only supported for Amazon OpenSearch Serverless vector + * stores.

The following example would return data sources with an animal + * attribute starts with 'ca' (for example, 'cat' or 'camel'). "startsWith": + * { "key": "animal", "value": "ca" }

+ */ + inline const FilterAttribute& GetStartsWith() const{ return m_startsWith; } + inline bool StartsWithHasBeenSet() const { return m_startsWithHasBeenSet; } + inline void SetStartsWith(const FilterAttribute& value) { m_startsWithHasBeenSet = true; m_startsWith = value; } + inline void SetStartsWith(FilterAttribute&& value) { m_startsWithHasBeenSet = true; m_startsWith = std::move(value); } + inline RetrievalFilter& WithStartsWith(const FilterAttribute& value) { SetStartsWith(value); return *this;} + inline RetrievalFilter& WithStartsWith(FilterAttribute&& value) { SetStartsWith(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Knowledge base data sources are returned if they contain a metadata attribute + * whose name matches the key and whose value is a list that contains the value as + * one of its members.

The following example would return data sources with + * an animals attribute that is a list containing a cat member (for example, + * ["dog", "cat"]): "listContains": { "key": "animals", "value": + * "cat" }

+ */ + inline const FilterAttribute& GetListContains() const{ return m_listContains; } + inline bool ListContainsHasBeenSet() const { return m_listContainsHasBeenSet; } + inline void SetListContains(const FilterAttribute& value) { m_listContainsHasBeenSet = true; m_listContains = value; } + inline void SetListContains(FilterAttribute&& value) { m_listContainsHasBeenSet = true; m_listContains = std::move(value); } + inline RetrievalFilter& WithListContains(const FilterAttribute& value) { SetListContains(value); return *this;} + inline RetrievalFilter& WithListContains(FilterAttribute&& value) { SetListContains(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Knowledge base data sources are returned if they contain a metadata attribute + * whose name matches the key and whose value is one of the following:

A + * string that contains the value as a substring. The following example would + * return data sources with an animal attribute that contains the substring at (for + * example, 'cat'): "stringContains": { "key": "animal", "value": "at" + * }

A list with a member that contains the value as a substring. + * The following example would return data sources with an animals attribute that + * is a list containing a member that contains the substring at (for example, + * ["dog", "cat"]): "stringContains": { "key": "animals", + * "value": "at" }

+ */ + inline const FilterAttribute& GetStringContains() const{ return m_stringContains; } + inline bool StringContainsHasBeenSet() const { return m_stringContainsHasBeenSet; } + inline void SetStringContains(const FilterAttribute& value) { m_stringContainsHasBeenSet = true; m_stringContains = value; } + inline void SetStringContains(FilterAttribute&& value) { m_stringContainsHasBeenSet = true; m_stringContains = std::move(value); } + inline RetrievalFilter& WithStringContains(const FilterAttribute& value) { SetStringContains(value); return *this;} + inline RetrievalFilter& WithStringContains(FilterAttribute&& value) { SetStringContains(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Knowledge base data sources are returned if their metadata attributes fulfill + * all the filter conditions inside this list.

+ */ + inline const Aws::Vector& GetAndAll() const{ return m_andAll; } + inline bool AndAllHasBeenSet() const { return m_andAllHasBeenSet; } + inline void SetAndAll(const Aws::Vector& value) { m_andAllHasBeenSet = true; m_andAll = value; } + inline void SetAndAll(Aws::Vector&& value) { m_andAllHasBeenSet = true; m_andAll = std::move(value); } + inline RetrievalFilter& WithAndAll(const Aws::Vector& value) { SetAndAll(value); return *this;} + inline RetrievalFilter& WithAndAll(Aws::Vector&& value) { SetAndAll(std::move(value)); return *this;} + inline RetrievalFilter& AddAndAll(const RetrievalFilter& value) { m_andAllHasBeenSet = true; m_andAll.push_back(value); return *this; } + inline RetrievalFilter& AddAndAll(RetrievalFilter&& value) { m_andAllHasBeenSet = true; m_andAll.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

Knowledge base data sources are returned if their metadata attributes fulfill + * at least one of the filter conditions inside this list.

+ */ + inline const Aws::Vector& GetOrAll() const{ return m_orAll; } + inline bool OrAllHasBeenSet() const { return m_orAllHasBeenSet; } + inline void SetOrAll(const Aws::Vector& value) { m_orAllHasBeenSet = true; m_orAll = value; } + inline void SetOrAll(Aws::Vector&& value) { m_orAllHasBeenSet = true; m_orAll = std::move(value); } + inline RetrievalFilter& WithOrAll(const Aws::Vector& value) { SetOrAll(value); return *this;} + inline RetrievalFilter& WithOrAll(Aws::Vector&& value) { SetOrAll(std::move(value)); return *this;} + inline RetrievalFilter& AddOrAll(const RetrievalFilter& value) { m_orAllHasBeenSet = true; m_orAll.push_back(value); return *this; } + inline RetrievalFilter& AddOrAll(RetrievalFilter&& value) { m_orAllHasBeenSet = true; m_orAll.push_back(std::move(value)); return *this; } + ///@} + private: + + FilterAttribute m_equals; + bool m_equalsHasBeenSet = false; + + FilterAttribute m_notEquals; + bool m_notEqualsHasBeenSet = false; + + FilterAttribute m_greaterThan; + bool m_greaterThanHasBeenSet = false; + + FilterAttribute m_greaterThanOrEquals; + bool m_greaterThanOrEqualsHasBeenSet = false; + + FilterAttribute m_lessThan; + bool m_lessThanHasBeenSet = false; + + FilterAttribute m_lessThanOrEquals; + bool m_lessThanOrEqualsHasBeenSet = false; + + FilterAttribute m_in; + bool m_inHasBeenSet = false; + + FilterAttribute m_notIn; + bool m_notInHasBeenSet = false; + + FilterAttribute m_startsWith; + bool m_startsWithHasBeenSet = false; + + FilterAttribute m_listContains; + bool m_listContainsHasBeenSet = false; + + FilterAttribute m_stringContains; + bool m_stringContainsHasBeenSet = false; + + Aws::Vector m_andAll; + bool m_andAllHasBeenSet = false; + + Aws::Vector m_orAll; + bool m_orAllHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveAndGenerateConfiguration.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveAndGenerateConfiguration.h new file mode 100644 index 00000000000..9c329807526 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveAndGenerateConfiguration.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

Contains configuration details for a knowledge base retrieval and response + * generation.

See Also:

AWS + * API Reference

+ */ + class RetrieveAndGenerateConfiguration + { + public: + AWS_BEDROCK_API RetrieveAndGenerateConfiguration(); + AWS_BEDROCK_API RetrieveAndGenerateConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API RetrieveAndGenerateConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The type of resource that contains your data for retrieving information and + * generating responses.

If you choose to use EXTERNAL_SOURCES, + * then currently only Claude 3 Sonnet models for knowledge bases are + * supported.

+ */ + inline const RetrieveAndGenerateType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RetrieveAndGenerateType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RetrieveAndGenerateType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RetrieveAndGenerateConfiguration& WithType(const RetrieveAndGenerateType& value) { SetType(value); return *this;} + inline RetrieveAndGenerateConfiguration& WithType(RetrieveAndGenerateType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Contains configuration details for the knowledge base retrieval and response + * generation.

+ */ + inline const KnowledgeBaseRetrieveAndGenerateConfiguration& GetKnowledgeBaseConfiguration() const{ return m_knowledgeBaseConfiguration; } + inline bool KnowledgeBaseConfigurationHasBeenSet() const { return m_knowledgeBaseConfigurationHasBeenSet; } + inline void SetKnowledgeBaseConfiguration(const KnowledgeBaseRetrieveAndGenerateConfiguration& value) { m_knowledgeBaseConfigurationHasBeenSet = true; m_knowledgeBaseConfiguration = value; } + inline void SetKnowledgeBaseConfiguration(KnowledgeBaseRetrieveAndGenerateConfiguration&& value) { m_knowledgeBaseConfigurationHasBeenSet = true; m_knowledgeBaseConfiguration = std::move(value); } + inline RetrieveAndGenerateConfiguration& WithKnowledgeBaseConfiguration(const KnowledgeBaseRetrieveAndGenerateConfiguration& value) { SetKnowledgeBaseConfiguration(value); return *this;} + inline RetrieveAndGenerateConfiguration& WithKnowledgeBaseConfiguration(KnowledgeBaseRetrieveAndGenerateConfiguration&& value) { SetKnowledgeBaseConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The configuration for the external source wrapper object in the + * retrieveAndGenerate function.

+ */ + inline const ExternalSourcesRetrieveAndGenerateConfiguration& GetExternalSourcesConfiguration() const{ return m_externalSourcesConfiguration; } + inline bool ExternalSourcesConfigurationHasBeenSet() const { return m_externalSourcesConfigurationHasBeenSet; } + inline void SetExternalSourcesConfiguration(const ExternalSourcesRetrieveAndGenerateConfiguration& value) { m_externalSourcesConfigurationHasBeenSet = true; m_externalSourcesConfiguration = value; } + inline void SetExternalSourcesConfiguration(ExternalSourcesRetrieveAndGenerateConfiguration&& value) { m_externalSourcesConfigurationHasBeenSet = true; m_externalSourcesConfiguration = std::move(value); } + inline RetrieveAndGenerateConfiguration& WithExternalSourcesConfiguration(const ExternalSourcesRetrieveAndGenerateConfiguration& value) { SetExternalSourcesConfiguration(value); return *this;} + inline RetrieveAndGenerateConfiguration& WithExternalSourcesConfiguration(ExternalSourcesRetrieveAndGenerateConfiguration&& value) { SetExternalSourcesConfiguration(std::move(value)); return *this;} + ///@} + private: + + RetrieveAndGenerateType m_type; + bool m_typeHasBeenSet = false; + + KnowledgeBaseRetrieveAndGenerateConfiguration m_knowledgeBaseConfiguration; + bool m_knowledgeBaseConfigurationHasBeenSet = false; + + ExternalSourcesRetrieveAndGenerateConfiguration m_externalSourcesConfiguration; + bool m_externalSourcesConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveAndGenerateType.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveAndGenerateType.h new file mode 100644 index 00000000000..335803c0b95 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveAndGenerateType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + enum class RetrieveAndGenerateType + { + NOT_SET, + KNOWLEDGE_BASE, + EXTERNAL_SOURCES + }; + +namespace RetrieveAndGenerateTypeMapper +{ +AWS_BEDROCK_API RetrieveAndGenerateType GetRetrieveAndGenerateTypeForName(const Aws::String& name); + +AWS_BEDROCK_API Aws::String GetNameForRetrieveAndGenerateType(RetrieveAndGenerateType value); +} // namespace RetrieveAndGenerateTypeMapper +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveConfig.h new file mode 100644 index 00000000000..3049d7e43f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/RetrieveConfig.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The configuration details for retrieving information from a knowledge + * base.

See Also:

AWS + * API Reference

+ */ + class RetrieveConfig + { + public: + AWS_BEDROCK_API RetrieveConfig(); + AWS_BEDROCK_API RetrieveConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API RetrieveConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The unique identifier of the knowledge base.

+ */ + inline const Aws::String& GetKnowledgeBaseId() const{ return m_knowledgeBaseId; } + inline bool KnowledgeBaseIdHasBeenSet() const { return m_knowledgeBaseIdHasBeenSet; } + inline void SetKnowledgeBaseId(const Aws::String& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = value; } + inline void SetKnowledgeBaseId(Aws::String&& value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId = std::move(value); } + inline void SetKnowledgeBaseId(const char* value) { m_knowledgeBaseIdHasBeenSet = true; m_knowledgeBaseId.assign(value); } + inline RetrieveConfig& WithKnowledgeBaseId(const Aws::String& value) { SetKnowledgeBaseId(value); return *this;} + inline RetrieveConfig& WithKnowledgeBaseId(Aws::String&& value) { SetKnowledgeBaseId(std::move(value)); return *this;} + inline RetrieveConfig& WithKnowledgeBaseId(const char* value) { SetKnowledgeBaseId(value); return *this;} + ///@} + + ///@{ + /** + *

Contains configuration details for knowledge base retrieval.

+ */ + inline const KnowledgeBaseRetrievalConfiguration& GetKnowledgeBaseRetrievalConfiguration() const{ return m_knowledgeBaseRetrievalConfiguration; } + inline bool KnowledgeBaseRetrievalConfigurationHasBeenSet() const { return m_knowledgeBaseRetrievalConfigurationHasBeenSet; } + inline void SetKnowledgeBaseRetrievalConfiguration(const KnowledgeBaseRetrievalConfiguration& value) { m_knowledgeBaseRetrievalConfigurationHasBeenSet = true; m_knowledgeBaseRetrievalConfiguration = value; } + inline void SetKnowledgeBaseRetrievalConfiguration(KnowledgeBaseRetrievalConfiguration&& value) { m_knowledgeBaseRetrievalConfigurationHasBeenSet = true; m_knowledgeBaseRetrievalConfiguration = std::move(value); } + inline RetrieveConfig& WithKnowledgeBaseRetrievalConfiguration(const KnowledgeBaseRetrievalConfiguration& value) { SetKnowledgeBaseRetrievalConfiguration(value); return *this;} + inline RetrieveConfig& WithKnowledgeBaseRetrievalConfiguration(KnowledgeBaseRetrievalConfiguration&& value) { SetKnowledgeBaseRetrievalConfiguration(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_knowledgeBaseId; + bool m_knowledgeBaseIdHasBeenSet = false; + + KnowledgeBaseRetrievalConfiguration m_knowledgeBaseRetrievalConfiguration; + bool m_knowledgeBaseRetrievalConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/S3ObjectDoc.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/S3ObjectDoc.h new file mode 100644 index 00000000000..e243417135f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/S3ObjectDoc.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The unique wrapper object of the document from the S3 location.

See + * Also:

AWS + * API Reference

+ */ + class S3ObjectDoc + { + public: + AWS_BEDROCK_API S3ObjectDoc(); + AWS_BEDROCK_API S3ObjectDoc(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API S3ObjectDoc& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The S3 URI location for the wrapper object of the document.

+ */ + inline const Aws::String& GetUri() const{ return m_uri; } + inline bool UriHasBeenSet() const { return m_uriHasBeenSet; } + inline void SetUri(const Aws::String& value) { m_uriHasBeenSet = true; m_uri = value; } + inline void SetUri(Aws::String&& value) { m_uriHasBeenSet = true; m_uri = std::move(value); } + inline void SetUri(const char* value) { m_uriHasBeenSet = true; m_uri.assign(value); } + inline S3ObjectDoc& WithUri(const Aws::String& value) { SetUri(value); return *this;} + inline S3ObjectDoc& WithUri(Aws::String&& value) { SetUri(std::move(value)); return *this;} + inline S3ObjectDoc& WithUri(const char* value) { SetUri(value); return *this;} + ///@} + private: + + Aws::String m_uri; + bool m_uriHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/SearchType.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/SearchType.h new file mode 100644 index 00000000000..ac95b10c048 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/SearchType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + enum class SearchType + { + NOT_SET, + HYBRID, + SEMANTIC + }; + +namespace SearchTypeMapper +{ +AWS_BEDROCK_API SearchType GetSearchTypeForName(const Aws::String& name); + +AWS_BEDROCK_API Aws::String GetNameForSearchType(SearchType value); +} // namespace SearchTypeMapper +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/StopEvaluationJobRequest.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/StopEvaluationJobRequest.h index 53f3f18a581..40e4652e303 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/StopEvaluationJobRequest.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/StopEvaluationJobRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

The ARN of the model evaluation job you want to stop.

+ *

The Amazon Resource Name (ARN) of the evaluation job you want to stop.

*/ inline const Aws::String& GetJobIdentifier() const{ return m_jobIdentifier; } inline bool JobIdentifierHasBeenSet() const { return m_jobIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/TextInferenceConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/TextInferenceConfig.h new file mode 100644 index 00000000000..717a792d711 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/TextInferenceConfig.h @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

The configuration details for text generation using a language model via the + * RetrieveAndGenerate function.

See Also:

AWS + * API Reference

+ */ + class TextInferenceConfig + { + public: + AWS_BEDROCK_API TextInferenceConfig(); + AWS_BEDROCK_API TextInferenceConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API TextInferenceConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Controls the random-ness of text generated by the language model, influencing + * how much the model sticks to the most predictable next words versus exploring + * more surprising options. A lower temperature value (e.g. 0.2 or 0.3) makes model + * outputs more deterministic or predictable, while a higher temperature (e.g. 0.8 + * or 0.9) makes the outputs more creative or unpredictable.

+ */ + inline double GetTemperature() const{ return m_temperature; } + inline bool TemperatureHasBeenSet() const { return m_temperatureHasBeenSet; } + inline void SetTemperature(double value) { m_temperatureHasBeenSet = true; m_temperature = value; } + inline TextInferenceConfig& WithTemperature(double value) { SetTemperature(value); return *this;} + ///@} + + ///@{ + /** + *

A probability distribution threshold which controls what the model considers + * for the set of possible next tokens. The model will only consider the top p% of + * the probability distribution when generating the next token.

+ */ + inline double GetTopP() const{ return m_topP; } + inline bool TopPHasBeenSet() const { return m_topPHasBeenSet; } + inline void SetTopP(double value) { m_topPHasBeenSet = true; m_topP = value; } + inline TextInferenceConfig& WithTopP(double value) { SetTopP(value); return *this;} + ///@} + + ///@{ + /** + *

The maximum number of tokens to generate in the output text. Do not use the + * minimum of 0 or the maximum of 65536. The limit values described here are + * arbitrary values, for actual values consult the limits defined by your specific + * model.

+ */ + inline int GetMaxTokens() const{ return m_maxTokens; } + inline bool MaxTokensHasBeenSet() const { return m_maxTokensHasBeenSet; } + inline void SetMaxTokens(int value) { m_maxTokensHasBeenSet = true; m_maxTokens = value; } + inline TextInferenceConfig& WithMaxTokens(int value) { SetMaxTokens(value); return *this;} + ///@} + + ///@{ + /** + *

A list of sequences of characters that, if generated, will cause the model to + * stop generating further tokens. Do not use a minimum length of 1 or a maximum + * length of 1000. The limit values described here are arbitrary values, for actual + * values consult the limits defined by your specific model.

+ */ + inline const Aws::Vector& GetStopSequences() const{ return m_stopSequences; } + inline bool StopSequencesHasBeenSet() const { return m_stopSequencesHasBeenSet; } + inline void SetStopSequences(const Aws::Vector& value) { m_stopSequencesHasBeenSet = true; m_stopSequences = value; } + inline void SetStopSequences(Aws::Vector&& value) { m_stopSequencesHasBeenSet = true; m_stopSequences = std::move(value); } + inline TextInferenceConfig& WithStopSequences(const Aws::Vector& value) { SetStopSequences(value); return *this;} + inline TextInferenceConfig& WithStopSequences(Aws::Vector&& value) { SetStopSequences(std::move(value)); return *this;} + inline TextInferenceConfig& AddStopSequences(const Aws::String& value) { m_stopSequencesHasBeenSet = true; m_stopSequences.push_back(value); return *this; } + inline TextInferenceConfig& AddStopSequences(Aws::String&& value) { m_stopSequencesHasBeenSet = true; m_stopSequences.push_back(std::move(value)); return *this; } + inline TextInferenceConfig& AddStopSequences(const char* value) { m_stopSequencesHasBeenSet = true; m_stopSequences.push_back(value); return *this; } + ///@} + private: + + double m_temperature; + bool m_temperatureHasBeenSet = false; + + double m_topP; + bool m_topPHasBeenSet = false; + + int m_maxTokens; + bool m_maxTokensHasBeenSet = false; + + Aws::Vector m_stopSequences; + bool m_stopSequencesHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/ApplicationType.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/ApplicationType.cpp new file mode 100644 index 00000000000..cbae93faf51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/ApplicationType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Bedrock + { + namespace Model + { + namespace ApplicationTypeMapper + { + + static const int ModelEvaluation_HASH = HashingUtils::HashString("ModelEvaluation"); + static const int RagEvaluation_HASH = HashingUtils::HashString("RagEvaluation"); + + + ApplicationType GetApplicationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ModelEvaluation_HASH) + { + return ApplicationType::ModelEvaluation; + } + else if (hashCode == RagEvaluation_HASH) + { + return ApplicationType::RagEvaluation; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ApplicationType::NOT_SET; + } + + Aws::String GetNameForApplicationType(ApplicationType enumValue) + { + switch(enumValue) + { + case ApplicationType::NOT_SET: + return {}; + case ApplicationType::ModelEvaluation: + return "ModelEvaluation"; + case ApplicationType::RagEvaluation: + return "RagEvaluation"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ApplicationTypeMapper + } // namespace Model + } // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/AutomatedEvaluationConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/AutomatedEvaluationConfig.cpp index 878bafc4498..53259ccc28a 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/AutomatedEvaluationConfig.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/AutomatedEvaluationConfig.cpp @@ -19,7 +19,8 @@ namespace Model { AutomatedEvaluationConfig::AutomatedEvaluationConfig() : - m_datasetMetricConfigsHasBeenSet(false) + m_datasetMetricConfigsHasBeenSet(false), + m_evaluatorModelConfigHasBeenSet(false) { } @@ -41,6 +42,13 @@ AutomatedEvaluationConfig& AutomatedEvaluationConfig::operator =(JsonView jsonVa m_datasetMetricConfigsHasBeenSet = true; } + if(jsonValue.ValueExists("evaluatorModelConfig")) + { + m_evaluatorModelConfig = jsonValue.GetObject("evaluatorModelConfig"); + + m_evaluatorModelConfigHasBeenSet = true; + } + return *this; } @@ -59,6 +67,12 @@ JsonValue AutomatedEvaluationConfig::Jsonize() const } + if(m_evaluatorModelConfigHasBeenSet) + { + payload.WithObject("evaluatorModelConfig", m_evaluatorModelConfig.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/BedrockEvaluatorModel.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/BedrockEvaluatorModel.cpp new file mode 100644 index 00000000000..182fa6b1d0c --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/BedrockEvaluatorModel.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +BedrockEvaluatorModel::BedrockEvaluatorModel() : + m_modelIdentifierHasBeenSet(false) +{ +} + +BedrockEvaluatorModel::BedrockEvaluatorModel(JsonView jsonValue) + : BedrockEvaluatorModel() +{ + *this = jsonValue; +} + +BedrockEvaluatorModel& BedrockEvaluatorModel::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("modelIdentifier")) + { + m_modelIdentifier = jsonValue.GetString("modelIdentifier"); + + m_modelIdentifierHasBeenSet = true; + } + + return *this; +} + +JsonValue BedrockEvaluatorModel::Jsonize() const +{ + JsonValue payload; + + if(m_modelIdentifierHasBeenSet) + { + payload.WithString("modelIdentifier", m_modelIdentifier); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/ByteContentDoc.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/ByteContentDoc.cpp new file mode 100644 index 00000000000..b567ac79bdc --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/ByteContentDoc.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +ByteContentDoc::ByteContentDoc() : + m_identifierHasBeenSet(false), + m_contentTypeHasBeenSet(false), + m_dataHasBeenSet(false) +{ +} + +ByteContentDoc::ByteContentDoc(JsonView jsonValue) + : ByteContentDoc() +{ + *this = jsonValue; +} + +ByteContentDoc& ByteContentDoc::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("identifier")) + { + m_identifier = jsonValue.GetString("identifier"); + + m_identifierHasBeenSet = true; + } + + if(jsonValue.ValueExists("contentType")) + { + m_contentType = jsonValue.GetString("contentType"); + + m_contentTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("data")) + { + m_data = HashingUtils::Base64Decode(jsonValue.GetString("data")); + m_dataHasBeenSet = true; + } + + return *this; +} + +JsonValue ByteContentDoc::Jsonize() const +{ + JsonValue payload; + + if(m_identifierHasBeenSet) + { + payload.WithString("identifier", m_identifier); + + } + + if(m_contentTypeHasBeenSet) + { + payload.WithString("contentType", m_contentType); + + } + + if(m_dataHasBeenSet) + { + payload.WithString("data", HashingUtils::Base64Encode(m_data)); + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/CreateEvaluationJobRequest.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/CreateEvaluationJobRequest.cpp index 42e4260c3e9..5f05fe76882 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/CreateEvaluationJobRequest.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/CreateEvaluationJobRequest.cpp @@ -20,6 +20,8 @@ CreateEvaluationJobRequest::CreateEvaluationJobRequest() : m_roleArnHasBeenSet(false), m_customerEncryptionKeyIdHasBeenSet(false), m_jobTagsHasBeenSet(false), + m_applicationType(ApplicationType::NOT_SET), + m_applicationTypeHasBeenSet(false), m_evaluationConfigHasBeenSet(false), m_inferenceConfigHasBeenSet(false), m_outputDataConfigHasBeenSet(false) @@ -71,6 +73,11 @@ Aws::String CreateEvaluationJobRequest::SerializePayload() const } + if(m_applicationTypeHasBeenSet) + { + payload.WithString("applicationType", ApplicationTypeMapper::GetNameForApplicationType(m_applicationType)); + } + if(m_evaluationConfigHasBeenSet) { payload.WithObject("evaluationConfig", m_evaluationConfig.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/EvaluationInferenceConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/EvaluationInferenceConfig.cpp index 85d6d1f5c05..016038ea15d 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/EvaluationInferenceConfig.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/EvaluationInferenceConfig.cpp @@ -19,7 +19,8 @@ namespace Model { EvaluationInferenceConfig::EvaluationInferenceConfig() : - m_modelsHasBeenSet(false) + m_modelsHasBeenSet(false), + m_ragConfigsHasBeenSet(false) { } @@ -41,6 +42,16 @@ EvaluationInferenceConfig& EvaluationInferenceConfig::operator =(JsonView jsonVa m_modelsHasBeenSet = true; } + if(jsonValue.ValueExists("ragConfigs")) + { + Aws::Utils::Array ragConfigsJsonList = jsonValue.GetArray("ragConfigs"); + for(unsigned ragConfigsIndex = 0; ragConfigsIndex < ragConfigsJsonList.GetLength(); ++ragConfigsIndex) + { + m_ragConfigs.push_back(ragConfigsJsonList[ragConfigsIndex].AsObject()); + } + m_ragConfigsHasBeenSet = true; + } + return *this; } @@ -59,6 +70,17 @@ JsonValue EvaluationInferenceConfig::Jsonize() const } + if(m_ragConfigsHasBeenSet) + { + Aws::Utils::Array ragConfigsJsonList(m_ragConfigs.size()); + for(unsigned ragConfigsIndex = 0; ragConfigsIndex < ragConfigsJsonList.GetLength(); ++ragConfigsIndex) + { + ragConfigsJsonList[ragConfigsIndex].AsObject(m_ragConfigs[ragConfigsIndex].Jsonize()); + } + payload.WithArray("ragConfigs", std::move(ragConfigsJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/EvaluationSummary.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/EvaluationSummary.cpp index 2b3a6be6934..91a088623f2 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/EvaluationSummary.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/EvaluationSummary.cpp @@ -27,7 +27,11 @@ EvaluationSummary::EvaluationSummary() : m_jobType(EvaluationJobType::NOT_SET), m_jobTypeHasBeenSet(false), m_evaluationTaskTypesHasBeenSet(false), - m_modelIdentifiersHasBeenSet(false) + m_modelIdentifiersHasBeenSet(false), + m_ragIdentifiersHasBeenSet(false), + m_evaluatorModelIdentifiersHasBeenSet(false), + m_applicationType(ApplicationType::NOT_SET), + m_applicationTypeHasBeenSet(false) { } @@ -94,6 +98,33 @@ EvaluationSummary& EvaluationSummary::operator =(JsonView jsonValue) m_modelIdentifiersHasBeenSet = true; } + if(jsonValue.ValueExists("ragIdentifiers")) + { + Aws::Utils::Array ragIdentifiersJsonList = jsonValue.GetArray("ragIdentifiers"); + for(unsigned ragIdentifiersIndex = 0; ragIdentifiersIndex < ragIdentifiersJsonList.GetLength(); ++ragIdentifiersIndex) + { + m_ragIdentifiers.push_back(ragIdentifiersJsonList[ragIdentifiersIndex].AsString()); + } + m_ragIdentifiersHasBeenSet = true; + } + + if(jsonValue.ValueExists("evaluatorModelIdentifiers")) + { + Aws::Utils::Array evaluatorModelIdentifiersJsonList = jsonValue.GetArray("evaluatorModelIdentifiers"); + for(unsigned evaluatorModelIdentifiersIndex = 0; evaluatorModelIdentifiersIndex < evaluatorModelIdentifiersJsonList.GetLength(); ++evaluatorModelIdentifiersIndex) + { + m_evaluatorModelIdentifiers.push_back(evaluatorModelIdentifiersJsonList[evaluatorModelIdentifiersIndex].AsString()); + } + m_evaluatorModelIdentifiersHasBeenSet = true; + } + + if(jsonValue.ValueExists("applicationType")) + { + m_applicationType = ApplicationTypeMapper::GetApplicationTypeForName(jsonValue.GetString("applicationType")); + + m_applicationTypeHasBeenSet = true; + } + return *this; } @@ -150,6 +181,33 @@ JsonValue EvaluationSummary::Jsonize() const } + if(m_ragIdentifiersHasBeenSet) + { + Aws::Utils::Array ragIdentifiersJsonList(m_ragIdentifiers.size()); + for(unsigned ragIdentifiersIndex = 0; ragIdentifiersIndex < ragIdentifiersJsonList.GetLength(); ++ragIdentifiersIndex) + { + ragIdentifiersJsonList[ragIdentifiersIndex].AsString(m_ragIdentifiers[ragIdentifiersIndex]); + } + payload.WithArray("ragIdentifiers", std::move(ragIdentifiersJsonList)); + + } + + if(m_evaluatorModelIdentifiersHasBeenSet) + { + Aws::Utils::Array evaluatorModelIdentifiersJsonList(m_evaluatorModelIdentifiers.size()); + for(unsigned evaluatorModelIdentifiersIndex = 0; evaluatorModelIdentifiersIndex < evaluatorModelIdentifiersJsonList.GetLength(); ++evaluatorModelIdentifiersIndex) + { + evaluatorModelIdentifiersJsonList[evaluatorModelIdentifiersIndex].AsString(m_evaluatorModelIdentifiers[evaluatorModelIdentifiersIndex]); + } + payload.WithArray("evaluatorModelIdentifiers", std::move(evaluatorModelIdentifiersJsonList)); + + } + + if(m_applicationTypeHasBeenSet) + { + payload.WithString("applicationType", ApplicationTypeMapper::GetNameForApplicationType(m_applicationType)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/EvaluatorModelConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/EvaluatorModelConfig.cpp new file mode 100644 index 00000000000..58ed965c44f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/EvaluatorModelConfig.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +EvaluatorModelConfig::EvaluatorModelConfig() : + m_bedrockEvaluatorModelsHasBeenSet(false) +{ +} + +EvaluatorModelConfig::EvaluatorModelConfig(JsonView jsonValue) + : EvaluatorModelConfig() +{ + *this = jsonValue; +} + +EvaluatorModelConfig& EvaluatorModelConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("bedrockEvaluatorModels")) + { + Aws::Utils::Array bedrockEvaluatorModelsJsonList = jsonValue.GetArray("bedrockEvaluatorModels"); + for(unsigned bedrockEvaluatorModelsIndex = 0; bedrockEvaluatorModelsIndex < bedrockEvaluatorModelsJsonList.GetLength(); ++bedrockEvaluatorModelsIndex) + { + m_bedrockEvaluatorModels.push_back(bedrockEvaluatorModelsJsonList[bedrockEvaluatorModelsIndex].AsObject()); + } + m_bedrockEvaluatorModelsHasBeenSet = true; + } + + return *this; +} + +JsonValue EvaluatorModelConfig::Jsonize() const +{ + JsonValue payload; + + if(m_bedrockEvaluatorModelsHasBeenSet) + { + Aws::Utils::Array bedrockEvaluatorModelsJsonList(m_bedrockEvaluatorModels.size()); + for(unsigned bedrockEvaluatorModelsIndex = 0; bedrockEvaluatorModelsIndex < bedrockEvaluatorModelsJsonList.GetLength(); ++bedrockEvaluatorModelsIndex) + { + bedrockEvaluatorModelsJsonList[bedrockEvaluatorModelsIndex].AsObject(m_bedrockEvaluatorModels[bedrockEvaluatorModelsIndex].Jsonize()); + } + payload.WithArray("bedrockEvaluatorModels", std::move(bedrockEvaluatorModelsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSource.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSource.cpp new file mode 100644 index 00000000000..db406b05a84 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSource.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +ExternalSource::ExternalSource() : + m_sourceType(ExternalSourceType::NOT_SET), + m_sourceTypeHasBeenSet(false), + m_s3LocationHasBeenSet(false), + m_byteContentHasBeenSet(false) +{ +} + +ExternalSource::ExternalSource(JsonView jsonValue) + : ExternalSource() +{ + *this = jsonValue; +} + +ExternalSource& ExternalSource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("sourceType")) + { + m_sourceType = ExternalSourceTypeMapper::GetExternalSourceTypeForName(jsonValue.GetString("sourceType")); + + m_sourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("s3Location")) + { + m_s3Location = jsonValue.GetObject("s3Location"); + + m_s3LocationHasBeenSet = true; + } + + if(jsonValue.ValueExists("byteContent")) + { + m_byteContent = jsonValue.GetObject("byteContent"); + + m_byteContentHasBeenSet = true; + } + + return *this; +} + +JsonValue ExternalSource::Jsonize() const +{ + JsonValue payload; + + if(m_sourceTypeHasBeenSet) + { + payload.WithString("sourceType", ExternalSourceTypeMapper::GetNameForExternalSourceType(m_sourceType)); + } + + if(m_s3LocationHasBeenSet) + { + payload.WithObject("s3Location", m_s3Location.Jsonize()); + + } + + if(m_byteContentHasBeenSet) + { + payload.WithObject("byteContent", m_byteContent.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourceType.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourceType.cpp new file mode 100644 index 00000000000..b63c5457785 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourceType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Bedrock + { + namespace Model + { + namespace ExternalSourceTypeMapper + { + + static const int S3_HASH = HashingUtils::HashString("S3"); + static const int BYTE_CONTENT_HASH = HashingUtils::HashString("BYTE_CONTENT"); + + + ExternalSourceType GetExternalSourceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == S3_HASH) + { + return ExternalSourceType::S3; + } + else if (hashCode == BYTE_CONTENT_HASH) + { + return ExternalSourceType::BYTE_CONTENT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ExternalSourceType::NOT_SET; + } + + Aws::String GetNameForExternalSourceType(ExternalSourceType enumValue) + { + switch(enumValue) + { + case ExternalSourceType::NOT_SET: + return {}; + case ExternalSourceType::S3: + return "S3"; + case ExternalSourceType::BYTE_CONTENT: + return "BYTE_CONTENT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ExternalSourceTypeMapper + } // namespace Model + } // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourcesGenerationConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourcesGenerationConfiguration.cpp new file mode 100644 index 00000000000..b805b28f38b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourcesGenerationConfiguration.cpp @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +ExternalSourcesGenerationConfiguration::ExternalSourcesGenerationConfiguration() : + m_promptTemplateHasBeenSet(false), + m_guardrailConfigurationHasBeenSet(false), + m_kbInferenceConfigHasBeenSet(false), + m_additionalModelRequestFieldsHasBeenSet(false) +{ +} + +ExternalSourcesGenerationConfiguration::ExternalSourcesGenerationConfiguration(JsonView jsonValue) + : ExternalSourcesGenerationConfiguration() +{ + *this = jsonValue; +} + +ExternalSourcesGenerationConfiguration& ExternalSourcesGenerationConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("promptTemplate")) + { + m_promptTemplate = jsonValue.GetObject("promptTemplate"); + + m_promptTemplateHasBeenSet = true; + } + + if(jsonValue.ValueExists("guardrailConfiguration")) + { + m_guardrailConfiguration = jsonValue.GetObject("guardrailConfiguration"); + + m_guardrailConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("kbInferenceConfig")) + { + m_kbInferenceConfig = jsonValue.GetObject("kbInferenceConfig"); + + m_kbInferenceConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("additionalModelRequestFields")) + { + Aws::Map additionalModelRequestFieldsJsonMap = jsonValue.GetObject("additionalModelRequestFields").GetAllObjects(); + for(auto& additionalModelRequestFieldsItem : additionalModelRequestFieldsJsonMap) + { + m_additionalModelRequestFields[additionalModelRequestFieldsItem.first] = additionalModelRequestFieldsItem.second.AsObject(); + } + m_additionalModelRequestFieldsHasBeenSet = true; + } + + return *this; +} + +JsonValue ExternalSourcesGenerationConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_promptTemplateHasBeenSet) + { + payload.WithObject("promptTemplate", m_promptTemplate.Jsonize()); + + } + + if(m_guardrailConfigurationHasBeenSet) + { + payload.WithObject("guardrailConfiguration", m_guardrailConfiguration.Jsonize()); + + } + + if(m_kbInferenceConfigHasBeenSet) + { + payload.WithObject("kbInferenceConfig", m_kbInferenceConfig.Jsonize()); + + } + + if(m_additionalModelRequestFieldsHasBeenSet) + { + JsonValue additionalModelRequestFieldsJsonMap; + for(auto& additionalModelRequestFieldsItem : m_additionalModelRequestFields) + { + additionalModelRequestFieldsJsonMap.WithObject(additionalModelRequestFieldsItem.first, additionalModelRequestFieldsItem.second.View()); + } + payload.WithObject("additionalModelRequestFields", std::move(additionalModelRequestFieldsJsonMap)); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourcesRetrieveAndGenerateConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourcesRetrieveAndGenerateConfiguration.cpp new file mode 100644 index 00000000000..8554a4950df --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/ExternalSourcesRetrieveAndGenerateConfiguration.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +ExternalSourcesRetrieveAndGenerateConfiguration::ExternalSourcesRetrieveAndGenerateConfiguration() : + m_modelArnHasBeenSet(false), + m_sourcesHasBeenSet(false), + m_generationConfigurationHasBeenSet(false) +{ +} + +ExternalSourcesRetrieveAndGenerateConfiguration::ExternalSourcesRetrieveAndGenerateConfiguration(JsonView jsonValue) + : ExternalSourcesRetrieveAndGenerateConfiguration() +{ + *this = jsonValue; +} + +ExternalSourcesRetrieveAndGenerateConfiguration& ExternalSourcesRetrieveAndGenerateConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("modelArn")) + { + m_modelArn = jsonValue.GetString("modelArn"); + + m_modelArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("sources")) + { + Aws::Utils::Array sourcesJsonList = jsonValue.GetArray("sources"); + for(unsigned sourcesIndex = 0; sourcesIndex < sourcesJsonList.GetLength(); ++sourcesIndex) + { + m_sources.push_back(sourcesJsonList[sourcesIndex].AsObject()); + } + m_sourcesHasBeenSet = true; + } + + if(jsonValue.ValueExists("generationConfiguration")) + { + m_generationConfiguration = jsonValue.GetObject("generationConfiguration"); + + m_generationConfigurationHasBeenSet = true; + } + + return *this; +} + +JsonValue ExternalSourcesRetrieveAndGenerateConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_modelArnHasBeenSet) + { + payload.WithString("modelArn", m_modelArn); + + } + + if(m_sourcesHasBeenSet) + { + Aws::Utils::Array sourcesJsonList(m_sources.size()); + for(unsigned sourcesIndex = 0; sourcesIndex < sourcesJsonList.GetLength(); ++sourcesIndex) + { + sourcesJsonList[sourcesIndex].AsObject(m_sources[sourcesIndex].Jsonize()); + } + payload.WithArray("sources", std::move(sourcesJsonList)); + + } + + if(m_generationConfigurationHasBeenSet) + { + payload.WithObject("generationConfiguration", m_generationConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/FilterAttribute.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/FilterAttribute.cpp new file mode 100644 index 00000000000..8ec52e584ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/FilterAttribute.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +FilterAttribute::FilterAttribute() : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +FilterAttribute::FilterAttribute(JsonView jsonValue) + : FilterAttribute() +{ + *this = jsonValue; +} + +FilterAttribute& FilterAttribute::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("key")) + { + m_key = jsonValue.GetString("key"); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetObject("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue FilterAttribute::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("key", m_key); + + } + + if(m_valueHasBeenSet) + { + if(!m_value.View().IsNull()) + { + payload.WithObject("value", JsonValue(m_value.View())); + } + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GenerationConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GenerationConfiguration.cpp new file mode 100644 index 00000000000..4a79caa1eb7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GenerationConfiguration.cpp @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +GenerationConfiguration::GenerationConfiguration() : + m_promptTemplateHasBeenSet(false), + m_guardrailConfigurationHasBeenSet(false), + m_kbInferenceConfigHasBeenSet(false), + m_additionalModelRequestFieldsHasBeenSet(false) +{ +} + +GenerationConfiguration::GenerationConfiguration(JsonView jsonValue) + : GenerationConfiguration() +{ + *this = jsonValue; +} + +GenerationConfiguration& GenerationConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("promptTemplate")) + { + m_promptTemplate = jsonValue.GetObject("promptTemplate"); + + m_promptTemplateHasBeenSet = true; + } + + if(jsonValue.ValueExists("guardrailConfiguration")) + { + m_guardrailConfiguration = jsonValue.GetObject("guardrailConfiguration"); + + m_guardrailConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("kbInferenceConfig")) + { + m_kbInferenceConfig = jsonValue.GetObject("kbInferenceConfig"); + + m_kbInferenceConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("additionalModelRequestFields")) + { + Aws::Map additionalModelRequestFieldsJsonMap = jsonValue.GetObject("additionalModelRequestFields").GetAllObjects(); + for(auto& additionalModelRequestFieldsItem : additionalModelRequestFieldsJsonMap) + { + m_additionalModelRequestFields[additionalModelRequestFieldsItem.first] = additionalModelRequestFieldsItem.second.AsObject(); + } + m_additionalModelRequestFieldsHasBeenSet = true; + } + + return *this; +} + +JsonValue GenerationConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_promptTemplateHasBeenSet) + { + payload.WithObject("promptTemplate", m_promptTemplate.Jsonize()); + + } + + if(m_guardrailConfigurationHasBeenSet) + { + payload.WithObject("guardrailConfiguration", m_guardrailConfiguration.Jsonize()); + + } + + if(m_kbInferenceConfigHasBeenSet) + { + payload.WithObject("kbInferenceConfig", m_kbInferenceConfig.Jsonize()); + + } + + if(m_additionalModelRequestFieldsHasBeenSet) + { + JsonValue additionalModelRequestFieldsJsonMap; + for(auto& additionalModelRequestFieldsItem : m_additionalModelRequestFields) + { + additionalModelRequestFieldsJsonMap.WithObject(additionalModelRequestFieldsItem.first, additionalModelRequestFieldsItem.second.View()); + } + payload.WithObject("additionalModelRequestFields", std::move(additionalModelRequestFieldsJsonMap)); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GetEvaluationJobResult.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GetEvaluationJobResult.cpp index f8416ef3488..f49b5d1fd52 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/GetEvaluationJobResult.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GetEvaluationJobResult.cpp @@ -19,7 +19,8 @@ using namespace Aws; GetEvaluationJobResult::GetEvaluationJobResult() : m_status(EvaluationJobStatus::NOT_SET), - m_jobType(EvaluationJobType::NOT_SET) + m_jobType(EvaluationJobType::NOT_SET), + m_applicationType(ApplicationType::NOT_SET) { } @@ -74,6 +75,12 @@ GetEvaluationJobResult& GetEvaluationJobResult::operator =(const Aws::AmazonWebS } + if(jsonValue.ValueExists("applicationType")) + { + m_applicationType = ApplicationTypeMapper::GetApplicationTypeForName(jsonValue.GetString("applicationType")); + + } + if(jsonValue.ValueExists("evaluationConfig")) { m_evaluationConfig = jsonValue.GetObject("evaluationConfig"); diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailConfiguration.cpp new file mode 100644 index 00000000000..21a6e8c7f0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailConfiguration.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +GuardrailConfiguration::GuardrailConfiguration() : + m_guardrailIdHasBeenSet(false), + m_guardrailVersionHasBeenSet(false) +{ +} + +GuardrailConfiguration::GuardrailConfiguration(JsonView jsonValue) + : GuardrailConfiguration() +{ + *this = jsonValue; +} + +GuardrailConfiguration& GuardrailConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("guardrailId")) + { + m_guardrailId = jsonValue.GetString("guardrailId"); + + m_guardrailIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("guardrailVersion")) + { + m_guardrailVersion = jsonValue.GetString("guardrailVersion"); + + m_guardrailVersionHasBeenSet = true; + } + + return *this; +} + +JsonValue GuardrailConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_guardrailIdHasBeenSet) + { + payload.WithString("guardrailId", m_guardrailId); + + } + + if(m_guardrailVersionHasBeenSet) + { + payload.WithString("guardrailVersion", m_guardrailVersion); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/KbInferenceConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/KbInferenceConfig.cpp new file mode 100644 index 00000000000..dc68805c734 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/KbInferenceConfig.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +KbInferenceConfig::KbInferenceConfig() : + m_textInferenceConfigHasBeenSet(false) +{ +} + +KbInferenceConfig::KbInferenceConfig(JsonView jsonValue) + : KbInferenceConfig() +{ + *this = jsonValue; +} + +KbInferenceConfig& KbInferenceConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("textInferenceConfig")) + { + m_textInferenceConfig = jsonValue.GetObject("textInferenceConfig"); + + m_textInferenceConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue KbInferenceConfig::Jsonize() const +{ + JsonValue payload; + + if(m_textInferenceConfigHasBeenSet) + { + payload.WithObject("textInferenceConfig", m_textInferenceConfig.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseConfig.cpp new file mode 100644 index 00000000000..d3af54cf7a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseConfig.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +KnowledgeBaseConfig::KnowledgeBaseConfig() : + m_retrieveConfigHasBeenSet(false), + m_retrieveAndGenerateConfigHasBeenSet(false) +{ +} + +KnowledgeBaseConfig::KnowledgeBaseConfig(JsonView jsonValue) + : KnowledgeBaseConfig() +{ + *this = jsonValue; +} + +KnowledgeBaseConfig& KnowledgeBaseConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("retrieveConfig")) + { + m_retrieveConfig = jsonValue.GetObject("retrieveConfig"); + + m_retrieveConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("retrieveAndGenerateConfig")) + { + m_retrieveAndGenerateConfig = jsonValue.GetObject("retrieveAndGenerateConfig"); + + m_retrieveAndGenerateConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue KnowledgeBaseConfig::Jsonize() const +{ + JsonValue payload; + + if(m_retrieveConfigHasBeenSet) + { + payload.WithObject("retrieveConfig", m_retrieveConfig.Jsonize()); + + } + + if(m_retrieveAndGenerateConfigHasBeenSet) + { + payload.WithObject("retrieveAndGenerateConfig", m_retrieveAndGenerateConfig.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseRetrievalConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseRetrievalConfiguration.cpp new file mode 100644 index 00000000000..80efd44a347 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseRetrievalConfiguration.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +KnowledgeBaseRetrievalConfiguration::KnowledgeBaseRetrievalConfiguration() : + m_vectorSearchConfigurationHasBeenSet(false) +{ +} + +KnowledgeBaseRetrievalConfiguration::KnowledgeBaseRetrievalConfiguration(JsonView jsonValue) + : KnowledgeBaseRetrievalConfiguration() +{ + *this = jsonValue; +} + +KnowledgeBaseRetrievalConfiguration& KnowledgeBaseRetrievalConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("vectorSearchConfiguration")) + { + m_vectorSearchConfiguration = jsonValue.GetObject("vectorSearchConfiguration"); + + m_vectorSearchConfigurationHasBeenSet = true; + } + + return *this; +} + +JsonValue KnowledgeBaseRetrievalConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_vectorSearchConfigurationHasBeenSet) + { + payload.WithObject("vectorSearchConfiguration", m_vectorSearchConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseRetrieveAndGenerateConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseRetrieveAndGenerateConfiguration.cpp new file mode 100644 index 00000000000..a7a0b582e6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseRetrieveAndGenerateConfiguration.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +KnowledgeBaseRetrieveAndGenerateConfiguration::KnowledgeBaseRetrieveAndGenerateConfiguration() : + m_knowledgeBaseIdHasBeenSet(false), + m_modelArnHasBeenSet(false), + m_retrievalConfigurationHasBeenSet(false), + m_generationConfigurationHasBeenSet(false), + m_orchestrationConfigurationHasBeenSet(false) +{ +} + +KnowledgeBaseRetrieveAndGenerateConfiguration::KnowledgeBaseRetrieveAndGenerateConfiguration(JsonView jsonValue) + : KnowledgeBaseRetrieveAndGenerateConfiguration() +{ + *this = jsonValue; +} + +KnowledgeBaseRetrieveAndGenerateConfiguration& KnowledgeBaseRetrieveAndGenerateConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("knowledgeBaseId")) + { + m_knowledgeBaseId = jsonValue.GetString("knowledgeBaseId"); + + m_knowledgeBaseIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("modelArn")) + { + m_modelArn = jsonValue.GetString("modelArn"); + + m_modelArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("retrievalConfiguration")) + { + m_retrievalConfiguration = jsonValue.GetObject("retrievalConfiguration"); + + m_retrievalConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("generationConfiguration")) + { + m_generationConfiguration = jsonValue.GetObject("generationConfiguration"); + + m_generationConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("orchestrationConfiguration")) + { + m_orchestrationConfiguration = jsonValue.GetObject("orchestrationConfiguration"); + + m_orchestrationConfigurationHasBeenSet = true; + } + + return *this; +} + +JsonValue KnowledgeBaseRetrieveAndGenerateConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_knowledgeBaseIdHasBeenSet) + { + payload.WithString("knowledgeBaseId", m_knowledgeBaseId); + + } + + if(m_modelArnHasBeenSet) + { + payload.WithString("modelArn", m_modelArn); + + } + + if(m_retrievalConfigurationHasBeenSet) + { + payload.WithObject("retrievalConfiguration", m_retrievalConfiguration.Jsonize()); + + } + + if(m_generationConfigurationHasBeenSet) + { + payload.WithObject("generationConfiguration", m_generationConfiguration.Jsonize()); + + } + + if(m_orchestrationConfigurationHasBeenSet) + { + payload.WithObject("orchestrationConfiguration", m_orchestrationConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseVectorSearchConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseVectorSearchConfiguration.cpp new file mode 100644 index 00000000000..959c7cfd17d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/KnowledgeBaseVectorSearchConfiguration.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +KnowledgeBaseVectorSearchConfiguration::KnowledgeBaseVectorSearchConfiguration() : + m_numberOfResults(0), + m_numberOfResultsHasBeenSet(false), + m_overrideSearchType(SearchType::NOT_SET), + m_overrideSearchTypeHasBeenSet(false), + m_filterHasBeenSet(false) +{ +} + +KnowledgeBaseVectorSearchConfiguration::KnowledgeBaseVectorSearchConfiguration(JsonView jsonValue) + : KnowledgeBaseVectorSearchConfiguration() +{ + *this = jsonValue; +} + +KnowledgeBaseVectorSearchConfiguration& KnowledgeBaseVectorSearchConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("numberOfResults")) + { + m_numberOfResults = jsonValue.GetInteger("numberOfResults"); + + m_numberOfResultsHasBeenSet = true; + } + + if(jsonValue.ValueExists("overrideSearchType")) + { + m_overrideSearchType = SearchTypeMapper::GetSearchTypeForName(jsonValue.GetString("overrideSearchType")); + + m_overrideSearchTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("filter")) + { + m_filter = jsonValue.GetObject("filter"); + + m_filterHasBeenSet = true; + } + + return *this; +} + +JsonValue KnowledgeBaseVectorSearchConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_numberOfResultsHasBeenSet) + { + payload.WithInteger("numberOfResults", m_numberOfResults); + + } + + if(m_overrideSearchTypeHasBeenSet) + { + payload.WithString("overrideSearchType", SearchTypeMapper::GetNameForSearchType(m_overrideSearchType)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/ListEvaluationJobsRequest.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/ListEvaluationJobsRequest.cpp index a59ae9dde72..aa9c6e9c626 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/ListEvaluationJobsRequest.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/ListEvaluationJobsRequest.cpp @@ -20,6 +20,8 @@ ListEvaluationJobsRequest::ListEvaluationJobsRequest() : m_creationTimeBeforeHasBeenSet(false), m_statusEquals(EvaluationJobStatus::NOT_SET), m_statusEqualsHasBeenSet(false), + m_applicationTypeEquals(ApplicationType::NOT_SET), + m_applicationTypeEqualsHasBeenSet(false), m_nameContainsHasBeenSet(false), m_maxResults(0), m_maxResultsHasBeenSet(false), @@ -60,6 +62,13 @@ void ListEvaluationJobsRequest::AddQueryStringParameters(URI& uri) const ss.str(""); } + if(m_applicationTypeEqualsHasBeenSet) + { + ss << ApplicationTypeMapper::GetNameForApplicationType(m_applicationTypeEquals); + uri.AddQueryStringParameter("applicationTypeEquals", ss.str()); + ss.str(""); + } + if(m_nameContainsHasBeenSet) { ss << m_nameContains; diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/OrchestrationConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/OrchestrationConfiguration.cpp new file mode 100644 index 00000000000..df9c3c06c6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/OrchestrationConfiguration.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +OrchestrationConfiguration::OrchestrationConfiguration() : + m_queryTransformationConfigurationHasBeenSet(false) +{ +} + +OrchestrationConfiguration::OrchestrationConfiguration(JsonView jsonValue) + : OrchestrationConfiguration() +{ + *this = jsonValue; +} + +OrchestrationConfiguration& OrchestrationConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("queryTransformationConfiguration")) + { + m_queryTransformationConfiguration = jsonValue.GetObject("queryTransformationConfiguration"); + + m_queryTransformationConfigurationHasBeenSet = true; + } + + return *this; +} + +JsonValue OrchestrationConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_queryTransformationConfigurationHasBeenSet) + { + payload.WithObject("queryTransformationConfiguration", m_queryTransformationConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/PromptTemplate.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/PromptTemplate.cpp new file mode 100644 index 00000000000..32566523a50 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/PromptTemplate.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +PromptTemplate::PromptTemplate() : + m_textPromptTemplateHasBeenSet(false) +{ +} + +PromptTemplate::PromptTemplate(JsonView jsonValue) + : PromptTemplate() +{ + *this = jsonValue; +} + +PromptTemplate& PromptTemplate::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("textPromptTemplate")) + { + m_textPromptTemplate = jsonValue.GetString("textPromptTemplate"); + + m_textPromptTemplateHasBeenSet = true; + } + + return *this; +} + +JsonValue PromptTemplate::Jsonize() const +{ + JsonValue payload; + + if(m_textPromptTemplateHasBeenSet) + { + payload.WithString("textPromptTemplate", m_textPromptTemplate); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/QueryTransformationConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/QueryTransformationConfiguration.cpp new file mode 100644 index 00000000000..4dac5469d0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/QueryTransformationConfiguration.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +QueryTransformationConfiguration::QueryTransformationConfiguration() : + m_type(QueryTransformationType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +QueryTransformationConfiguration::QueryTransformationConfiguration(JsonView jsonValue) + : QueryTransformationConfiguration() +{ + *this = jsonValue; +} + +QueryTransformationConfiguration& QueryTransformationConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = QueryTransformationTypeMapper::GetQueryTransformationTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue QueryTransformationConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", QueryTransformationTypeMapper::GetNameForQueryTransformationType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/QueryTransformationType.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/QueryTransformationType.cpp new file mode 100644 index 00000000000..2a052b38a88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/QueryTransformationType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Bedrock + { + namespace Model + { + namespace QueryTransformationTypeMapper + { + + static const int QUERY_DECOMPOSITION_HASH = HashingUtils::HashString("QUERY_DECOMPOSITION"); + + + QueryTransformationType GetQueryTransformationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == QUERY_DECOMPOSITION_HASH) + { + return QueryTransformationType::QUERY_DECOMPOSITION; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return QueryTransformationType::NOT_SET; + } + + Aws::String GetNameForQueryTransformationType(QueryTransformationType enumValue) + { + switch(enumValue) + { + case QueryTransformationType::NOT_SET: + return {}; + case QueryTransformationType::QUERY_DECOMPOSITION: + return "QUERY_DECOMPOSITION"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace QueryTransformationTypeMapper + } // namespace Model + } // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/RAGConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/RAGConfig.cpp new file mode 100644 index 00000000000..4b6f6f28d9b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/RAGConfig.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +RAGConfig::RAGConfig() : + m_knowledgeBaseConfigHasBeenSet(false) +{ +} + +RAGConfig::RAGConfig(JsonView jsonValue) + : RAGConfig() +{ + *this = jsonValue; +} + +RAGConfig& RAGConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("knowledgeBaseConfig")) + { + m_knowledgeBaseConfig = jsonValue.GetObject("knowledgeBaseConfig"); + + m_knowledgeBaseConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue RAGConfig::Jsonize() const +{ + JsonValue payload; + + if(m_knowledgeBaseConfigHasBeenSet) + { + payload.WithObject("knowledgeBaseConfig", m_knowledgeBaseConfig.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/RetrievalFilter.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/RetrievalFilter.cpp new file mode 100644 index 00000000000..4e787edd118 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/RetrievalFilter.cpp @@ -0,0 +1,243 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +RetrievalFilter::RetrievalFilter() : + m_equalsHasBeenSet(false), + m_notEqualsHasBeenSet(false), + m_greaterThanHasBeenSet(false), + m_greaterThanOrEqualsHasBeenSet(false), + m_lessThanHasBeenSet(false), + m_lessThanOrEqualsHasBeenSet(false), + m_inHasBeenSet(false), + m_notInHasBeenSet(false), + m_startsWithHasBeenSet(false), + m_listContainsHasBeenSet(false), + m_stringContainsHasBeenSet(false), + m_andAllHasBeenSet(false), + m_orAllHasBeenSet(false) +{ +} + +RetrievalFilter::RetrievalFilter(JsonView jsonValue) + : RetrievalFilter() +{ + *this = jsonValue; +} + +RetrievalFilter& RetrievalFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("equals")) + { + m_equals = jsonValue.GetObject("equals"); + + m_equalsHasBeenSet = true; + } + + if(jsonValue.ValueExists("notEquals")) + { + m_notEquals = jsonValue.GetObject("notEquals"); + + m_notEqualsHasBeenSet = true; + } + + if(jsonValue.ValueExists("greaterThan")) + { + m_greaterThan = jsonValue.GetObject("greaterThan"); + + m_greaterThanHasBeenSet = true; + } + + if(jsonValue.ValueExists("greaterThanOrEquals")) + { + m_greaterThanOrEquals = jsonValue.GetObject("greaterThanOrEquals"); + + m_greaterThanOrEqualsHasBeenSet = true; + } + + if(jsonValue.ValueExists("lessThan")) + { + m_lessThan = jsonValue.GetObject("lessThan"); + + m_lessThanHasBeenSet = true; + } + + if(jsonValue.ValueExists("lessThanOrEquals")) + { + m_lessThanOrEquals = jsonValue.GetObject("lessThanOrEquals"); + + m_lessThanOrEqualsHasBeenSet = true; + } + + if(jsonValue.ValueExists("in")) + { + m_in = jsonValue.GetObject("in"); + + m_inHasBeenSet = true; + } + + if(jsonValue.ValueExists("notIn")) + { + m_notIn = jsonValue.GetObject("notIn"); + + m_notInHasBeenSet = true; + } + + if(jsonValue.ValueExists("startsWith")) + { + m_startsWith = jsonValue.GetObject("startsWith"); + + m_startsWithHasBeenSet = true; + } + + if(jsonValue.ValueExists("listContains")) + { + m_listContains = jsonValue.GetObject("listContains"); + + m_listContainsHasBeenSet = true; + } + + if(jsonValue.ValueExists("stringContains")) + { + m_stringContains = jsonValue.GetObject("stringContains"); + + m_stringContainsHasBeenSet = true; + } + + if(jsonValue.ValueExists("andAll")) + { + Aws::Utils::Array andAllJsonList = jsonValue.GetArray("andAll"); + for(unsigned andAllIndex = 0; andAllIndex < andAllJsonList.GetLength(); ++andAllIndex) + { + m_andAll.push_back(andAllJsonList[andAllIndex].AsObject()); + } + m_andAllHasBeenSet = true; + } + + if(jsonValue.ValueExists("orAll")) + { + Aws::Utils::Array orAllJsonList = jsonValue.GetArray("orAll"); + for(unsigned orAllIndex = 0; orAllIndex < orAllJsonList.GetLength(); ++orAllIndex) + { + m_orAll.push_back(orAllJsonList[orAllIndex].AsObject()); + } + m_orAllHasBeenSet = true; + } + + return *this; +} + +JsonValue RetrievalFilter::Jsonize() const +{ + JsonValue payload; + + if(m_equalsHasBeenSet) + { + payload.WithObject("equals", m_equals.Jsonize()); + + } + + if(m_notEqualsHasBeenSet) + { + payload.WithObject("notEquals", m_notEquals.Jsonize()); + + } + + if(m_greaterThanHasBeenSet) + { + payload.WithObject("greaterThan", m_greaterThan.Jsonize()); + + } + + if(m_greaterThanOrEqualsHasBeenSet) + { + payload.WithObject("greaterThanOrEquals", m_greaterThanOrEquals.Jsonize()); + + } + + if(m_lessThanHasBeenSet) + { + payload.WithObject("lessThan", m_lessThan.Jsonize()); + + } + + if(m_lessThanOrEqualsHasBeenSet) + { + payload.WithObject("lessThanOrEquals", m_lessThanOrEquals.Jsonize()); + + } + + if(m_inHasBeenSet) + { + payload.WithObject("in", m_in.Jsonize()); + + } + + if(m_notInHasBeenSet) + { + payload.WithObject("notIn", m_notIn.Jsonize()); + + } + + if(m_startsWithHasBeenSet) + { + payload.WithObject("startsWith", m_startsWith.Jsonize()); + + } + + if(m_listContainsHasBeenSet) + { + payload.WithObject("listContains", m_listContains.Jsonize()); + + } + + if(m_stringContainsHasBeenSet) + { + payload.WithObject("stringContains", m_stringContains.Jsonize()); + + } + + if(m_andAllHasBeenSet) + { + Aws::Utils::Array andAllJsonList(m_andAll.size()); + for(unsigned andAllIndex = 0; andAllIndex < andAllJsonList.GetLength(); ++andAllIndex) + { + andAllJsonList[andAllIndex].AsObject(m_andAll[andAllIndex].Jsonize()); + } + payload.WithArray("andAll", std::move(andAllJsonList)); + + } + + if(m_orAllHasBeenSet) + { + Aws::Utils::Array orAllJsonList(m_orAll.size()); + for(unsigned orAllIndex = 0; orAllIndex < orAllJsonList.GetLength(); ++orAllIndex) + { + orAllJsonList[orAllIndex].AsObject(m_orAll[orAllIndex].Jsonize()); + } + payload.WithArray("orAll", std::move(orAllJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveAndGenerateConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveAndGenerateConfiguration.cpp new file mode 100644 index 00000000000..d565900ca13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveAndGenerateConfiguration.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +RetrieveAndGenerateConfiguration::RetrieveAndGenerateConfiguration() : + m_type(RetrieveAndGenerateType::NOT_SET), + m_typeHasBeenSet(false), + m_knowledgeBaseConfigurationHasBeenSet(false), + m_externalSourcesConfigurationHasBeenSet(false) +{ +} + +RetrieveAndGenerateConfiguration::RetrieveAndGenerateConfiguration(JsonView jsonValue) + : RetrieveAndGenerateConfiguration() +{ + *this = jsonValue; +} + +RetrieveAndGenerateConfiguration& RetrieveAndGenerateConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = RetrieveAndGenerateTypeMapper::GetRetrieveAndGenerateTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("knowledgeBaseConfiguration")) + { + m_knowledgeBaseConfiguration = jsonValue.GetObject("knowledgeBaseConfiguration"); + + m_knowledgeBaseConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("externalSourcesConfiguration")) + { + m_externalSourcesConfiguration = jsonValue.GetObject("externalSourcesConfiguration"); + + m_externalSourcesConfigurationHasBeenSet = true; + } + + return *this; +} + +JsonValue RetrieveAndGenerateConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", RetrieveAndGenerateTypeMapper::GetNameForRetrieveAndGenerateType(m_type)); + } + + if(m_knowledgeBaseConfigurationHasBeenSet) + { + payload.WithObject("knowledgeBaseConfiguration", m_knowledgeBaseConfiguration.Jsonize()); + + } + + if(m_externalSourcesConfigurationHasBeenSet) + { + payload.WithObject("externalSourcesConfiguration", m_externalSourcesConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveAndGenerateType.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveAndGenerateType.cpp new file mode 100644 index 00000000000..d2510bbaaef --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveAndGenerateType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Bedrock + { + namespace Model + { + namespace RetrieveAndGenerateTypeMapper + { + + static const int KNOWLEDGE_BASE_HASH = HashingUtils::HashString("KNOWLEDGE_BASE"); + static const int EXTERNAL_SOURCES_HASH = HashingUtils::HashString("EXTERNAL_SOURCES"); + + + RetrieveAndGenerateType GetRetrieveAndGenerateTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == KNOWLEDGE_BASE_HASH) + { + return RetrieveAndGenerateType::KNOWLEDGE_BASE; + } + else if (hashCode == EXTERNAL_SOURCES_HASH) + { + return RetrieveAndGenerateType::EXTERNAL_SOURCES; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RetrieveAndGenerateType::NOT_SET; + } + + Aws::String GetNameForRetrieveAndGenerateType(RetrieveAndGenerateType enumValue) + { + switch(enumValue) + { + case RetrieveAndGenerateType::NOT_SET: + return {}; + case RetrieveAndGenerateType::KNOWLEDGE_BASE: + return "KNOWLEDGE_BASE"; + case RetrieveAndGenerateType::EXTERNAL_SOURCES: + return "EXTERNAL_SOURCES"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RetrieveAndGenerateTypeMapper + } // namespace Model + } // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveConfig.cpp new file mode 100644 index 00000000000..347abab29a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/RetrieveConfig.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +RetrieveConfig::RetrieveConfig() : + m_knowledgeBaseIdHasBeenSet(false), + m_knowledgeBaseRetrievalConfigurationHasBeenSet(false) +{ +} + +RetrieveConfig::RetrieveConfig(JsonView jsonValue) + : RetrieveConfig() +{ + *this = jsonValue; +} + +RetrieveConfig& RetrieveConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("knowledgeBaseId")) + { + m_knowledgeBaseId = jsonValue.GetString("knowledgeBaseId"); + + m_knowledgeBaseIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("knowledgeBaseRetrievalConfiguration")) + { + m_knowledgeBaseRetrievalConfiguration = jsonValue.GetObject("knowledgeBaseRetrievalConfiguration"); + + m_knowledgeBaseRetrievalConfigurationHasBeenSet = true; + } + + return *this; +} + +JsonValue RetrieveConfig::Jsonize() const +{ + JsonValue payload; + + if(m_knowledgeBaseIdHasBeenSet) + { + payload.WithString("knowledgeBaseId", m_knowledgeBaseId); + + } + + if(m_knowledgeBaseRetrievalConfigurationHasBeenSet) + { + payload.WithObject("knowledgeBaseRetrievalConfiguration", m_knowledgeBaseRetrievalConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/S3ObjectDoc.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/S3ObjectDoc.cpp new file mode 100644 index 00000000000..7f65efab2cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/S3ObjectDoc.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +S3ObjectDoc::S3ObjectDoc() : + m_uriHasBeenSet(false) +{ +} + +S3ObjectDoc::S3ObjectDoc(JsonView jsonValue) + : S3ObjectDoc() +{ + *this = jsonValue; +} + +S3ObjectDoc& S3ObjectDoc::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("uri")) + { + m_uri = jsonValue.GetString("uri"); + + m_uriHasBeenSet = true; + } + + return *this; +} + +JsonValue S3ObjectDoc::Jsonize() const +{ + JsonValue payload; + + if(m_uriHasBeenSet) + { + payload.WithString("uri", m_uri); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/SearchType.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/SearchType.cpp new file mode 100644 index 00000000000..cb6a8f873d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/SearchType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Bedrock + { + namespace Model + { + namespace SearchTypeMapper + { + + static const int HYBRID_HASH = HashingUtils::HashString("HYBRID"); + static const int SEMANTIC_HASH = HashingUtils::HashString("SEMANTIC"); + + + SearchType GetSearchTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == HYBRID_HASH) + { + return SearchType::HYBRID; + } + else if (hashCode == SEMANTIC_HASH) + { + return SearchType::SEMANTIC; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SearchType::NOT_SET; + } + + Aws::String GetNameForSearchType(SearchType enumValue) + { + switch(enumValue) + { + case SearchType::NOT_SET: + return {}; + case SearchType::HYBRID: + return "HYBRID"; + case SearchType::SEMANTIC: + return "SEMANTIC"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SearchTypeMapper + } // namespace Model + } // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/TextInferenceConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/TextInferenceConfig.cpp new file mode 100644 index 00000000000..d257ac6ff88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/TextInferenceConfig.cpp @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +TextInferenceConfig::TextInferenceConfig() : + m_temperature(0.0), + m_temperatureHasBeenSet(false), + m_topP(0.0), + m_topPHasBeenSet(false), + m_maxTokens(0), + m_maxTokensHasBeenSet(false), + m_stopSequencesHasBeenSet(false) +{ +} + +TextInferenceConfig::TextInferenceConfig(JsonView jsonValue) + : TextInferenceConfig() +{ + *this = jsonValue; +} + +TextInferenceConfig& TextInferenceConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("temperature")) + { + m_temperature = jsonValue.GetDouble("temperature"); + + m_temperatureHasBeenSet = true; + } + + if(jsonValue.ValueExists("topP")) + { + m_topP = jsonValue.GetDouble("topP"); + + m_topPHasBeenSet = true; + } + + if(jsonValue.ValueExists("maxTokens")) + { + m_maxTokens = jsonValue.GetInteger("maxTokens"); + + m_maxTokensHasBeenSet = true; + } + + if(jsonValue.ValueExists("stopSequences")) + { + Aws::Utils::Array stopSequencesJsonList = jsonValue.GetArray("stopSequences"); + for(unsigned stopSequencesIndex = 0; stopSequencesIndex < stopSequencesJsonList.GetLength(); ++stopSequencesIndex) + { + m_stopSequences.push_back(stopSequencesJsonList[stopSequencesIndex].AsString()); + } + m_stopSequencesHasBeenSet = true; + } + + return *this; +} + +JsonValue TextInferenceConfig::Jsonize() const +{ + JsonValue payload; + + if(m_temperatureHasBeenSet) + { + payload.WithDouble("temperature", m_temperature); + + } + + if(m_topPHasBeenSet) + { + payload.WithDouble("topP", m_topP); + + } + + if(m_maxTokensHasBeenSet) + { + payload.WithInteger("maxTokens", m_maxTokens); + + } + + if(m_stopSequencesHasBeenSet) + { + Aws::Utils::Array stopSequencesJsonList(m_stopSequences.size()); + for(unsigned stopSequencesIndex = 0; stopSequencesIndex < stopSequencesJsonList.GetLength(); ++stopSequencesIndex) + { + stopSequencesJsonList[stopSequencesIndex].AsString(m_stopSequences[stopSequencesIndex]); + } + payload.WithArray("stopSequences", std::move(stopSequencesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClient.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClient.h index 20014afd7ea..5f157e8b87b 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClient.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClient.h @@ -613,6 +613,32 @@ namespace ChimeSDKVoice return SubmitAsync(&ChimeSDKVoiceClient::DeleteVoiceConnectorEmergencyCallingConfiguration, request, handler, context); } + /** + *

Deletes the external systems configuration for a Voice + * Connector.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteVoiceConnectorExternalSystemsConfigurationOutcome DeleteVoiceConnectorExternalSystemsConfiguration(const Model::DeleteVoiceConnectorExternalSystemsConfigurationRequest& request) const; + + /** + * A Callable wrapper for DeleteVoiceConnectorExternalSystemsConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteVoiceConnectorExternalSystemsConfigurationOutcomeCallable DeleteVoiceConnectorExternalSystemsConfigurationCallable(const DeleteVoiceConnectorExternalSystemsConfigurationRequestT& request) const + { + return SubmitCallable(&ChimeSDKVoiceClient::DeleteVoiceConnectorExternalSystemsConfiguration, request); + } + + /** + * An Async wrapper for DeleteVoiceConnectorExternalSystemsConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteVoiceConnectorExternalSystemsConfigurationAsync(const DeleteVoiceConnectorExternalSystemsConfigurationRequestT& request, const DeleteVoiceConnectorExternalSystemsConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ChimeSDKVoiceClient::DeleteVoiceConnectorExternalSystemsConfiguration, request, handler, context); + } + /** *

Deletes an Amazon Chime SDK Voice Connector group. Any * VoiceConnectorItems and phone numbers associated with the group @@ -1166,6 +1192,32 @@ namespace ChimeSDKVoice return SubmitAsync(&ChimeSDKVoiceClient::GetVoiceConnectorEmergencyCallingConfiguration, request, handler, context); } + /** + *

Gets information about an external systems configuration for a Voice + * Connector.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetVoiceConnectorExternalSystemsConfigurationOutcome GetVoiceConnectorExternalSystemsConfiguration(const Model::GetVoiceConnectorExternalSystemsConfigurationRequest& request) const; + + /** + * A Callable wrapper for GetVoiceConnectorExternalSystemsConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetVoiceConnectorExternalSystemsConfigurationOutcomeCallable GetVoiceConnectorExternalSystemsConfigurationCallable(const GetVoiceConnectorExternalSystemsConfigurationRequestT& request) const + { + return SubmitCallable(&ChimeSDKVoiceClient::GetVoiceConnectorExternalSystemsConfiguration, request); + } + + /** + * An Async wrapper for GetVoiceConnectorExternalSystemsConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetVoiceConnectorExternalSystemsConfigurationAsync(const GetVoiceConnectorExternalSystemsConfigurationRequestT& request, const GetVoiceConnectorExternalSystemsConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ChimeSDKVoiceClient::GetVoiceConnectorExternalSystemsConfiguration, request, handler, context); + } + /** *

Retrieves details for the specified Amazon Chime SDK Voice Connector group, * such as timestamps,name, and associated @@ -1821,6 +1873,32 @@ namespace ChimeSDKVoice return SubmitAsync(&ChimeSDKVoiceClient::PutVoiceConnectorEmergencyCallingConfiguration, request, handler, context); } + /** + *

Adds an external systems configuration to a Voice Connector.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::PutVoiceConnectorExternalSystemsConfigurationOutcome PutVoiceConnectorExternalSystemsConfiguration(const Model::PutVoiceConnectorExternalSystemsConfigurationRequest& request) const; + + /** + * A Callable wrapper for PutVoiceConnectorExternalSystemsConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutVoiceConnectorExternalSystemsConfigurationOutcomeCallable PutVoiceConnectorExternalSystemsConfigurationCallable(const PutVoiceConnectorExternalSystemsConfigurationRequestT& request) const + { + return SubmitCallable(&ChimeSDKVoiceClient::PutVoiceConnectorExternalSystemsConfiguration, request); + } + + /** + * An Async wrapper for PutVoiceConnectorExternalSystemsConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutVoiceConnectorExternalSystemsConfigurationAsync(const PutVoiceConnectorExternalSystemsConfigurationRequestT& request, const PutVoiceConnectorExternalSystemsConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ChimeSDKVoiceClient::PutVoiceConnectorExternalSystemsConfiguration, request, handler, context); + } + /** *

Updates a Voice Connector's logging configuration.

See Also:

* #include #include +#include #include #include #include @@ -69,6 +70,7 @@ #include #include #include +#include #include #include #include @@ -160,6 +162,7 @@ namespace Aws class DeleteSipRuleRequest; class DeleteVoiceConnectorRequest; class DeleteVoiceConnectorEmergencyCallingConfigurationRequest; + class DeleteVoiceConnectorExternalSystemsConfigurationRequest; class DeleteVoiceConnectorGroupRequest; class DeleteVoiceConnectorOriginationRequest; class DeleteVoiceConnectorProxyRequest; @@ -181,6 +184,7 @@ namespace Aws class GetSpeakerSearchTaskRequest; class GetVoiceConnectorRequest; class GetVoiceConnectorEmergencyCallingConfigurationRequest; + class GetVoiceConnectorExternalSystemsConfigurationRequest; class GetVoiceConnectorGroupRequest; class GetVoiceConnectorLoggingConfigurationRequest; class GetVoiceConnectorOriginationRequest; @@ -206,6 +210,7 @@ namespace Aws class ListVoiceProfilesRequest; class PutSipMediaApplicationLoggingConfigurationRequest; class PutVoiceConnectorEmergencyCallingConfigurationRequest; + class PutVoiceConnectorExternalSystemsConfigurationRequest; class PutVoiceConnectorLoggingConfigurationRequest; class PutVoiceConnectorOriginationRequest; class PutVoiceConnectorProxyRequest; @@ -254,6 +259,7 @@ namespace Aws typedef Aws::Utils::Outcome DeleteSipRuleOutcome; typedef Aws::Utils::Outcome DeleteVoiceConnectorOutcome; typedef Aws::Utils::Outcome DeleteVoiceConnectorEmergencyCallingConfigurationOutcome; + typedef Aws::Utils::Outcome DeleteVoiceConnectorExternalSystemsConfigurationOutcome; typedef Aws::Utils::Outcome DeleteVoiceConnectorGroupOutcome; typedef Aws::Utils::Outcome DeleteVoiceConnectorOriginationOutcome; typedef Aws::Utils::Outcome DeleteVoiceConnectorProxyOutcome; @@ -275,6 +281,7 @@ namespace Aws typedef Aws::Utils::Outcome GetSpeakerSearchTaskOutcome; typedef Aws::Utils::Outcome GetVoiceConnectorOutcome; typedef Aws::Utils::Outcome GetVoiceConnectorEmergencyCallingConfigurationOutcome; + typedef Aws::Utils::Outcome GetVoiceConnectorExternalSystemsConfigurationOutcome; typedef Aws::Utils::Outcome GetVoiceConnectorGroupOutcome; typedef Aws::Utils::Outcome GetVoiceConnectorLoggingConfigurationOutcome; typedef Aws::Utils::Outcome GetVoiceConnectorOriginationOutcome; @@ -300,6 +307,7 @@ namespace Aws typedef Aws::Utils::Outcome ListVoiceProfilesOutcome; typedef Aws::Utils::Outcome PutSipMediaApplicationLoggingConfigurationOutcome; typedef Aws::Utils::Outcome PutVoiceConnectorEmergencyCallingConfigurationOutcome; + typedef Aws::Utils::Outcome PutVoiceConnectorExternalSystemsConfigurationOutcome; typedef Aws::Utils::Outcome PutVoiceConnectorLoggingConfigurationOutcome; typedef Aws::Utils::Outcome PutVoiceConnectorOriginationOutcome; typedef Aws::Utils::Outcome PutVoiceConnectorProxyOutcome; @@ -348,6 +356,7 @@ namespace Aws typedef std::future DeleteSipRuleOutcomeCallable; typedef std::future DeleteVoiceConnectorOutcomeCallable; typedef std::future DeleteVoiceConnectorEmergencyCallingConfigurationOutcomeCallable; + typedef std::future DeleteVoiceConnectorExternalSystemsConfigurationOutcomeCallable; typedef std::future DeleteVoiceConnectorGroupOutcomeCallable; typedef std::future DeleteVoiceConnectorOriginationOutcomeCallable; typedef std::future DeleteVoiceConnectorProxyOutcomeCallable; @@ -369,6 +378,7 @@ namespace Aws typedef std::future GetSpeakerSearchTaskOutcomeCallable; typedef std::future GetVoiceConnectorOutcomeCallable; typedef std::future GetVoiceConnectorEmergencyCallingConfigurationOutcomeCallable; + typedef std::future GetVoiceConnectorExternalSystemsConfigurationOutcomeCallable; typedef std::future GetVoiceConnectorGroupOutcomeCallable; typedef std::future GetVoiceConnectorLoggingConfigurationOutcomeCallable; typedef std::future GetVoiceConnectorOriginationOutcomeCallable; @@ -394,6 +404,7 @@ namespace Aws typedef std::future ListVoiceProfilesOutcomeCallable; typedef std::future PutSipMediaApplicationLoggingConfigurationOutcomeCallable; typedef std::future PutVoiceConnectorEmergencyCallingConfigurationOutcomeCallable; + typedef std::future PutVoiceConnectorExternalSystemsConfigurationOutcomeCallable; typedef std::future PutVoiceConnectorLoggingConfigurationOutcomeCallable; typedef std::future PutVoiceConnectorOriginationOutcomeCallable; typedef std::future PutVoiceConnectorProxyOutcomeCallable; @@ -445,6 +456,7 @@ namespace Aws typedef std::function&) > DeleteSipRuleResponseReceivedHandler; typedef std::function&) > DeleteVoiceConnectorResponseReceivedHandler; typedef std::function&) > DeleteVoiceConnectorEmergencyCallingConfigurationResponseReceivedHandler; + typedef std::function&) > DeleteVoiceConnectorExternalSystemsConfigurationResponseReceivedHandler; typedef std::function&) > DeleteVoiceConnectorGroupResponseReceivedHandler; typedef std::function&) > DeleteVoiceConnectorOriginationResponseReceivedHandler; typedef std::function&) > DeleteVoiceConnectorProxyResponseReceivedHandler; @@ -466,6 +478,7 @@ namespace Aws typedef std::function&) > GetSpeakerSearchTaskResponseReceivedHandler; typedef std::function&) > GetVoiceConnectorResponseReceivedHandler; typedef std::function&) > GetVoiceConnectorEmergencyCallingConfigurationResponseReceivedHandler; + typedef std::function&) > GetVoiceConnectorExternalSystemsConfigurationResponseReceivedHandler; typedef std::function&) > GetVoiceConnectorGroupResponseReceivedHandler; typedef std::function&) > GetVoiceConnectorLoggingConfigurationResponseReceivedHandler; typedef std::function&) > GetVoiceConnectorOriginationResponseReceivedHandler; @@ -491,6 +504,7 @@ namespace Aws typedef std::function&) > ListVoiceProfilesResponseReceivedHandler; typedef std::function&) > PutSipMediaApplicationLoggingConfigurationResponseReceivedHandler; typedef std::function&) > PutVoiceConnectorEmergencyCallingConfigurationResponseReceivedHandler; + typedef std::function&) > PutVoiceConnectorExternalSystemsConfigurationResponseReceivedHandler; typedef std::function&) > PutVoiceConnectorLoggingConfigurationResponseReceivedHandler; typedef std::function&) > PutVoiceConnectorOriginationResponseReceivedHandler; typedef std::function&) > PutVoiceConnectorProxyResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/ContactCenterSystemType.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/ContactCenterSystemType.h new file mode 100644 index 00000000000..cecefa103ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/ContactCenterSystemType.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ChimeSDKVoice +{ +namespace Model +{ + enum class ContactCenterSystemType + { + NOT_SET, + GENESYS_ENGAGE_ON_PREMISES, + AVAYA_AURA_CALL_CENTER_ELITE, + AVAYA_AURA_CONTACT_CENTER, + CISCO_UNIFIED_CONTACT_CENTER_ENTERPRISE + }; + +namespace ContactCenterSystemTypeMapper +{ +AWS_CHIMESDKVOICE_API ContactCenterSystemType GetContactCenterSystemTypeForName(const Aws::String& name); + +AWS_CHIMESDKVOICE_API Aws::String GetNameForContactCenterSystemType(ContactCenterSystemType value); +} // namespace ContactCenterSystemTypeMapper +} // namespace Model +} // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/CreateVoiceConnectorRequest.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/CreateVoiceConnectorRequest.h index 095a904e4bd..06c34fe477a 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/CreateVoiceConnectorRequest.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/CreateVoiceConnectorRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -85,6 +86,38 @@ namespace Model inline CreateVoiceConnectorRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } inline CreateVoiceConnectorRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } ///@} + + ///@{ + /** + *

The connectors for use with Amazon Connect.

The following options are + * available:

  • CONNECT_CALL_TRANSFER_CONNECTOR - + * Enables enterprises to integrate Amazon Connect with other voice systems to + * directly transfer voice calls and metadata without using the public telephone + * network. They can use Amazon Connect telephony and Interactive Voice Response + * (IVR) with their existing voice systems to modernize the IVR experience of their + * existing contact center and their enterprise and branch voice systems. + * Additionally, enterprises migrating their contact center to Amazon Connect can + * start with Connect telephony and IVR for immediate modernization ahead of agent + * migration.

  • CONNECT_ANALYTICS_CONNECTOR - Enables + * enterprises to integrate Amazon Connect with other voice systems for real-time + * and post-call analytics. They can use Amazon Connect Contact Lens with their + * existing voice systems to provides call recordings, conversational analytics + * (including contact transcript, sensitive data redaction, content categorization, + * theme detection, sentiment analysis, real-time alerts, and post-contact + * summary), and agent performance evaluations (including evaluation forms, + * automated evaluation, supervisor review) with a rich user experience to display, + * search and filter customer interactions, and programmatic access to data streams + * and the data lake. Additionally, enterprises migrating their contact center to + * Amazon Connect can start with Contact Lens analytics and performance insights + * ahead of agent migration.

+ */ + inline const VoiceConnectorIntegrationType& GetIntegrationType() const{ return m_integrationType; } + inline bool IntegrationTypeHasBeenSet() const { return m_integrationTypeHasBeenSet; } + inline void SetIntegrationType(const VoiceConnectorIntegrationType& value) { m_integrationTypeHasBeenSet = true; m_integrationType = value; } + inline void SetIntegrationType(VoiceConnectorIntegrationType&& value) { m_integrationTypeHasBeenSet = true; m_integrationType = std::move(value); } + inline CreateVoiceConnectorRequest& WithIntegrationType(const VoiceConnectorIntegrationType& value) { SetIntegrationType(value); return *this;} + inline CreateVoiceConnectorRequest& WithIntegrationType(VoiceConnectorIntegrationType&& value) { SetIntegrationType(std::move(value)); return *this;} + ///@} private: Aws::String m_name; @@ -98,6 +131,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + VoiceConnectorIntegrationType m_integrationType; + bool m_integrationTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/DeleteVoiceConnectorExternalSystemsConfigurationRequest.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/DeleteVoiceConnectorExternalSystemsConfigurationRequest.h new file mode 100644 index 00000000000..c3bb8cc7e14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/DeleteVoiceConnectorExternalSystemsConfigurationRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace ChimeSDKVoice +{ +namespace Model +{ + + /** + */ + class DeleteVoiceConnectorExternalSystemsConfigurationRequest : public ChimeSDKVoiceRequest + { + public: + AWS_CHIMESDKVOICE_API DeleteVoiceConnectorExternalSystemsConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteVoiceConnectorExternalSystemsConfiguration"; } + + AWS_CHIMESDKVOICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The ID of the Voice Connector for which to delete the external system + * configuration.

+ */ + inline const Aws::String& GetVoiceConnectorId() const{ return m_voiceConnectorId; } + inline bool VoiceConnectorIdHasBeenSet() const { return m_voiceConnectorIdHasBeenSet; } + inline void SetVoiceConnectorId(const Aws::String& value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId = value; } + inline void SetVoiceConnectorId(Aws::String&& value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId = std::move(value); } + inline void SetVoiceConnectorId(const char* value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId.assign(value); } + inline DeleteVoiceConnectorExternalSystemsConfigurationRequest& WithVoiceConnectorId(const Aws::String& value) { SetVoiceConnectorId(value); return *this;} + inline DeleteVoiceConnectorExternalSystemsConfigurationRequest& WithVoiceConnectorId(Aws::String&& value) { SetVoiceConnectorId(std::move(value)); return *this;} + inline DeleteVoiceConnectorExternalSystemsConfigurationRequest& WithVoiceConnectorId(const char* value) { SetVoiceConnectorId(value); return *this;} + ///@} + private: + + Aws::String m_voiceConnectorId; + bool m_voiceConnectorIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/ExternalSystemsConfiguration.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/ExternalSystemsConfiguration.h new file mode 100644 index 00000000000..d1a0197652c --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/ExternalSystemsConfiguration.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ChimeSDKVoice +{ +namespace Model +{ + + /** + *

Contains information about an external systems configuration for a Voice + * Connector.

See Also:

AWS + * API Reference

+ */ + class ExternalSystemsConfiguration + { + public: + AWS_CHIMESDKVOICE_API ExternalSystemsConfiguration(); + AWS_CHIMESDKVOICE_API ExternalSystemsConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_CHIMESDKVOICE_API ExternalSystemsConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CHIMESDKVOICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The session border controllers.

+ */ + inline const Aws::Vector& GetSessionBorderControllerTypes() const{ return m_sessionBorderControllerTypes; } + inline bool SessionBorderControllerTypesHasBeenSet() const { return m_sessionBorderControllerTypesHasBeenSet; } + inline void SetSessionBorderControllerTypes(const Aws::Vector& value) { m_sessionBorderControllerTypesHasBeenSet = true; m_sessionBorderControllerTypes = value; } + inline void SetSessionBorderControllerTypes(Aws::Vector&& value) { m_sessionBorderControllerTypesHasBeenSet = true; m_sessionBorderControllerTypes = std::move(value); } + inline ExternalSystemsConfiguration& WithSessionBorderControllerTypes(const Aws::Vector& value) { SetSessionBorderControllerTypes(value); return *this;} + inline ExternalSystemsConfiguration& WithSessionBorderControllerTypes(Aws::Vector&& value) { SetSessionBorderControllerTypes(std::move(value)); return *this;} + inline ExternalSystemsConfiguration& AddSessionBorderControllerTypes(const SessionBorderControllerType& value) { m_sessionBorderControllerTypesHasBeenSet = true; m_sessionBorderControllerTypes.push_back(value); return *this; } + inline ExternalSystemsConfiguration& AddSessionBorderControllerTypes(SessionBorderControllerType&& value) { m_sessionBorderControllerTypesHasBeenSet = true; m_sessionBorderControllerTypes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The contact center system.

+ */ + inline const Aws::Vector& GetContactCenterSystemTypes() const{ return m_contactCenterSystemTypes; } + inline bool ContactCenterSystemTypesHasBeenSet() const { return m_contactCenterSystemTypesHasBeenSet; } + inline void SetContactCenterSystemTypes(const Aws::Vector& value) { m_contactCenterSystemTypesHasBeenSet = true; m_contactCenterSystemTypes = value; } + inline void SetContactCenterSystemTypes(Aws::Vector&& value) { m_contactCenterSystemTypesHasBeenSet = true; m_contactCenterSystemTypes = std::move(value); } + inline ExternalSystemsConfiguration& WithContactCenterSystemTypes(const Aws::Vector& value) { SetContactCenterSystemTypes(value); return *this;} + inline ExternalSystemsConfiguration& WithContactCenterSystemTypes(Aws::Vector&& value) { SetContactCenterSystemTypes(std::move(value)); return *this;} + inline ExternalSystemsConfiguration& AddContactCenterSystemTypes(const ContactCenterSystemType& value) { m_contactCenterSystemTypesHasBeenSet = true; m_contactCenterSystemTypes.push_back(value); return *this; } + inline ExternalSystemsConfiguration& AddContactCenterSystemTypes(ContactCenterSystemType&& value) { m_contactCenterSystemTypesHasBeenSet = true; m_contactCenterSystemTypes.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_sessionBorderControllerTypes; + bool m_sessionBorderControllerTypesHasBeenSet = false; + + Aws::Vector m_contactCenterSystemTypes; + bool m_contactCenterSystemTypesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/GetVoiceConnectorExternalSystemsConfigurationRequest.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/GetVoiceConnectorExternalSystemsConfigurationRequest.h new file mode 100644 index 00000000000..665462df2f8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/GetVoiceConnectorExternalSystemsConfigurationRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace ChimeSDKVoice +{ +namespace Model +{ + + /** + */ + class GetVoiceConnectorExternalSystemsConfigurationRequest : public ChimeSDKVoiceRequest + { + public: + AWS_CHIMESDKVOICE_API GetVoiceConnectorExternalSystemsConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetVoiceConnectorExternalSystemsConfiguration"; } + + AWS_CHIMESDKVOICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The ID of the Voice Connector for which to return information about the + * external system configuration.

+ */ + inline const Aws::String& GetVoiceConnectorId() const{ return m_voiceConnectorId; } + inline bool VoiceConnectorIdHasBeenSet() const { return m_voiceConnectorIdHasBeenSet; } + inline void SetVoiceConnectorId(const Aws::String& value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId = value; } + inline void SetVoiceConnectorId(Aws::String&& value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId = std::move(value); } + inline void SetVoiceConnectorId(const char* value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId.assign(value); } + inline GetVoiceConnectorExternalSystemsConfigurationRequest& WithVoiceConnectorId(const Aws::String& value) { SetVoiceConnectorId(value); return *this;} + inline GetVoiceConnectorExternalSystemsConfigurationRequest& WithVoiceConnectorId(Aws::String&& value) { SetVoiceConnectorId(std::move(value)); return *this;} + inline GetVoiceConnectorExternalSystemsConfigurationRequest& WithVoiceConnectorId(const char* value) { SetVoiceConnectorId(value); return *this;} + ///@} + private: + + Aws::String m_voiceConnectorId; + bool m_voiceConnectorIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/GetVoiceConnectorExternalSystemsConfigurationResult.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/GetVoiceConnectorExternalSystemsConfigurationResult.h new file mode 100644 index 00000000000..fbdf2162e93 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/GetVoiceConnectorExternalSystemsConfigurationResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ChimeSDKVoice +{ +namespace Model +{ + class GetVoiceConnectorExternalSystemsConfigurationResult + { + public: + AWS_CHIMESDKVOICE_API GetVoiceConnectorExternalSystemsConfigurationResult(); + AWS_CHIMESDKVOICE_API GetVoiceConnectorExternalSystemsConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_CHIMESDKVOICE_API GetVoiceConnectorExternalSystemsConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

An object that contains information about an external systems configuration + * for a Voice Connector.

+ */ + inline const ExternalSystemsConfiguration& GetExternalSystemsConfiguration() const{ return m_externalSystemsConfiguration; } + inline void SetExternalSystemsConfiguration(const ExternalSystemsConfiguration& value) { m_externalSystemsConfiguration = value; } + inline void SetExternalSystemsConfiguration(ExternalSystemsConfiguration&& value) { m_externalSystemsConfiguration = std::move(value); } + inline GetVoiceConnectorExternalSystemsConfigurationResult& WithExternalSystemsConfiguration(const ExternalSystemsConfiguration& value) { SetExternalSystemsConfiguration(value); return *this;} + inline GetVoiceConnectorExternalSystemsConfigurationResult& WithExternalSystemsConfiguration(ExternalSystemsConfiguration&& value) { SetExternalSystemsConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetVoiceConnectorExternalSystemsConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetVoiceConnectorExternalSystemsConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetVoiceConnectorExternalSystemsConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + ExternalSystemsConfiguration m_externalSystemsConfiguration; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/PutVoiceConnectorExternalSystemsConfigurationRequest.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/PutVoiceConnectorExternalSystemsConfigurationRequest.h new file mode 100644 index 00000000000..b50185d4468 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/PutVoiceConnectorExternalSystemsConfigurationRequest.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ChimeSDKVoice +{ +namespace Model +{ + + /** + */ + class PutVoiceConnectorExternalSystemsConfigurationRequest : public ChimeSDKVoiceRequest + { + public: + AWS_CHIMESDKVOICE_API PutVoiceConnectorExternalSystemsConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutVoiceConnectorExternalSystemsConfiguration"; } + + AWS_CHIMESDKVOICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The ID of the Voice Connector for which to add the external system + * configuration.

+ */ + inline const Aws::String& GetVoiceConnectorId() const{ return m_voiceConnectorId; } + inline bool VoiceConnectorIdHasBeenSet() const { return m_voiceConnectorIdHasBeenSet; } + inline void SetVoiceConnectorId(const Aws::String& value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId = value; } + inline void SetVoiceConnectorId(Aws::String&& value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId = std::move(value); } + inline void SetVoiceConnectorId(const char* value) { m_voiceConnectorIdHasBeenSet = true; m_voiceConnectorId.assign(value); } + inline PutVoiceConnectorExternalSystemsConfigurationRequest& WithVoiceConnectorId(const Aws::String& value) { SetVoiceConnectorId(value); return *this;} + inline PutVoiceConnectorExternalSystemsConfigurationRequest& WithVoiceConnectorId(Aws::String&& value) { SetVoiceConnectorId(std::move(value)); return *this;} + inline PutVoiceConnectorExternalSystemsConfigurationRequest& WithVoiceConnectorId(const char* value) { SetVoiceConnectorId(value); return *this;} + ///@} + + ///@{ + /** + *

The session border controllers to use.

+ */ + inline const Aws::Vector& GetSessionBorderControllerTypes() const{ return m_sessionBorderControllerTypes; } + inline bool SessionBorderControllerTypesHasBeenSet() const { return m_sessionBorderControllerTypesHasBeenSet; } + inline void SetSessionBorderControllerTypes(const Aws::Vector& value) { m_sessionBorderControllerTypesHasBeenSet = true; m_sessionBorderControllerTypes = value; } + inline void SetSessionBorderControllerTypes(Aws::Vector&& value) { m_sessionBorderControllerTypesHasBeenSet = true; m_sessionBorderControllerTypes = std::move(value); } + inline PutVoiceConnectorExternalSystemsConfigurationRequest& WithSessionBorderControllerTypes(const Aws::Vector& value) { SetSessionBorderControllerTypes(value); return *this;} + inline PutVoiceConnectorExternalSystemsConfigurationRequest& WithSessionBorderControllerTypes(Aws::Vector&& value) { SetSessionBorderControllerTypes(std::move(value)); return *this;} + inline PutVoiceConnectorExternalSystemsConfigurationRequest& AddSessionBorderControllerTypes(const SessionBorderControllerType& value) { m_sessionBorderControllerTypesHasBeenSet = true; m_sessionBorderControllerTypes.push_back(value); return *this; } + inline PutVoiceConnectorExternalSystemsConfigurationRequest& AddSessionBorderControllerTypes(SessionBorderControllerType&& value) { m_sessionBorderControllerTypesHasBeenSet = true; m_sessionBorderControllerTypes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The contact center system to use.

+ */ + inline const Aws::Vector& GetContactCenterSystemTypes() const{ return m_contactCenterSystemTypes; } + inline bool ContactCenterSystemTypesHasBeenSet() const { return m_contactCenterSystemTypesHasBeenSet; } + inline void SetContactCenterSystemTypes(const Aws::Vector& value) { m_contactCenterSystemTypesHasBeenSet = true; m_contactCenterSystemTypes = value; } + inline void SetContactCenterSystemTypes(Aws::Vector&& value) { m_contactCenterSystemTypesHasBeenSet = true; m_contactCenterSystemTypes = std::move(value); } + inline PutVoiceConnectorExternalSystemsConfigurationRequest& WithContactCenterSystemTypes(const Aws::Vector& value) { SetContactCenterSystemTypes(value); return *this;} + inline PutVoiceConnectorExternalSystemsConfigurationRequest& WithContactCenterSystemTypes(Aws::Vector&& value) { SetContactCenterSystemTypes(std::move(value)); return *this;} + inline PutVoiceConnectorExternalSystemsConfigurationRequest& AddContactCenterSystemTypes(const ContactCenterSystemType& value) { m_contactCenterSystemTypesHasBeenSet = true; m_contactCenterSystemTypes.push_back(value); return *this; } + inline PutVoiceConnectorExternalSystemsConfigurationRequest& AddContactCenterSystemTypes(ContactCenterSystemType&& value) { m_contactCenterSystemTypesHasBeenSet = true; m_contactCenterSystemTypes.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_voiceConnectorId; + bool m_voiceConnectorIdHasBeenSet = false; + + Aws::Vector m_sessionBorderControllerTypes; + bool m_sessionBorderControllerTypesHasBeenSet = false; + + Aws::Vector m_contactCenterSystemTypes; + bool m_contactCenterSystemTypesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/PutVoiceConnectorExternalSystemsConfigurationResult.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/PutVoiceConnectorExternalSystemsConfigurationResult.h new file mode 100644 index 00000000000..5410190e927 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/PutVoiceConnectorExternalSystemsConfigurationResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ChimeSDKVoice +{ +namespace Model +{ + class PutVoiceConnectorExternalSystemsConfigurationResult + { + public: + AWS_CHIMESDKVOICE_API PutVoiceConnectorExternalSystemsConfigurationResult(); + AWS_CHIMESDKVOICE_API PutVoiceConnectorExternalSystemsConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_CHIMESDKVOICE_API PutVoiceConnectorExternalSystemsConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

An object that contains information about an external systems configuration + * for a Voice Connector.

+ */ + inline const ExternalSystemsConfiguration& GetExternalSystemsConfiguration() const{ return m_externalSystemsConfiguration; } + inline void SetExternalSystemsConfiguration(const ExternalSystemsConfiguration& value) { m_externalSystemsConfiguration = value; } + inline void SetExternalSystemsConfiguration(ExternalSystemsConfiguration&& value) { m_externalSystemsConfiguration = std::move(value); } + inline PutVoiceConnectorExternalSystemsConfigurationResult& WithExternalSystemsConfiguration(const ExternalSystemsConfiguration& value) { SetExternalSystemsConfiguration(value); return *this;} + inline PutVoiceConnectorExternalSystemsConfigurationResult& WithExternalSystemsConfiguration(ExternalSystemsConfiguration&& value) { SetExternalSystemsConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline PutVoiceConnectorExternalSystemsConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline PutVoiceConnectorExternalSystemsConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline PutVoiceConnectorExternalSystemsConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + ExternalSystemsConfiguration m_externalSystemsConfiguration; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/SessionBorderControllerType.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/SessionBorderControllerType.h new file mode 100644 index 00000000000..f7545608598 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/SessionBorderControllerType.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ChimeSDKVoice +{ +namespace Model +{ + enum class SessionBorderControllerType + { + NOT_SET, + RIBBON_SBC, + ORACLE_ACME_PACKET_SBC, + AVAYA_SBCE, + CISCO_UNIFIED_BORDER_ELEMENT, + AUDIOCODES_MEDIANT_SBC + }; + +namespace SessionBorderControllerTypeMapper +{ +AWS_CHIMESDKVOICE_API SessionBorderControllerType GetSessionBorderControllerTypeForName(const Aws::String& name); + +AWS_CHIMESDKVOICE_API Aws::String GetNameForSessionBorderControllerType(SessionBorderControllerType value); +} // namespace SessionBorderControllerTypeMapper +} // namespace Model +} // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/VoiceConnector.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/VoiceConnector.h index 4c77ce355bd..22951a59fba 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/VoiceConnector.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/VoiceConnector.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -142,6 +143,18 @@ namespace Model inline VoiceConnector& WithVoiceConnectorArn(Aws::String&& value) { SetVoiceConnectorArn(std::move(value)); return *this;} inline VoiceConnector& WithVoiceConnectorArn(const char* value) { SetVoiceConnectorArn(value); return *this;} ///@} + + ///@{ + /** + *

The connectors for use with Amazon Connect.

+ */ + inline const VoiceConnectorIntegrationType& GetIntegrationType() const{ return m_integrationType; } + inline bool IntegrationTypeHasBeenSet() const { return m_integrationTypeHasBeenSet; } + inline void SetIntegrationType(const VoiceConnectorIntegrationType& value) { m_integrationTypeHasBeenSet = true; m_integrationType = value; } + inline void SetIntegrationType(VoiceConnectorIntegrationType&& value) { m_integrationTypeHasBeenSet = true; m_integrationType = std::move(value); } + inline VoiceConnector& WithIntegrationType(const VoiceConnectorIntegrationType& value) { SetIntegrationType(value); return *this;} + inline VoiceConnector& WithIntegrationType(VoiceConnectorIntegrationType&& value) { SetIntegrationType(std::move(value)); return *this;} + ///@} private: Aws::String m_voiceConnectorId; @@ -167,6 +180,9 @@ namespace Model Aws::String m_voiceConnectorArn; bool m_voiceConnectorArnHasBeenSet = false; + + VoiceConnectorIntegrationType m_integrationType; + bool m_integrationTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/VoiceConnectorIntegrationType.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/VoiceConnectorIntegrationType.h new file mode 100644 index 00000000000..8bc29be5969 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/model/VoiceConnectorIntegrationType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ChimeSDKVoice +{ +namespace Model +{ + enum class VoiceConnectorIntegrationType + { + NOT_SET, + CONNECT_CALL_TRANSFER_CONNECTOR, + CONNECT_ANALYTICS_CONNECTOR + }; + +namespace VoiceConnectorIntegrationTypeMapper +{ +AWS_CHIMESDKVOICE_API VoiceConnectorIntegrationType GetVoiceConnectorIntegrationTypeForName(const Aws::String& name); + +AWS_CHIMESDKVOICE_API Aws::String GetNameForVoiceConnectorIntegrationType(VoiceConnectorIntegrationType value); +} // namespace VoiceConnectorIntegrationTypeMapper +} // namespace Model +} // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClient.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClient.cpp index b5f99cad4c3..affc9334d00 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClient.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClient.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -61,6 +62,7 @@ #include #include #include +#include #include #include #include @@ -86,6 +88,7 @@ #include #include #include +#include #include #include #include @@ -850,6 +853,40 @@ DeleteVoiceConnectorEmergencyCallingConfigurationOutcome ChimeSDKVoiceClient::De {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteVoiceConnectorExternalSystemsConfigurationOutcome ChimeSDKVoiceClient::DeleteVoiceConnectorExternalSystemsConfiguration(const DeleteVoiceConnectorExternalSystemsConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteVoiceConnectorExternalSystemsConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.VoiceConnectorIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteVoiceConnectorExternalSystemsConfiguration", "Required field: VoiceConnectorId, is not set"); + return DeleteVoiceConnectorExternalSystemsConfigurationOutcome(Aws::Client::AWSError(ChimeSDKVoiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [VoiceConnectorId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteVoiceConnectorExternalSystemsConfiguration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteVoiceConnectorExternalSystemsConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/voice-connectors/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetVoiceConnectorId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/external-systems-configuration"); + return DeleteVoiceConnectorExternalSystemsConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteVoiceConnectorGroupOutcome ChimeSDKVoiceClient::DeleteVoiceConnectorGroup(const DeleteVoiceConnectorGroupRequest& request) const { AWS_OPERATION_GUARD(DeleteVoiceConnectorGroup); @@ -1561,6 +1598,40 @@ GetVoiceConnectorEmergencyCallingConfigurationOutcome ChimeSDKVoiceClient::GetVo {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetVoiceConnectorExternalSystemsConfigurationOutcome ChimeSDKVoiceClient::GetVoiceConnectorExternalSystemsConfiguration(const GetVoiceConnectorExternalSystemsConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(GetVoiceConnectorExternalSystemsConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.VoiceConnectorIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetVoiceConnectorExternalSystemsConfiguration", "Required field: VoiceConnectorId, is not set"); + return GetVoiceConnectorExternalSystemsConfigurationOutcome(Aws::Client::AWSError(ChimeSDKVoiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [VoiceConnectorId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetVoiceConnectorExternalSystemsConfiguration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetVoiceConnectorExternalSystemsConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/voice-connectors/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetVoiceConnectorId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/external-systems-configuration"); + return GetVoiceConnectorExternalSystemsConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetVoiceConnectorGroupOutcome ChimeSDKVoiceClient::GetVoiceConnectorGroup(const GetVoiceConnectorGroupRequest& request) const { AWS_OPERATION_GUARD(GetVoiceConnectorGroup); @@ -2357,6 +2428,40 @@ PutVoiceConnectorEmergencyCallingConfigurationOutcome ChimeSDKVoiceClient::PutVo {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +PutVoiceConnectorExternalSystemsConfigurationOutcome ChimeSDKVoiceClient::PutVoiceConnectorExternalSystemsConfiguration(const PutVoiceConnectorExternalSystemsConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(PutVoiceConnectorExternalSystemsConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.VoiceConnectorIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutVoiceConnectorExternalSystemsConfiguration", "Required field: VoiceConnectorId, is not set"); + return PutVoiceConnectorExternalSystemsConfigurationOutcome(Aws::Client::AWSError(ChimeSDKVoiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [VoiceConnectorId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutVoiceConnectorExternalSystemsConfiguration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutVoiceConnectorExternalSystemsConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutVoiceConnectorExternalSystemsConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/voice-connectors/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetVoiceConnectorId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/external-systems-configuration"); + return PutVoiceConnectorExternalSystemsConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + PutVoiceConnectorLoggingConfigurationOutcome ChimeSDKVoiceClient::PutVoiceConnectorLoggingConfiguration(const PutVoiceConnectorLoggingConfigurationRequest& request) const { AWS_OPERATION_GUARD(PutVoiceConnectorLoggingConfiguration); diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/ContactCenterSystemType.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/ContactCenterSystemType.cpp new file mode 100644 index 00000000000..d3d418bd521 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/ContactCenterSystemType.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace ChimeSDKVoice + { + namespace Model + { + namespace ContactCenterSystemTypeMapper + { + + static const int GENESYS_ENGAGE_ON_PREMISES_HASH = HashingUtils::HashString("GENESYS_ENGAGE_ON_PREMISES"); + static const int AVAYA_AURA_CALL_CENTER_ELITE_HASH = HashingUtils::HashString("AVAYA_AURA_CALL_CENTER_ELITE"); + static const int AVAYA_AURA_CONTACT_CENTER_HASH = HashingUtils::HashString("AVAYA_AURA_CONTACT_CENTER"); + static const int CISCO_UNIFIED_CONTACT_CENTER_ENTERPRISE_HASH = HashingUtils::HashString("CISCO_UNIFIED_CONTACT_CENTER_ENTERPRISE"); + + + ContactCenterSystemType GetContactCenterSystemTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GENESYS_ENGAGE_ON_PREMISES_HASH) + { + return ContactCenterSystemType::GENESYS_ENGAGE_ON_PREMISES; + } + else if (hashCode == AVAYA_AURA_CALL_CENTER_ELITE_HASH) + { + return ContactCenterSystemType::AVAYA_AURA_CALL_CENTER_ELITE; + } + else if (hashCode == AVAYA_AURA_CONTACT_CENTER_HASH) + { + return ContactCenterSystemType::AVAYA_AURA_CONTACT_CENTER; + } + else if (hashCode == CISCO_UNIFIED_CONTACT_CENTER_ENTERPRISE_HASH) + { + return ContactCenterSystemType::CISCO_UNIFIED_CONTACT_CENTER_ENTERPRISE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ContactCenterSystemType::NOT_SET; + } + + Aws::String GetNameForContactCenterSystemType(ContactCenterSystemType enumValue) + { + switch(enumValue) + { + case ContactCenterSystemType::NOT_SET: + return {}; + case ContactCenterSystemType::GENESYS_ENGAGE_ON_PREMISES: + return "GENESYS_ENGAGE_ON_PREMISES"; + case ContactCenterSystemType::AVAYA_AURA_CALL_CENTER_ELITE: + return "AVAYA_AURA_CALL_CENTER_ELITE"; + case ContactCenterSystemType::AVAYA_AURA_CONTACT_CENTER: + return "AVAYA_AURA_CONTACT_CENTER"; + case ContactCenterSystemType::CISCO_UNIFIED_CONTACT_CENTER_ENTERPRISE: + return "CISCO_UNIFIED_CONTACT_CENTER_ENTERPRISE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ContactCenterSystemTypeMapper + } // namespace Model + } // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/CreateVoiceConnectorRequest.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/CreateVoiceConnectorRequest.cpp index f7039bdb57e..d32ae19159a 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/CreateVoiceConnectorRequest.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/CreateVoiceConnectorRequest.cpp @@ -18,7 +18,9 @@ CreateVoiceConnectorRequest::CreateVoiceConnectorRequest() : m_awsRegionHasBeenSet(false), m_requireEncryption(false), m_requireEncryptionHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_integrationType(VoiceConnectorIntegrationType::NOT_SET), + m_integrationTypeHasBeenSet(false) { } @@ -54,6 +56,11 @@ Aws::String CreateVoiceConnectorRequest::SerializePayload() const } + if(m_integrationTypeHasBeenSet) + { + payload.WithString("IntegrationType", VoiceConnectorIntegrationTypeMapper::GetNameForVoiceConnectorIntegrationType(m_integrationType)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/DeleteVoiceConnectorExternalSystemsConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/DeleteVoiceConnectorExternalSystemsConfigurationRequest.cpp new file mode 100644 index 00000000000..ac37e3766d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/DeleteVoiceConnectorExternalSystemsConfigurationRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ChimeSDKVoice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteVoiceConnectorExternalSystemsConfigurationRequest::DeleteVoiceConnectorExternalSystemsConfigurationRequest() : + m_voiceConnectorIdHasBeenSet(false) +{ +} + +Aws::String DeleteVoiceConnectorExternalSystemsConfigurationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/ExternalSystemsConfiguration.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/ExternalSystemsConfiguration.cpp new file mode 100644 index 00000000000..55d50db06cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/ExternalSystemsConfiguration.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ChimeSDKVoice +{ +namespace Model +{ + +ExternalSystemsConfiguration::ExternalSystemsConfiguration() : + m_sessionBorderControllerTypesHasBeenSet(false), + m_contactCenterSystemTypesHasBeenSet(false) +{ +} + +ExternalSystemsConfiguration::ExternalSystemsConfiguration(JsonView jsonValue) + : ExternalSystemsConfiguration() +{ + *this = jsonValue; +} + +ExternalSystemsConfiguration& ExternalSystemsConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SessionBorderControllerTypes")) + { + Aws::Utils::Array sessionBorderControllerTypesJsonList = jsonValue.GetArray("SessionBorderControllerTypes"); + for(unsigned sessionBorderControllerTypesIndex = 0; sessionBorderControllerTypesIndex < sessionBorderControllerTypesJsonList.GetLength(); ++sessionBorderControllerTypesIndex) + { + m_sessionBorderControllerTypes.push_back(SessionBorderControllerTypeMapper::GetSessionBorderControllerTypeForName(sessionBorderControllerTypesJsonList[sessionBorderControllerTypesIndex].AsString())); + } + m_sessionBorderControllerTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("ContactCenterSystemTypes")) + { + Aws::Utils::Array contactCenterSystemTypesJsonList = jsonValue.GetArray("ContactCenterSystemTypes"); + for(unsigned contactCenterSystemTypesIndex = 0; contactCenterSystemTypesIndex < contactCenterSystemTypesJsonList.GetLength(); ++contactCenterSystemTypesIndex) + { + m_contactCenterSystemTypes.push_back(ContactCenterSystemTypeMapper::GetContactCenterSystemTypeForName(contactCenterSystemTypesJsonList[contactCenterSystemTypesIndex].AsString())); + } + m_contactCenterSystemTypesHasBeenSet = true; + } + + return *this; +} + +JsonValue ExternalSystemsConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_sessionBorderControllerTypesHasBeenSet) + { + Aws::Utils::Array sessionBorderControllerTypesJsonList(m_sessionBorderControllerTypes.size()); + for(unsigned sessionBorderControllerTypesIndex = 0; sessionBorderControllerTypesIndex < sessionBorderControllerTypesJsonList.GetLength(); ++sessionBorderControllerTypesIndex) + { + sessionBorderControllerTypesJsonList[sessionBorderControllerTypesIndex].AsString(SessionBorderControllerTypeMapper::GetNameForSessionBorderControllerType(m_sessionBorderControllerTypes[sessionBorderControllerTypesIndex])); + } + payload.WithArray("SessionBorderControllerTypes", std::move(sessionBorderControllerTypesJsonList)); + + } + + if(m_contactCenterSystemTypesHasBeenSet) + { + Aws::Utils::Array contactCenterSystemTypesJsonList(m_contactCenterSystemTypes.size()); + for(unsigned contactCenterSystemTypesIndex = 0; contactCenterSystemTypesIndex < contactCenterSystemTypesJsonList.GetLength(); ++contactCenterSystemTypesIndex) + { + contactCenterSystemTypesJsonList[contactCenterSystemTypesIndex].AsString(ContactCenterSystemTypeMapper::GetNameForContactCenterSystemType(m_contactCenterSystemTypes[contactCenterSystemTypesIndex])); + } + payload.WithArray("ContactCenterSystemTypes", std::move(contactCenterSystemTypesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/GetVoiceConnectorExternalSystemsConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/GetVoiceConnectorExternalSystemsConfigurationRequest.cpp new file mode 100644 index 00000000000..1d922d86760 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/GetVoiceConnectorExternalSystemsConfigurationRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ChimeSDKVoice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetVoiceConnectorExternalSystemsConfigurationRequest::GetVoiceConnectorExternalSystemsConfigurationRequest() : + m_voiceConnectorIdHasBeenSet(false) +{ +} + +Aws::String GetVoiceConnectorExternalSystemsConfigurationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/GetVoiceConnectorExternalSystemsConfigurationResult.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/GetVoiceConnectorExternalSystemsConfigurationResult.cpp new file mode 100644 index 00000000000..315206ab1b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/GetVoiceConnectorExternalSystemsConfigurationResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ChimeSDKVoice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetVoiceConnectorExternalSystemsConfigurationResult::GetVoiceConnectorExternalSystemsConfigurationResult() +{ +} + +GetVoiceConnectorExternalSystemsConfigurationResult::GetVoiceConnectorExternalSystemsConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetVoiceConnectorExternalSystemsConfigurationResult& GetVoiceConnectorExternalSystemsConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ExternalSystemsConfiguration")) + { + m_externalSystemsConfiguration = jsonValue.GetObject("ExternalSystemsConfiguration"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/PutVoiceConnectorExternalSystemsConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/PutVoiceConnectorExternalSystemsConfigurationRequest.cpp new file mode 100644 index 00000000000..16af398e30f --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/PutVoiceConnectorExternalSystemsConfigurationRequest.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ChimeSDKVoice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +PutVoiceConnectorExternalSystemsConfigurationRequest::PutVoiceConnectorExternalSystemsConfigurationRequest() : + m_voiceConnectorIdHasBeenSet(false), + m_sessionBorderControllerTypesHasBeenSet(false), + m_contactCenterSystemTypesHasBeenSet(false) +{ +} + +Aws::String PutVoiceConnectorExternalSystemsConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_sessionBorderControllerTypesHasBeenSet) + { + Aws::Utils::Array sessionBorderControllerTypesJsonList(m_sessionBorderControllerTypes.size()); + for(unsigned sessionBorderControllerTypesIndex = 0; sessionBorderControllerTypesIndex < sessionBorderControllerTypesJsonList.GetLength(); ++sessionBorderControllerTypesIndex) + { + sessionBorderControllerTypesJsonList[sessionBorderControllerTypesIndex].AsString(SessionBorderControllerTypeMapper::GetNameForSessionBorderControllerType(m_sessionBorderControllerTypes[sessionBorderControllerTypesIndex])); + } + payload.WithArray("SessionBorderControllerTypes", std::move(sessionBorderControllerTypesJsonList)); + + } + + if(m_contactCenterSystemTypesHasBeenSet) + { + Aws::Utils::Array contactCenterSystemTypesJsonList(m_contactCenterSystemTypes.size()); + for(unsigned contactCenterSystemTypesIndex = 0; contactCenterSystemTypesIndex < contactCenterSystemTypesJsonList.GetLength(); ++contactCenterSystemTypesIndex) + { + contactCenterSystemTypesJsonList[contactCenterSystemTypesIndex].AsString(ContactCenterSystemTypeMapper::GetNameForContactCenterSystemType(m_contactCenterSystemTypes[contactCenterSystemTypesIndex])); + } + payload.WithArray("ContactCenterSystemTypes", std::move(contactCenterSystemTypesJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/PutVoiceConnectorExternalSystemsConfigurationResult.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/PutVoiceConnectorExternalSystemsConfigurationResult.cpp new file mode 100644 index 00000000000..9300b6f88f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/PutVoiceConnectorExternalSystemsConfigurationResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ChimeSDKVoice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +PutVoiceConnectorExternalSystemsConfigurationResult::PutVoiceConnectorExternalSystemsConfigurationResult() +{ +} + +PutVoiceConnectorExternalSystemsConfigurationResult::PutVoiceConnectorExternalSystemsConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +PutVoiceConnectorExternalSystemsConfigurationResult& PutVoiceConnectorExternalSystemsConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ExternalSystemsConfiguration")) + { + m_externalSystemsConfiguration = jsonValue.GetObject("ExternalSystemsConfiguration"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/SessionBorderControllerType.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/SessionBorderControllerType.cpp new file mode 100644 index 00000000000..23056420bd5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/SessionBorderControllerType.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace ChimeSDKVoice + { + namespace Model + { + namespace SessionBorderControllerTypeMapper + { + + static const int RIBBON_SBC_HASH = HashingUtils::HashString("RIBBON_SBC"); + static const int ORACLE_ACME_PACKET_SBC_HASH = HashingUtils::HashString("ORACLE_ACME_PACKET_SBC"); + static const int AVAYA_SBCE_HASH = HashingUtils::HashString("AVAYA_SBCE"); + static const int CISCO_UNIFIED_BORDER_ELEMENT_HASH = HashingUtils::HashString("CISCO_UNIFIED_BORDER_ELEMENT"); + static const int AUDIOCODES_MEDIANT_SBC_HASH = HashingUtils::HashString("AUDIOCODES_MEDIANT_SBC"); + + + SessionBorderControllerType GetSessionBorderControllerTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == RIBBON_SBC_HASH) + { + return SessionBorderControllerType::RIBBON_SBC; + } + else if (hashCode == ORACLE_ACME_PACKET_SBC_HASH) + { + return SessionBorderControllerType::ORACLE_ACME_PACKET_SBC; + } + else if (hashCode == AVAYA_SBCE_HASH) + { + return SessionBorderControllerType::AVAYA_SBCE; + } + else if (hashCode == CISCO_UNIFIED_BORDER_ELEMENT_HASH) + { + return SessionBorderControllerType::CISCO_UNIFIED_BORDER_ELEMENT; + } + else if (hashCode == AUDIOCODES_MEDIANT_SBC_HASH) + { + return SessionBorderControllerType::AUDIOCODES_MEDIANT_SBC; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SessionBorderControllerType::NOT_SET; + } + + Aws::String GetNameForSessionBorderControllerType(SessionBorderControllerType enumValue) + { + switch(enumValue) + { + case SessionBorderControllerType::NOT_SET: + return {}; + case SessionBorderControllerType::RIBBON_SBC: + return "RIBBON_SBC"; + case SessionBorderControllerType::ORACLE_ACME_PACKET_SBC: + return "ORACLE_ACME_PACKET_SBC"; + case SessionBorderControllerType::AVAYA_SBCE: + return "AVAYA_SBCE"; + case SessionBorderControllerType::CISCO_UNIFIED_BORDER_ELEMENT: + return "CISCO_UNIFIED_BORDER_ELEMENT"; + case SessionBorderControllerType::AUDIOCODES_MEDIANT_SBC: + return "AUDIOCODES_MEDIANT_SBC"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SessionBorderControllerTypeMapper + } // namespace Model + } // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/VoiceConnector.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/VoiceConnector.cpp index eea4c60b092..046d2bfc2da 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/VoiceConnector.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/VoiceConnector.cpp @@ -28,7 +28,9 @@ VoiceConnector::VoiceConnector() : m_requireEncryptionHasBeenSet(false), m_createdTimestampHasBeenSet(false), m_updatedTimestampHasBeenSet(false), - m_voiceConnectorArnHasBeenSet(false) + m_voiceConnectorArnHasBeenSet(false), + m_integrationType(VoiceConnectorIntegrationType::NOT_SET), + m_integrationTypeHasBeenSet(false) { } @@ -96,6 +98,13 @@ VoiceConnector& VoiceConnector::operator =(JsonView jsonValue) m_voiceConnectorArnHasBeenSet = true; } + if(jsonValue.ValueExists("IntegrationType")) + { + m_integrationType = VoiceConnectorIntegrationTypeMapper::GetVoiceConnectorIntegrationTypeForName(jsonValue.GetString("IntegrationType")); + + m_integrationTypeHasBeenSet = true; + } + return *this; } @@ -148,6 +157,11 @@ JsonValue VoiceConnector::Jsonize() const } + if(m_integrationTypeHasBeenSet) + { + payload.WithString("IntegrationType", VoiceConnectorIntegrationTypeMapper::GetNameForVoiceConnectorIntegrationType(m_integrationType)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/VoiceConnectorIntegrationType.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/VoiceConnectorIntegrationType.cpp new file mode 100644 index 00000000000..fa37d4c1a74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/model/VoiceConnectorIntegrationType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace ChimeSDKVoice + { + namespace Model + { + namespace VoiceConnectorIntegrationTypeMapper + { + + static const int CONNECT_CALL_TRANSFER_CONNECTOR_HASH = HashingUtils::HashString("CONNECT_CALL_TRANSFER_CONNECTOR"); + static const int CONNECT_ANALYTICS_CONNECTOR_HASH = HashingUtils::HashString("CONNECT_ANALYTICS_CONNECTOR"); + + + VoiceConnectorIntegrationType GetVoiceConnectorIntegrationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CONNECT_CALL_TRANSFER_CONNECTOR_HASH) + { + return VoiceConnectorIntegrationType::CONNECT_CALL_TRANSFER_CONNECTOR; + } + else if (hashCode == CONNECT_ANALYTICS_CONNECTOR_HASH) + { + return VoiceConnectorIntegrationType::CONNECT_ANALYTICS_CONNECTOR; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return VoiceConnectorIntegrationType::NOT_SET; + } + + Aws::String GetNameForVoiceConnectorIntegrationType(VoiceConnectorIntegrationType enumValue) + { + switch(enumValue) + { + case VoiceConnectorIntegrationType::NOT_SET: + return {}; + case VoiceConnectorIntegrationType::CONNECT_CALL_TRANSFER_CONNECTOR: + return "CONNECT_CALL_TRANSFER_CONNECTOR"; + case VoiceConnectorIntegrationType::CONNECT_ANALYTICS_CONNECTOR: + return "CONNECT_ANALYTICS_CONNECTOR"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace VoiceConnectorIntegrationTypeMapper + } // namespace Model + } // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/AthenaTableReference.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/AthenaTableReference.h new file mode 100644 index 00000000000..7f32196480e --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/AthenaTableReference.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CleanRooms +{ +namespace Model +{ + + /** + *

A reference to a table within Athena.

See Also:

AWS + * API Reference

+ */ + class AthenaTableReference + { + public: + AWS_CLEANROOMS_API AthenaTableReference(); + AWS_CLEANROOMS_API AthenaTableReference(Aws::Utils::Json::JsonView jsonValue); + AWS_CLEANROOMS_API AthenaTableReference& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The workgroup of the Athena table reference.

+ */ + inline const Aws::String& GetWorkGroup() const{ return m_workGroup; } + inline bool WorkGroupHasBeenSet() const { return m_workGroupHasBeenSet; } + inline void SetWorkGroup(const Aws::String& value) { m_workGroupHasBeenSet = true; m_workGroup = value; } + inline void SetWorkGroup(Aws::String&& value) { m_workGroupHasBeenSet = true; m_workGroup = std::move(value); } + inline void SetWorkGroup(const char* value) { m_workGroupHasBeenSet = true; m_workGroup.assign(value); } + inline AthenaTableReference& WithWorkGroup(const Aws::String& value) { SetWorkGroup(value); return *this;} + inline AthenaTableReference& WithWorkGroup(Aws::String&& value) { SetWorkGroup(std::move(value)); return *this;} + inline AthenaTableReference& WithWorkGroup(const char* value) { SetWorkGroup(value); return *this;} + ///@} + + ///@{ + /** + *

The output location for the Athena table.

+ */ + inline const Aws::String& GetOutputLocation() const{ return m_outputLocation; } + inline bool OutputLocationHasBeenSet() const { return m_outputLocationHasBeenSet; } + inline void SetOutputLocation(const Aws::String& value) { m_outputLocationHasBeenSet = true; m_outputLocation = value; } + inline void SetOutputLocation(Aws::String&& value) { m_outputLocationHasBeenSet = true; m_outputLocation = std::move(value); } + inline void SetOutputLocation(const char* value) { m_outputLocationHasBeenSet = true; m_outputLocation.assign(value); } + inline AthenaTableReference& WithOutputLocation(const Aws::String& value) { SetOutputLocation(value); return *this;} + inline AthenaTableReference& WithOutputLocation(Aws::String&& value) { SetOutputLocation(std::move(value)); return *this;} + inline AthenaTableReference& WithOutputLocation(const char* value) { SetOutputLocation(value); return *this;} + ///@} + + ///@{ + /** + *

The database name.

+ */ + inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } + inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } + inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } + inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } + inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } + inline AthenaTableReference& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} + inline AthenaTableReference& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} + inline AthenaTableReference& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} + ///@} + + ///@{ + /** + *

The table reference.

+ */ + inline const Aws::String& GetTableName() const{ return m_tableName; } + inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } + inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } + inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } + inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } + inline AthenaTableReference& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} + inline AthenaTableReference& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} + inline AthenaTableReference& WithTableName(const char* value) { SetTableName(value); return *this;} + ///@} + private: + + Aws::String m_workGroup; + bool m_workGroupHasBeenSet = false; + + Aws::String m_outputLocation; + bool m_outputLocationHasBeenSet = false; + + Aws::String m_databaseName; + bool m_databaseNameHasBeenSet = false; + + Aws::String m_tableName; + bool m_tableNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CleanRooms +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/Column.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/Column.h index fbf712a5e70..5922fa909d7 100644 --- a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/Column.h +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/Column.h @@ -24,7 +24,7 @@ namespace Model { /** - *

A column within a schema relation, derived from the underlying Glue + *

A column within a schema relation, derived from the underlying * table.

See Also:

AWS * API Reference

diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/ConfiguredTable.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/ConfiguredTable.h index 2431c7561c6..d206cbb5033 100644 --- a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/ConfiguredTable.h +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/ConfiguredTable.h @@ -101,7 +101,7 @@ namespace Model ///@{ /** - *

The Glue table that this configured table represents.

+ *

The table that this configured table represents.

*/ inline const TableReference& GetTableReference() const{ return m_tableReference; } inline bool TableReferenceHasBeenSet() const { return m_tableReferenceHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/CreateConfiguredTableRequest.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/CreateConfiguredTableRequest.h index 07b3f8ac833..0a3b5d3019d 100644 --- a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/CreateConfiguredTableRequest.h +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/CreateConfiguredTableRequest.h @@ -66,7 +66,7 @@ namespace Model ///@{ /** - *

A reference to the Glue table being configured.

+ *

A reference to the table being configured.

*/ inline const TableReference& GetTableReference() const{ return m_tableReference; } inline bool TableReferenceHasBeenSet() const { return m_tableReferenceHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableReference.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableReference.h new file mode 100644 index 00000000000..005b1e83dea --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableReference.h @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CleanRooms +{ +namespace Model +{ + + /** + *

A reference to a table within Snowflake.

See Also:

AWS + * API Reference

+ */ + class SnowflakeTableReference + { + public: + AWS_CLEANROOMS_API SnowflakeTableReference(); + AWS_CLEANROOMS_API SnowflakeTableReference(Aws::Utils::Json::JsonView jsonValue); + AWS_CLEANROOMS_API SnowflakeTableReference& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The secret ARN of the Snowflake table reference.

+ */ + inline const Aws::String& GetSecretArn() const{ return m_secretArn; } + inline bool SecretArnHasBeenSet() const { return m_secretArnHasBeenSet; } + inline void SetSecretArn(const Aws::String& value) { m_secretArnHasBeenSet = true; m_secretArn = value; } + inline void SetSecretArn(Aws::String&& value) { m_secretArnHasBeenSet = true; m_secretArn = std::move(value); } + inline void SetSecretArn(const char* value) { m_secretArnHasBeenSet = true; m_secretArn.assign(value); } + inline SnowflakeTableReference& WithSecretArn(const Aws::String& value) { SetSecretArn(value); return *this;} + inline SnowflakeTableReference& WithSecretArn(Aws::String&& value) { SetSecretArn(std::move(value)); return *this;} + inline SnowflakeTableReference& WithSecretArn(const char* value) { SetSecretArn(value); return *this;} + ///@} + + ///@{ + /** + *

The account identifier for the Snowflake table reference.

+ */ + inline const Aws::String& GetAccountIdentifier() const{ return m_accountIdentifier; } + inline bool AccountIdentifierHasBeenSet() const { return m_accountIdentifierHasBeenSet; } + inline void SetAccountIdentifier(const Aws::String& value) { m_accountIdentifierHasBeenSet = true; m_accountIdentifier = value; } + inline void SetAccountIdentifier(Aws::String&& value) { m_accountIdentifierHasBeenSet = true; m_accountIdentifier = std::move(value); } + inline void SetAccountIdentifier(const char* value) { m_accountIdentifierHasBeenSet = true; m_accountIdentifier.assign(value); } + inline SnowflakeTableReference& WithAccountIdentifier(const Aws::String& value) { SetAccountIdentifier(value); return *this;} + inline SnowflakeTableReference& WithAccountIdentifier(Aws::String&& value) { SetAccountIdentifier(std::move(value)); return *this;} + inline SnowflakeTableReference& WithAccountIdentifier(const char* value) { SetAccountIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

The name of the database the Snowflake table belongs to.

+ */ + inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } + inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } + inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } + inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } + inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } + inline SnowflakeTableReference& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} + inline SnowflakeTableReference& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} + inline SnowflakeTableReference& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} + ///@} + + ///@{ + /** + *

The name of the Snowflake table.

+ */ + inline const Aws::String& GetTableName() const{ return m_tableName; } + inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } + inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } + inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } + inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } + inline SnowflakeTableReference& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} + inline SnowflakeTableReference& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} + inline SnowflakeTableReference& WithTableName(const char* value) { SetTableName(value); return *this;} + ///@} + + ///@{ + /** + *

The schema name of the Snowflake table reference.

+ */ + inline const Aws::String& GetSchemaName() const{ return m_schemaName; } + inline bool SchemaNameHasBeenSet() const { return m_schemaNameHasBeenSet; } + inline void SetSchemaName(const Aws::String& value) { m_schemaNameHasBeenSet = true; m_schemaName = value; } + inline void SetSchemaName(Aws::String&& value) { m_schemaNameHasBeenSet = true; m_schemaName = std::move(value); } + inline void SetSchemaName(const char* value) { m_schemaNameHasBeenSet = true; m_schemaName.assign(value); } + inline SnowflakeTableReference& WithSchemaName(const Aws::String& value) { SetSchemaName(value); return *this;} + inline SnowflakeTableReference& WithSchemaName(Aws::String&& value) { SetSchemaName(std::move(value)); return *this;} + inline SnowflakeTableReference& WithSchemaName(const char* value) { SetSchemaName(value); return *this;} + ///@} + + ///@{ + /** + *

The schema of the Snowflake table.

+ */ + inline const SnowflakeTableSchema& GetTableSchema() const{ return m_tableSchema; } + inline bool TableSchemaHasBeenSet() const { return m_tableSchemaHasBeenSet; } + inline void SetTableSchema(const SnowflakeTableSchema& value) { m_tableSchemaHasBeenSet = true; m_tableSchema = value; } + inline void SetTableSchema(SnowflakeTableSchema&& value) { m_tableSchemaHasBeenSet = true; m_tableSchema = std::move(value); } + inline SnowflakeTableReference& WithTableSchema(const SnowflakeTableSchema& value) { SetTableSchema(value); return *this;} + inline SnowflakeTableReference& WithTableSchema(SnowflakeTableSchema&& value) { SetTableSchema(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_secretArn; + bool m_secretArnHasBeenSet = false; + + Aws::String m_accountIdentifier; + bool m_accountIdentifierHasBeenSet = false; + + Aws::String m_databaseName; + bool m_databaseNameHasBeenSet = false; + + Aws::String m_tableName; + bool m_tableNameHasBeenSet = false; + + Aws::String m_schemaName; + bool m_schemaNameHasBeenSet = false; + + SnowflakeTableSchema m_tableSchema; + bool m_tableSchemaHasBeenSet = false; + }; + +} // namespace Model +} // namespace CleanRooms +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableSchema.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableSchema.h new file mode 100644 index 00000000000..2b3b9d3cd61 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableSchema.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CleanRooms +{ +namespace Model +{ + + /** + *

The schema of a Snowflake table.

See Also:

AWS + * API Reference

+ */ + class SnowflakeTableSchema + { + public: + AWS_CLEANROOMS_API SnowflakeTableSchema(); + AWS_CLEANROOMS_API SnowflakeTableSchema(Aws::Utils::Json::JsonView jsonValue); + AWS_CLEANROOMS_API SnowflakeTableSchema& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The schema of a Snowflake table.

+ */ + inline const Aws::Vector& GetV1() const{ return m_v1; } + inline bool V1HasBeenSet() const { return m_v1HasBeenSet; } + inline void SetV1(const Aws::Vector& value) { m_v1HasBeenSet = true; m_v1 = value; } + inline void SetV1(Aws::Vector&& value) { m_v1HasBeenSet = true; m_v1 = std::move(value); } + inline SnowflakeTableSchema& WithV1(const Aws::Vector& value) { SetV1(value); return *this;} + inline SnowflakeTableSchema& WithV1(Aws::Vector&& value) { SetV1(std::move(value)); return *this;} + inline SnowflakeTableSchema& AddV1(const SnowflakeTableSchemaV1& value) { m_v1HasBeenSet = true; m_v1.push_back(value); return *this; } + inline SnowflakeTableSchema& AddV1(SnowflakeTableSchemaV1&& value) { m_v1HasBeenSet = true; m_v1.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_v1; + bool m_v1HasBeenSet = false; + }; + +} // namespace Model +} // namespace CleanRooms +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableSchemaV1.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableSchemaV1.h new file mode 100644 index 00000000000..83baaed0fb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/SnowflakeTableSchemaV1.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CleanRooms +{ +namespace Model +{ + + /** + *

The Snowflake table schema.

See Also:

AWS + * API Reference

+ */ + class SnowflakeTableSchemaV1 + { + public: + AWS_CLEANROOMS_API SnowflakeTableSchemaV1(); + AWS_CLEANROOMS_API SnowflakeTableSchemaV1(Aws::Utils::Json::JsonView jsonValue); + AWS_CLEANROOMS_API SnowflakeTableSchemaV1& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The column name.

+ */ + inline const Aws::String& GetColumnName() const{ return m_columnName; } + inline bool ColumnNameHasBeenSet() const { return m_columnNameHasBeenSet; } + inline void SetColumnName(const Aws::String& value) { m_columnNameHasBeenSet = true; m_columnName = value; } + inline void SetColumnName(Aws::String&& value) { m_columnNameHasBeenSet = true; m_columnName = std::move(value); } + inline void SetColumnName(const char* value) { m_columnNameHasBeenSet = true; m_columnName.assign(value); } + inline SnowflakeTableSchemaV1& WithColumnName(const Aws::String& value) { SetColumnName(value); return *this;} + inline SnowflakeTableSchemaV1& WithColumnName(Aws::String&& value) { SetColumnName(std::move(value)); return *this;} + inline SnowflakeTableSchemaV1& WithColumnName(const char* value) { SetColumnName(value); return *this;} + ///@} + + ///@{ + /** + *

The column's data type. Supported data types: ARRAY, + * BIGINT, BOOLEAN, CHAR, DATE, + * DECIMAL, DOUBLE, DOUBLE PRECISION, + * FLOAT, FLOAT4, INT, INTEGER, + * MAP, NUMERIC, NUMBER, REAL, + * SMALLINT, STRING, TIMESTAMP, + * TIMESTAMP_LTZ, TIMESTAMP_NTZ, DATETIME, + * TINYINT, VARCHAR, TEXT, + * CHARACTER.

+ */ + inline const Aws::String& GetColumnType() const{ return m_columnType; } + inline bool ColumnTypeHasBeenSet() const { return m_columnTypeHasBeenSet; } + inline void SetColumnType(const Aws::String& value) { m_columnTypeHasBeenSet = true; m_columnType = value; } + inline void SetColumnType(Aws::String&& value) { m_columnTypeHasBeenSet = true; m_columnType = std::move(value); } + inline void SetColumnType(const char* value) { m_columnTypeHasBeenSet = true; m_columnType.assign(value); } + inline SnowflakeTableSchemaV1& WithColumnType(const Aws::String& value) { SetColumnType(value); return *this;} + inline SnowflakeTableSchemaV1& WithColumnType(Aws::String&& value) { SetColumnType(std::move(value)); return *this;} + inline SnowflakeTableSchemaV1& WithColumnType(const char* value) { SetColumnType(value); return *this;} + ///@} + private: + + Aws::String m_columnName; + bool m_columnNameHasBeenSet = false; + + Aws::String m_columnType; + bool m_columnTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CleanRooms +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/TableReference.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/TableReference.h index 0a1c0750479..acd268ce92f 100644 --- a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/TableReference.h +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/model/TableReference.h @@ -6,6 +6,8 @@ #pragma once #include #include +#include +#include #include namespace Aws @@ -24,8 +26,8 @@ namespace Model { /** - *

A pointer to the dataset that underlies this table. Currently, this can only - * be an Glue table.

See Also:

A pointer to the dataset that underlies this table.

See Also:

+ *
AWS * API Reference

*/ @@ -50,10 +52,42 @@ namespace Model inline TableReference& WithGlue(const GlueTableReference& value) { SetGlue(value); return *this;} inline TableReference& WithGlue(GlueTableReference&& value) { SetGlue(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

If present, a reference to the Snowflake table referred to by this table + * reference.

+ */ + inline const SnowflakeTableReference& GetSnowflake() const{ return m_snowflake; } + inline bool SnowflakeHasBeenSet() const { return m_snowflakeHasBeenSet; } + inline void SetSnowflake(const SnowflakeTableReference& value) { m_snowflakeHasBeenSet = true; m_snowflake = value; } + inline void SetSnowflake(SnowflakeTableReference&& value) { m_snowflakeHasBeenSet = true; m_snowflake = std::move(value); } + inline TableReference& WithSnowflake(const SnowflakeTableReference& value) { SetSnowflake(value); return *this;} + inline TableReference& WithSnowflake(SnowflakeTableReference&& value) { SetSnowflake(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

If present, a reference to the Athena table referred to by this table + * reference.

+ */ + inline const AthenaTableReference& GetAthena() const{ return m_athena; } + inline bool AthenaHasBeenSet() const { return m_athenaHasBeenSet; } + inline void SetAthena(const AthenaTableReference& value) { m_athenaHasBeenSet = true; m_athena = value; } + inline void SetAthena(AthenaTableReference&& value) { m_athenaHasBeenSet = true; m_athena = std::move(value); } + inline TableReference& WithAthena(const AthenaTableReference& value) { SetAthena(value); return *this;} + inline TableReference& WithAthena(AthenaTableReference&& value) { SetAthena(std::move(value)); return *this;} + ///@} private: GlueTableReference m_glue; bool m_glueHasBeenSet = false; + + SnowflakeTableReference m_snowflake; + bool m_snowflakeHasBeenSet = false; + + AthenaTableReference m_athena; + bool m_athenaHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-cleanrooms/source/model/AthenaTableReference.cpp b/generated/src/aws-cpp-sdk-cleanrooms/source/model/AthenaTableReference.cpp new file mode 100644 index 00000000000..8fa37b39b00 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanrooms/source/model/AthenaTableReference.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CleanRooms +{ +namespace Model +{ + +AthenaTableReference::AthenaTableReference() : + m_workGroupHasBeenSet(false), + m_outputLocationHasBeenSet(false), + m_databaseNameHasBeenSet(false), + m_tableNameHasBeenSet(false) +{ +} + +AthenaTableReference::AthenaTableReference(JsonView jsonValue) + : AthenaTableReference() +{ + *this = jsonValue; +} + +AthenaTableReference& AthenaTableReference::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("workGroup")) + { + m_workGroup = jsonValue.GetString("workGroup"); + + m_workGroupHasBeenSet = true; + } + + if(jsonValue.ValueExists("outputLocation")) + { + m_outputLocation = jsonValue.GetString("outputLocation"); + + m_outputLocationHasBeenSet = true; + } + + if(jsonValue.ValueExists("databaseName")) + { + m_databaseName = jsonValue.GetString("databaseName"); + + m_databaseNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("tableName")) + { + m_tableName = jsonValue.GetString("tableName"); + + m_tableNameHasBeenSet = true; + } + + return *this; +} + +JsonValue AthenaTableReference::Jsonize() const +{ + JsonValue payload; + + if(m_workGroupHasBeenSet) + { + payload.WithString("workGroup", m_workGroup); + + } + + if(m_outputLocationHasBeenSet) + { + payload.WithString("outputLocation", m_outputLocation); + + } + + if(m_databaseNameHasBeenSet) + { + payload.WithString("databaseName", m_databaseName); + + } + + if(m_tableNameHasBeenSet) + { + payload.WithString("tableName", m_tableName); + + } + + return payload; +} + +} // namespace Model +} // namespace CleanRooms +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableReference.cpp b/generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableReference.cpp new file mode 100644 index 00000000000..e0e62cda305 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableReference.cpp @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CleanRooms +{ +namespace Model +{ + +SnowflakeTableReference::SnowflakeTableReference() : + m_secretArnHasBeenSet(false), + m_accountIdentifierHasBeenSet(false), + m_databaseNameHasBeenSet(false), + m_tableNameHasBeenSet(false), + m_schemaNameHasBeenSet(false), + m_tableSchemaHasBeenSet(false) +{ +} + +SnowflakeTableReference::SnowflakeTableReference(JsonView jsonValue) + : SnowflakeTableReference() +{ + *this = jsonValue; +} + +SnowflakeTableReference& SnowflakeTableReference::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("secretArn")) + { + m_secretArn = jsonValue.GetString("secretArn"); + + m_secretArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("accountIdentifier")) + { + m_accountIdentifier = jsonValue.GetString("accountIdentifier"); + + m_accountIdentifierHasBeenSet = true; + } + + if(jsonValue.ValueExists("databaseName")) + { + m_databaseName = jsonValue.GetString("databaseName"); + + m_databaseNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("tableName")) + { + m_tableName = jsonValue.GetString("tableName"); + + m_tableNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("schemaName")) + { + m_schemaName = jsonValue.GetString("schemaName"); + + m_schemaNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("tableSchema")) + { + m_tableSchema = jsonValue.GetObject("tableSchema"); + + m_tableSchemaHasBeenSet = true; + } + + return *this; +} + +JsonValue SnowflakeTableReference::Jsonize() const +{ + JsonValue payload; + + if(m_secretArnHasBeenSet) + { + payload.WithString("secretArn", m_secretArn); + + } + + if(m_accountIdentifierHasBeenSet) + { + payload.WithString("accountIdentifier", m_accountIdentifier); + + } + + if(m_databaseNameHasBeenSet) + { + payload.WithString("databaseName", m_databaseName); + + } + + if(m_tableNameHasBeenSet) + { + payload.WithString("tableName", m_tableName); + + } + + if(m_schemaNameHasBeenSet) + { + payload.WithString("schemaName", m_schemaName); + + } + + if(m_tableSchemaHasBeenSet) + { + payload.WithObject("tableSchema", m_tableSchema.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CleanRooms +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableSchema.cpp b/generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableSchema.cpp new file mode 100644 index 00000000000..9d01d915db4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableSchema.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CleanRooms +{ +namespace Model +{ + +SnowflakeTableSchema::SnowflakeTableSchema() : + m_v1HasBeenSet(false) +{ +} + +SnowflakeTableSchema::SnowflakeTableSchema(JsonView jsonValue) + : SnowflakeTableSchema() +{ + *this = jsonValue; +} + +SnowflakeTableSchema& SnowflakeTableSchema::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("v1")) + { + Aws::Utils::Array v1JsonList = jsonValue.GetArray("v1"); + for(unsigned v1Index = 0; v1Index < v1JsonList.GetLength(); ++v1Index) + { + m_v1.push_back(v1JsonList[v1Index].AsObject()); + } + m_v1HasBeenSet = true; + } + + return *this; +} + +JsonValue SnowflakeTableSchema::Jsonize() const +{ + JsonValue payload; + + if(m_v1HasBeenSet) + { + Aws::Utils::Array v1JsonList(m_v1.size()); + for(unsigned v1Index = 0; v1Index < v1JsonList.GetLength(); ++v1Index) + { + v1JsonList[v1Index].AsObject(m_v1[v1Index].Jsonize()); + } + payload.WithArray("v1", std::move(v1JsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace CleanRooms +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableSchemaV1.cpp b/generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableSchemaV1.cpp new file mode 100644 index 00000000000..4123d375726 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanrooms/source/model/SnowflakeTableSchemaV1.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CleanRooms +{ +namespace Model +{ + +SnowflakeTableSchemaV1::SnowflakeTableSchemaV1() : + m_columnNameHasBeenSet(false), + m_columnTypeHasBeenSet(false) +{ +} + +SnowflakeTableSchemaV1::SnowflakeTableSchemaV1(JsonView jsonValue) + : SnowflakeTableSchemaV1() +{ + *this = jsonValue; +} + +SnowflakeTableSchemaV1& SnowflakeTableSchemaV1::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("columnName")) + { + m_columnName = jsonValue.GetString("columnName"); + + m_columnNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("columnType")) + { + m_columnType = jsonValue.GetString("columnType"); + + m_columnTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue SnowflakeTableSchemaV1::Jsonize() const +{ + JsonValue payload; + + if(m_columnNameHasBeenSet) + { + payload.WithString("columnName", m_columnName); + + } + + if(m_columnTypeHasBeenSet) + { + payload.WithString("columnType", m_columnType); + + } + + return payload; +} + +} // namespace Model +} // namespace CleanRooms +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanrooms/source/model/TableReference.cpp b/generated/src/aws-cpp-sdk-cleanrooms/source/model/TableReference.cpp index a765d16deaa..ce064830d35 100644 --- a/generated/src/aws-cpp-sdk-cleanrooms/source/model/TableReference.cpp +++ b/generated/src/aws-cpp-sdk-cleanrooms/source/model/TableReference.cpp @@ -19,7 +19,9 @@ namespace Model { TableReference::TableReference() : - m_glueHasBeenSet(false) + m_glueHasBeenSet(false), + m_snowflakeHasBeenSet(false), + m_athenaHasBeenSet(false) { } @@ -38,6 +40,20 @@ TableReference& TableReference::operator =(JsonView jsonValue) m_glueHasBeenSet = true; } + if(jsonValue.ValueExists("snowflake")) + { + m_snowflake = jsonValue.GetObject("snowflake"); + + m_snowflakeHasBeenSet = true; + } + + if(jsonValue.ValueExists("athena")) + { + m_athena = jsonValue.GetObject("athena"); + + m_athenaHasBeenSet = true; + } + return *this; } @@ -51,6 +67,18 @@ JsonValue TableReference::Jsonize() const } + if(m_snowflakeHasBeenSet) + { + payload.WithObject("snowflake", m_snowflake.Jsonize()); + + } + + if(m_athenaHasBeenSet) + { + payload.WithObject("athena", m_athena.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClient.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClient.h index 859e098ad26..6646dfa23e0 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClient.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClient.h @@ -31,8 +31,8 @@ namespace Connect * information, see Amazon * Connect Service Quotas in the Amazon Connect Administrator Guide.

- *

You can connect programmatically to an Amazon Web Services service by using - * an endpoint. For a list of Amazon Connect endpoints, see You can use an endpoint to connect programmatically to an Amazon Web Services + * service. For a list of Amazon Connect endpoints, see Amazon * Connect Endpoints.

*/ @@ -2557,9 +2557,9 @@ namespace Connect * URI request parameter. However, if the number is claimed to a traffic * distribution group and you are calling this API in the alternate Amazon Web * Services Region associated with the traffic distribution group, you must provide - * a full phone number ARN. If a UUID is provided in this scenario, you will - * receive a ResourceNotFoundException.

See - * Also:

ResourceNotFoundException.

See Also:

+ *
AWS * API Reference

*/ @@ -3641,10 +3641,10 @@ namespace Connect } /** - *

Imports a claimed phone number from an external service, such as Amazon - * Pinpoint, 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 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 * API to verify the status of a previous ImportPhoneNumber operation. *

If you plan to claim or import numbers and then release @@ -5677,7 +5677,8 @@ namespace Connect *

When a chat integration event is sent with chat identifiers that do not * map to an active chat contact, a new chat contact is also created before * handling chat action.

Access to this API is currently restricted to - * Amazon Pinpoint for supporting SMS integration.

See Also:

See Also:

AWS * API Reference

*/ @@ -5945,13 +5946,13 @@ namespace Connect /** *

Initiates a new outbound SMS contact to a customer. Response of this API - * provides the ContactId of the outbound SMS contact created.

+ * provides the ContactId of the outbound SMS contact created.

* SourceEndpoint only supports Endpoints with * CONNECT_PHONENUMBER_ARN as Type and DestinationEndpoint only * supports Endpoints with TELEPHONE_NUMBER as Type. * ContactFlowId initiates the flow to manage the new SMS contact * created.

This API can be used to initiate outbound SMS contacts for an - * agent or it can also deflect an ongoing contact to an outbound SMS contact by + * agent, or it can also deflect an ongoing contact to an outbound SMS contact by * using the StartOutboundChatContact * Flow Action.

For more information about using SMS in Amazon Connect, see diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/AssociateFlowRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/AssociateFlowRequest.h index fdbc48702b4..8b32aac88ca 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/AssociateFlowRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/AssociateFlowRequest.h @@ -51,7 +51,10 @@ namespace Model ///@{ /** - *

The identifier of the resource.

+ *

The identifier of the resource.

  • Amazon Web Services End User + * Messaging SMS phone number ARN when using SMS_PHONE_NUMBER

    + *
  • Amazon Web Services End User Messaging Social phone number ARN + * when using WHATSAPP_MESSAGING_PHONE_NUMBER

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/BatchGetFlowAssociationRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/BatchGetFlowAssociationRequest.h index 8e97ffa1874..10a1ba7223b 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/BatchGetFlowAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/BatchGetFlowAssociationRequest.h @@ -52,7 +52,11 @@ namespace Model ///@{ /** - *

A list of resource identifiers to retrieve flow associations.

+ *

A list of resource identifiers to retrieve flow associations.

  • + *

    Amazon Web Services End User Messaging SMS phone number ARN when using + * SMS_PHONE_NUMBER

  • Amazon Web Services End User + * Messaging Social phone number ARN when using + * WHATSAPP_MESSAGING_PHONE_NUMBER

*/ inline const Aws::Vector& GetResourceIds() const{ return m_resourceIds; } inline bool ResourceIdsHasBeenSet() const { return m_resourceIdsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ClaimedPhoneNumberSummary.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ClaimedPhoneNumberSummary.h index 1ea8f602c33..2ef01fd92a3 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ClaimedPhoneNumberSummary.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ClaimedPhoneNumberSummary.h @@ -215,8 +215,9 @@ namespace Model ///@{ /** *

The claimed phone number ARN that was previously imported from the external - * service, such as Amazon Pinpoint. If it is from Amazon Pinpoint, it looks like - * the ARN of the phone number that was imported from Amazon Pinpoint.

+ * service, such as Amazon Web Services End User Messaging. If it is from Amazon + * Web Services End User Messaging, it looks like the ARN of the phone number that + * was imported from Amazon Web Services End User Messaging.

*/ inline const Aws::String& GetSourcePhoneNumberArn() const{ return m_sourcePhoneNumberArn; } inline bool SourcePhoneNumberArnHasBeenSet() const { return m_sourcePhoneNumberArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ContactRecordingType.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ContactRecordingType.h new file mode 100644 index 00000000000..f8ba4e82ed5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ContactRecordingType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Connect +{ +namespace Model +{ + enum class ContactRecordingType + { + NOT_SET, + AGENT, + IVR, + SCREEN + }; + +namespace ContactRecordingTypeMapper +{ +AWS_CONNECT_API ContactRecordingType GetContactRecordingTypeForName(const Aws::String& name); + +AWS_CONNECT_API Aws::String GetNameForContactRecordingType(ContactRecordingType value); +} // namespace ContactRecordingTypeMapper +} // namespace Model +} // namespace Connect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/CreateIntegrationAssociationRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/CreateIntegrationAssociationRequest.h index 048ac01125b..458adaf24e2 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/CreateIntegrationAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/CreateIntegrationAssociationRequest.h @@ -66,8 +66,9 @@ namespace Model ///@{ /** *

The Amazon Resource Name (ARN) of the integration.

When - * integrating with Amazon Pinpoint, the Amazon Connect and Amazon Pinpoint - * instances must be in the same account.

+ * integrating with Amazon Web Services End User Messaging, the Amazon Connect and + * Amazon Web Services End User Messaging instances must be in the same + * account.

*/ inline const Aws::String& GetIntegrationArn() const{ return m_integrationArn; } inline bool IntegrationArnHasBeenSet() const { return m_integrationArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/DisassociateFlowRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/DisassociateFlowRequest.h index 65d53d9d3f1..ee2e5926de8 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/DisassociateFlowRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/DisassociateFlowRequest.h @@ -51,7 +51,10 @@ namespace Model ///@{ /** - *

The identifier of the resource.

+ *

The identifier of the resource.

  • Amazon Web Services End User + * Messaging SMS phone number ARN when using SMS_PHONE_NUMBER

    + *
  • Amazon Web Services End User Messaging Social phone number ARN + * when using WHATSAPP_MESSAGING_PHONE_NUMBER

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/FlowAssociationResourceType.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/FlowAssociationResourceType.h index 42f2ad4e20e..2a860b07985 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/FlowAssociationResourceType.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/FlowAssociationResourceType.h @@ -18,7 +18,9 @@ namespace Model NOT_SET, SMS_PHONE_NUMBER, INBOUND_EMAIL, - OUTBOUND_EMAIL + OUTBOUND_EMAIL, + ANALYTICS_CONNECTOR, + WHATSAPP_MESSAGING_PHONE_NUMBER }; namespace FlowAssociationResourceTypeMapper diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetFlowAssociationRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetFlowAssociationRequest.h index e3d9e138db4..c98a0046870 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetFlowAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetFlowAssociationRequest.h @@ -51,7 +51,10 @@ namespace Model ///@{ /** - *

The identifier of the resource.

+ *

The identifier of the resource.

  • Amazon Web Services End User + * Messaging SMS phone number ARN when using SMS_PHONE_NUMBER

    + *
  • Amazon Web Services End User Messaging Social phone number ARN + * when using WHATSAPP_MESSAGING_PHONE_NUMBER

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetMetricDataV2Request.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetMetricDataV2Request.h index 11c0e920e28..c581a53d57d 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetMetricDataV2Request.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetMetricDataV2Request.h @@ -139,37 +139,43 @@ namespace Model * AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE | - * ANSWERING_MACHINE_DETECTION_STATUS | CAMPAIGN | + * ANSWERING_MACHINE_DETECTION_STATUS | BOT_ID | + * BOT_ALIAS | BOT_VERSION | BOT_LOCALE | + * BOT_INTENT_NAME | CAMPAIGN | * CAMPAIGN_DELIVERY_EVENT_TYPE |CASE_TEMPLATE_ARN | * CASE_STATUS | CHANNEL | * contact/segmentAttributes/connect:Subtype | - * DISCONNECT_REASON | FEATURE | FLOW_TYPE | - * FLOWS_NEXT_RESOURCE_ID | FLOWS_NEXT_RESOURCE_QUEUE_ID - * | FLOWS_OUTCOME_TYPE | FLOWS_RESOURCE_ID | - * INITIATION_METHOD | RESOURCE_PUBLISHED_TIMESTAMP | - * ROUTING_PROFILE | ROUTING_STEP_EXPRESSION | - * QUEUE | Q_CONNECT_ENABLED |

  • - * Filter values: A maximum of 100 filter values are supported in a single - * request. VOICE, CHAT, and TASK are valid filterValue for the - * CHANNEL filter key. They do not count towards limitation of 100 filter values. - * For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and - * 15 routing profiles for a total of 100 filter values, along with 3 channel - * filters.

    contact_lens_conversational_analytics is a valid - * filterValue for the FEATURE filter key. It is available only to - * contacts analyzed by Contact Lens conversational analytics.

    - * connect:Chat, connect:SMS, - * connect:Telephony, and connect:WebRTC are valid - * filterValue examples (not exhaustive) for the - * contact/segmentAttributes/connect:Subtype filter key.

    - * ROUTING_STEP_EXPRESSION is a valid filter key with a filter value - * up to 3000 length. This filter is case and order sensitive. JSON string fields - * must be sorted in ascending order and JSON array order should be kept as is.

    - *

    Q_CONNECT_ENABLED. TRUE and FALSE are the only valid - * filterValues for the Q_CONNECT_ENABLED filter key.

    • - *

      TRUE includes all contacts that had Amazon Q in Connect enabled as part of - * the flow.

    • FALSE includes all contacts that did not have Amazon - * Q in Connect enabled as part of the flow

    This filter is - * available only for contact record-driven metrics.

    DISCONNECT_REASON | FEATURE | + * FLOW_ACTION_ID | FLOW_TYPE | + * FLOWS_MODULE_RESOURCE_ID | FLOWS_NEXT_RESOURCE_ID | + * FLOWS_NEXT_RESOURCE_QUEUE_ID | FLOWS_OUTCOME_TYPE | + * FLOWS_RESOURCE_ID | INITIATION_METHOD | + * INVOKING_RESOURCE_PUBLISHED_TIMESTAMP | + * INVOKING_RESOURCE_TYPE | PARENT_FLOWS_RESOURCE_ID | + * RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | + * ROUTING_STEP_EXPRESSION | QUEUE | + * Q_CONNECT_ENABLED |

  • Filter values: A + * maximum of 100 filter values are supported in a single request. VOICE, CHAT, and + * TASK are valid filterValue for the CHANNEL filter key. They do not + * count towards limitation of 100 filter values. For example, a GetMetricDataV2 + * request can filter by 50 queues, 35 agents, and 15 routing profiles for a total + * of 100 filter values, along with 3 channel filters.

    + * contact_lens_conversational_analytics is a valid filterValue for + * the FEATURE filter key. It is available only to contacts analyzed + * by Contact Lens conversational analytics.

    connect:Chat, + * connect:SMS, connect:Telephony, and + * connect:WebRTC are valid filterValue examples (not + * exhaustive) for the contact/segmentAttributes/connect:Subtype + * filter key.

    ROUTING_STEP_EXPRESSION is a valid + * filter key with a filter value up to 3000 length. This filter is case and order + * sensitive. JSON string fields must be sorted in ascending order and JSON array + * order should be kept as is.

    Q_CONNECT_ENABLED. TRUE and + * FALSE are the only valid filterValues for the Q_CONNECT_ENABLED + * filter key.

    • TRUE includes all contacts that had Amazon Q in + * Connect enabled as part of the flow.

    • FALSE includes all + * contacts that did not have Amazon Q in Connect enabled as part of the flow

      + *

    This filter is available only for contact record-driven metrics. + *

    Campaign * ARNs are valid filterValues for the CAMPAIGN filter * key.

  • @@ -195,13 +201,18 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE | - * ANSWERING_MACHINE_DETECTION_STATUS | CAMPAIGN | + * ANSWERING_MACHINE_DETECTION_STATUS | BOT_ID | + * BOT_ALIAS | BOT_VERSION | BOT_LOCALE | + * BOT_INTENT_NAME | CAMPAIGN | * CAMPAIGN_DELIVERY_EVENT_TYPE | CASE_TEMPLATE_ARN | * CASE_STATUS | CHANNEL | * contact/segmentAttributes/connect:Subtype | * DISCONNECT_REASON | FLOWS_RESOURCE_ID | - * FLOWS_MODULE_RESOURCE_ID | FLOW_TYPE | - * FLOWS_OUTCOME_TYPE | INITIATION_METHOD | + * FLOWS_MODULE_RESOURCE_ID | FLOW_ACTION_ID | + * FLOW_TYPE | FLOWS_OUTCOME_TYPE | + * INITIATION_METHOD | + * INVOKING_RESOURCE_PUBLISHED_TIMESTAMP | + * INVOKING_RESOURCE_TYPE | PARENT_FLOWS_RESOURCE_ID | * Q_CONNECT_ENABLED | QUEUE | * RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | * ROUTING_STEP_EXPRESSION

    @@ -300,9 +311,23 @@ namespace Model * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in * Connect

    UI name: Average - * agent pause time

    AVG_CASE_RELATED_CONTACTS

    Unit: - * Count

    Required filter key: CASE_TEMPLATE_ARN

    Valid groupings and - * filters: CASE_TEMPLATE_ARN, CASE_STATUS

    UI name:

    AVG_BOT_CONVERSATION_TIME

    Unit: + * Seconds

    Valid groupings and filters: Channel, + * contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot version, Bot + * locale, Flows resource ID, Flows module resource ID, Flow type, Flow action ID, + * Invoking resource published timestamp, Initiation method, Invoking resource + * type, Parent flows resource ID

    UI name: Average + * bot conversation time

    AVG_BOT_CONVERSATION_TURNS
    + *

    Unit: Count

    Valid groupings and filters: Channel, + * contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot version, Bot + * locale, Flows resource ID, Flows module resource ID, Flow type, Flow action ID, + * Invoking resource published timestamp, Initiation method, Invoking resource + * type, Parent flows resource ID

    UI name: Average + * bot conversation turns

    AVG_CASE_RELATED_CONTACTS
    + *

    Unit: Count

    Required filter key: CASE_TEMPLATE_ARN

    Valid + * groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    UI name: Average * contacts per case

    AVG_CASE_RESOLUTION_TIME

    Unit: * Seconds

    Required filter key: CASE_TEMPLATE_ARN

    Valid groupings and @@ -425,12 +450,26 @@ namespace Model * filters: Campaign

    UI name: Average * wait time after customer connection

    - *
    CAMPAIGN_CONTACTS_ABANDONED_AFTER_X

    This metric is available - * only for outbound campaigns using the agent assisted voice and automated voice - * delivery modes.

    Unit: Count

    Valid groupings and filters: Agent, - * Campaign

    Threshold: For ThresholdValue, enter any whole - * number from 1 to 604800 (inclusive), in seconds. For Comparison, - * you must enter GT (for Greater than).

    UI name: BOT_CONVERSATIONS_COMPLETED

    Unit: Count

    Valid groupings + * and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot + * alias, Bot version, Bot locale, Flows resource ID, Flows module resource ID, + * Flow type, Flow action ID, Invoking resource published timestamp, Initiation + * method, Invoking resource type, Parent flows resource ID

    UI name: Bot + * conversations

    BOT_INTENTS_COMPLETED

    Unit: + * Count

    Valid groupings and filters: Channel, + * contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot version, Bot + * locale, Bot intent name, Flows resource ID, Flows module resource ID, Flow type, + * Flow action ID, Invoking resource published timestamp, Initiation method, + * Invoking resource type, Parent flows resource ID

    UI name: Bot + * intents completed

    CAMPAIGN_CONTACTS_ABANDONED_AFTER_X
    + *

    This metric is available only for outbound campaigns using the agent + * assisted voice and automated voice delivery modes.

    Unit: Count

    + *

    Valid groupings and filters: Agent, Campaign

    Threshold: For + * ThresholdValue, enter any whole number from 1 to 604800 + * (inclusive), in seconds. For Comparison, you must enter + * GT (for Greater than).

    UI name: Campaign * contacts abandoned after X

    *
    CAMPAIGN_CONTACTS_ABANDONED_AFTER_X_RATE

    This metric is @@ -608,8 +647,22 @@ namespace Model * Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows * resource ID, Initiation method, Resource published timestamp

    UI name: Minimum - * flow time

    PERCENT_CASES_FIRST_CONTACT_RESOLVED
    - *

    Unit: Percent

    Required filter key: CASE_TEMPLATE_ARN

    Valid + * flow time

    PERCENT_BOT_CONVERSATIONS_OUTCOME
    + *

    Unit: Percent

    Valid groupings and filters: Channel, + * contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot version, Bot + * locale, Flows resource ID, Flows module resource ID, Flow type, Flow action ID, + * Invoking resource published timestamp, Initiation method, Invoking resource + * type, Parent flows resource ID

    UI name: Percent + * bot conversations outcome

    PERCENT_BOT_INTENTS_OUTCOME
    + *

    Unit: Percent

    Valid groupings and filters: Channel, + * contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot version, Bot + * locale, Bot intent name, Flows resource ID, Flows module resource ID, Flow type, + * Flow action ID, Invoking resource published timestamp, Initiation method, + * Invoking resource type, Parent flows resource ID

    UI name: Percent + * bot intents outcome

    PERCENT_CASES_FIRST_CONTACT_RESOLVED
    + *

    Unit: Percent

    Required filter key: CASE_TEMPLATE_ARN

    Valid * groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    UI name: Cases * resolved on first contact

    PERCENT_CONTACTS_STEP_EXPIRED
    diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ImportPhoneNumberRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ImportPhoneNumberRequest.h index cef42c950e6..1eb4a77f43d 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ImportPhoneNumberRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ImportPhoneNumberRequest.h @@ -53,8 +53,9 @@ namespace Model ///@{ /** *

    The claimed phone number ARN being imported from the external service, such - * as Amazon Pinpoint. If it is from Amazon Pinpoint, it looks like the ARN of the - * phone number to import from Amazon Pinpoint.

    + * as Amazon Web Services End User Messaging. If it is from Amazon Web Services End + * User Messaging, it looks like the ARN of the phone number to import from Amazon + * Web Services End User Messaging.

    */ inline const Aws::String& GetSourcePhoneNumberArn() const{ return m_sourcePhoneNumberArn; } inline bool SourcePhoneNumberArnHasBeenSet() const { return m_sourcePhoneNumberArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/IntegrationType.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/IntegrationType.h index d093e957986..e3f6afd2c7b 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/IntegrationType.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/IntegrationType.h @@ -26,7 +26,9 @@ namespace Model CASES_DOMAIN, APPLICATION, FILE_SCANNER, - SES_IDENTITY + SES_IDENTITY, + ANALYTICS_CONNECTOR, + CALL_TRANSFER_CONNECTOR }; namespace IntegrationTypeMapper diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/IvrRecordingTrack.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/IvrRecordingTrack.h new file mode 100644 index 00000000000..9c872018307 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/IvrRecordingTrack.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Connect +{ +namespace Model +{ + enum class IvrRecordingTrack + { + NOT_SET, + ALL + }; + +namespace IvrRecordingTrackMapper +{ +AWS_CONNECT_API IvrRecordingTrack GetIvrRecordingTrackForName(const Aws::String& name); + +AWS_CONNECT_API Aws::String GetNameForIvrRecordingTrack(IvrRecordingTrack value); +} // namespace IvrRecordingTrackMapper +} // namespace Model +} // namespace Connect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ListFlowAssociationResourceType.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ListFlowAssociationResourceType.h index 0a86cb62015..30cb648413f 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ListFlowAssociationResourceType.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ListFlowAssociationResourceType.h @@ -16,9 +16,11 @@ namespace Model enum class ListFlowAssociationResourceType { NOT_SET, + WHATSAPP_MESSAGING_PHONE_NUMBER, VOICE_PHONE_NUMBER, INBOUND_EMAIL, - OUTBOUND_EMAIL + OUTBOUND_EMAIL, + ANALYTICS_CONNECTOR }; namespace ListFlowAssociationResourceTypeMapper diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ListPhoneNumbersSummary.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ListPhoneNumbersSummary.h index 14825e19329..0f62526c214 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ListPhoneNumbersSummary.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ListPhoneNumbersSummary.h @@ -156,8 +156,9 @@ namespace Model ///@{ /** *

    The claimed phone number ARN that was previously imported from the external - * service, such as Amazon Pinpoint. If it is from Amazon Pinpoint, it looks like - * the ARN of the phone number that was imported from Amazon Pinpoint.

    + * service, such as Amazon Web Services End User Messaging. If it is from Amazon + * Web Services End User Messaging, it looks like the ARN of the phone number that + * was imported from Amazon Web Services End User Messaging.

    */ inline const Aws::String& GetSourcePhoneNumberArn() const{ return m_sourcePhoneNumberArn; } inline bool SourcePhoneNumberArnHasBeenSet() const { return m_sourcePhoneNumberArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/MetricFilterV2.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/MetricFilterV2.h index 59cfa764300..27cb4f632a8 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/MetricFilterV2.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/MetricFilterV2.h @@ -73,7 +73,16 @@ namespace Model * the metric-level filter FLOWS_OUTCOME_TYPE, see the description for * the Flow - * outcome metric in the Amazon Connect Administrator Guide.

    + * outcome metric in the Amazon Connect Administrator Guide.

    For + * valid values of the metric-level filter + * BOT_CONVERSATION_OUTCOME_TYPE, see the description for the Bot + * conversations completed in the Amazon Connect Administrator + * Guide.

    For valid values of the metric-level filter + * BOT_INTENT_OUTCOME_TYPE, see the description for the Bot + * intents completed metric in the Amazon Connect Administrator + * Guide.

    */ inline const Aws::Vector& GetMetricFilterValues() const{ return m_metricFilterValues; } inline bool MetricFilterValuesHasBeenSet() const { return m_metricFilterValuesHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/QueueInfoInput.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/QueueInfoInput.h new file mode 100644 index 00000000000..2bc2602d23c --- /dev/null +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/QueueInfoInput.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Connect +{ +namespace Model +{ + + /** + *

    Information about a queue.

    See Also:

    AWS + * API Reference

    + */ + class QueueInfoInput + { + public: + AWS_CONNECT_API QueueInfoInput(); + AWS_CONNECT_API QueueInfoInput(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECT_API QueueInfoInput& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The identifier of the queue.

    + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline QueueInfoInput& WithId(const Aws::String& value) { SetId(value); return *this;} + inline QueueInfoInput& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline QueueInfoInput& WithId(const char* value) { SetId(value); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace Connect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ResumeContactRecordingRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ResumeContactRecordingRequest.h index ba24c970481..bd7929c96e3 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ResumeContactRecordingRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ResumeContactRecordingRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -76,6 +77,18 @@ namespace Model inline ResumeContactRecordingRequest& WithInitialContactId(Aws::String&& value) { SetInitialContactId(std::move(value)); return *this;} inline ResumeContactRecordingRequest& WithInitialContactId(const char* value) { SetInitialContactId(value); return *this;} ///@} + + ///@{ + /** + *

    The type of recording being operated on.

    + */ + inline const ContactRecordingType& GetContactRecordingType() const{ return m_contactRecordingType; } + inline bool ContactRecordingTypeHasBeenSet() const { return m_contactRecordingTypeHasBeenSet; } + inline void SetContactRecordingType(const ContactRecordingType& value) { m_contactRecordingTypeHasBeenSet = true; m_contactRecordingType = value; } + inline void SetContactRecordingType(ContactRecordingType&& value) { m_contactRecordingTypeHasBeenSet = true; m_contactRecordingType = std::move(value); } + inline ResumeContactRecordingRequest& WithContactRecordingType(const ContactRecordingType& value) { SetContactRecordingType(value); return *this;} + inline ResumeContactRecordingRequest& WithContactRecordingType(ContactRecordingType&& value) { SetContactRecordingType(std::move(value)); return *this;} + ///@} private: Aws::String m_instanceId; @@ -86,6 +99,9 @@ namespace Model Aws::String m_initialContactId; bool m_initialContactIdHasBeenSet = false; + + ContactRecordingType m_contactRecordingType; + bool m_contactRecordingTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SecurityProfile.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SecurityProfile.h index 069e7e7670c..d14eba638bd 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SecurityProfile.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SecurityProfile.h @@ -70,7 +70,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Name (ARN) for the secruity profile.

    + *

    The Amazon Resource Name (ARN) for the security profile.

    */ inline const Aws::String& GetArn() const{ return m_arn; } inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SendChatIntegrationEventRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SendChatIntegrationEventRequest.h index dd8868b66c1..81087907134 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SendChatIntegrationEventRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SendChatIntegrationEventRequest.h @@ -54,8 +54,9 @@ namespace Model /** *

    Chat system identifier, used in part to uniquely identify chat. This is * associated with the Amazon Connect instance and flow to be used to start chats. - * For SMS, this is the phone number destination of inbound SMS messages - * represented by an Amazon Pinpoint phone number ARN.

    + * For Server Migration Service, this is the phone number destination of inbound + * Server Migration Service messages represented by an Amazon Web Services End User + * Messaging phone number ARN.

    */ inline const Aws::String& GetDestinationId() const{ return m_destinationId; } inline bool DestinationIdHasBeenSet() const { return m_destinationIdHasBeenSet; } @@ -70,7 +71,7 @@ namespace Model ///@{ /** *

    Classification of a channel. This is used in part to uniquely identify chat. - *

    Valid value: ["connect:sms"]

    + *

    Valid value: ["connect:sms", connect:"WhatsApp"]

    */ inline const Aws::String& GetSubtype() const{ return m_subtype; } inline bool SubtypeHasBeenSet() const { return m_subtypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/StopContactRecordingRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/StopContactRecordingRequest.h index 26d72a77bae..efa5bbbe690 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/StopContactRecordingRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/StopContactRecordingRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -76,6 +77,18 @@ namespace Model inline StopContactRecordingRequest& WithInitialContactId(Aws::String&& value) { SetInitialContactId(std::move(value)); return *this;} inline StopContactRecordingRequest& WithInitialContactId(const char* value) { SetInitialContactId(value); return *this;} ///@} + + ///@{ + /** + *

    The type of recording being operated on.

    + */ + inline const ContactRecordingType& GetContactRecordingType() const{ return m_contactRecordingType; } + inline bool ContactRecordingTypeHasBeenSet() const { return m_contactRecordingTypeHasBeenSet; } + inline void SetContactRecordingType(const ContactRecordingType& value) { m_contactRecordingTypeHasBeenSet = true; m_contactRecordingType = value; } + inline void SetContactRecordingType(ContactRecordingType&& value) { m_contactRecordingTypeHasBeenSet = true; m_contactRecordingType = std::move(value); } + inline StopContactRecordingRequest& WithContactRecordingType(const ContactRecordingType& value) { SetContactRecordingType(value); return *this;} + inline StopContactRecordingRequest& WithContactRecordingType(ContactRecordingType&& value) { SetContactRecordingType(std::move(value)); return *this;} + ///@} private: Aws::String m_instanceId; @@ -86,6 +99,9 @@ namespace Model Aws::String m_initialContactId; bool m_initialContactIdHasBeenSet = false; + + ContactRecordingType m_contactRecordingType; + bool m_contactRecordingTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SuspendContactRecordingRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SuspendContactRecordingRequest.h index 3d44a8812e2..a556f88d9ea 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SuspendContactRecordingRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/SuspendContactRecordingRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -76,6 +77,18 @@ namespace Model inline SuspendContactRecordingRequest& WithInitialContactId(Aws::String&& value) { SetInitialContactId(std::move(value)); return *this;} inline SuspendContactRecordingRequest& WithInitialContactId(const char* value) { SetInitialContactId(value); return *this;} ///@} + + ///@{ + /** + *

    The type of recording being operated on.

    + */ + inline const ContactRecordingType& GetContactRecordingType() const{ return m_contactRecordingType; } + inline bool ContactRecordingTypeHasBeenSet() const { return m_contactRecordingTypeHasBeenSet; } + inline void SetContactRecordingType(const ContactRecordingType& value) { m_contactRecordingTypeHasBeenSet = true; m_contactRecordingType = value; } + inline void SetContactRecordingType(ContactRecordingType&& value) { m_contactRecordingTypeHasBeenSet = true; m_contactRecordingType = std::move(value); } + inline SuspendContactRecordingRequest& WithContactRecordingType(const ContactRecordingType& value) { SetContactRecordingType(value); return *this;} + inline SuspendContactRecordingRequest& WithContactRecordingType(ContactRecordingType&& value) { SetContactRecordingType(std::move(value)); return *this;} + ///@} private: Aws::String m_instanceId; @@ -86,6 +99,9 @@ namespace Model Aws::String m_initialContactId; bool m_initialContactIdHasBeenSet = false; + + ContactRecordingType m_contactRecordingType; + bool m_contactRecordingTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/TagSet.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/TagSet.h index 6d515983b05..6f7db66ce8e 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/TagSet.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/TagSet.h @@ -39,7 +39,7 @@ namespace Model ///@{ /** - *

    The tag key in the tagSet.

    + *

    The tag key in the TagSet.

    */ inline const Aws::String& GetKey() const{ return m_key; } inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/UpdateContactRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/UpdateContactRequest.h index 2ce37bad9d5..e597f36c407 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/UpdateContactRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/UpdateContactRequest.h @@ -8,6 +8,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -136,6 +139,78 @@ namespace Model inline UpdateContactRequest& AddSegmentAttributes(const char* key, SegmentAttributeValue&& value) { m_segmentAttributesHasBeenSet = true; m_segmentAttributes.emplace(key, std::move(value)); return *this; } inline UpdateContactRequest& AddSegmentAttributes(const char* key, const SegmentAttributeValue& value) { m_segmentAttributesHasBeenSet = true; m_segmentAttributes.emplace(key, value); return *this; } ///@} + + ///@{ + /** + *

    Information about the queue associated with a contact. This parameter can + * only be updated for external audio contacts. It is used when you integrate + * third-party systems with Contact Lens for analytics. For more information, see + * Amazon + * Connect Contact Lens integration in the Amazon Connect Administrator + * Guide.

    + */ + inline const QueueInfoInput& GetQueueInfo() const{ return m_queueInfo; } + inline bool QueueInfoHasBeenSet() const { return m_queueInfoHasBeenSet; } + inline void SetQueueInfo(const QueueInfoInput& value) { m_queueInfoHasBeenSet = true; m_queueInfo = value; } + inline void SetQueueInfo(QueueInfoInput&& value) { m_queueInfoHasBeenSet = true; m_queueInfo = std::move(value); } + inline UpdateContactRequest& WithQueueInfo(const QueueInfoInput& value) { SetQueueInfo(value); return *this;} + inline UpdateContactRequest& WithQueueInfo(QueueInfoInput&& value) { SetQueueInfo(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Information about the agent associated with a contact. This parameter can + * only be updated for external audio contacts. It is used when you integrate + * third-party systems with Contact Lens for analytics. For more information, see + * Amazon + * Connect Contact Lens integration in the Amazon Connect Administrator + * Guide.

    + */ + inline const UserInfo& GetUserInfo() const{ return m_userInfo; } + inline bool UserInfoHasBeenSet() const { return m_userInfoHasBeenSet; } + inline void SetUserInfo(const UserInfo& value) { m_userInfoHasBeenSet = true; m_userInfo = value; } + inline void SetUserInfo(UserInfo&& value) { m_userInfoHasBeenSet = true; m_userInfo = std::move(value); } + inline UpdateContactRequest& WithUserInfo(const UserInfo& value) { SetUserInfo(value); return *this;} + inline UpdateContactRequest& WithUserInfo(UserInfo&& value) { SetUserInfo(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The endpoint of the customer for which the contact was initiated. For + * external audio contacts, this is usually the end customer's phone number. This + * value can only be updated for external audio contacts. For more information, see + * Amazon + * Connect Contact Lens integration in the Amazon Connect Administrator + * Guide.

    + */ + inline const Endpoint& GetCustomerEndpoint() const{ return m_customerEndpoint; } + inline bool CustomerEndpointHasBeenSet() const { return m_customerEndpointHasBeenSet; } + inline void SetCustomerEndpoint(const Endpoint& value) { m_customerEndpointHasBeenSet = true; m_customerEndpoint = value; } + inline void SetCustomerEndpoint(Endpoint&& value) { m_customerEndpointHasBeenSet = true; m_customerEndpoint = std::move(value); } + inline UpdateContactRequest& WithCustomerEndpoint(const Endpoint& value) { SetCustomerEndpoint(value); return *this;} + inline UpdateContactRequest& WithCustomerEndpoint(Endpoint&& value) { SetCustomerEndpoint(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    External system endpoint for the contact was initiated. For external audio + * contacts, this is the phone number of the external system such as the contact + * center. This value can only be updated for external audio contacts. For more + * information, see Amazon + * Connect Contact Lens integration in the Amazon Connect Administrator + * Guide.

    + */ + inline const Endpoint& GetSystemEndpoint() const{ return m_systemEndpoint; } + inline bool SystemEndpointHasBeenSet() const { return m_systemEndpointHasBeenSet; } + inline void SetSystemEndpoint(const Endpoint& value) { m_systemEndpointHasBeenSet = true; m_systemEndpoint = value; } + inline void SetSystemEndpoint(Endpoint&& value) { m_systemEndpointHasBeenSet = true; m_systemEndpoint = std::move(value); } + inline UpdateContactRequest& WithSystemEndpoint(const Endpoint& value) { SetSystemEndpoint(value); return *this;} + inline UpdateContactRequest& WithSystemEndpoint(Endpoint&& value) { SetSystemEndpoint(std::move(value)); return *this;} + ///@} private: Aws::String m_instanceId; @@ -155,6 +230,18 @@ namespace Model Aws::Map m_segmentAttributes; bool m_segmentAttributesHasBeenSet = false; + + QueueInfoInput m_queueInfo; + bool m_queueInfoHasBeenSet = false; + + UserInfo m_userInfo; + bool m_userInfoHasBeenSet = false; + + Endpoint m_customerEndpoint; + bool m_customerEndpointHasBeenSet = false; + + Endpoint m_systemEndpoint; + bool m_systemEndpointHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/VoiceRecordingConfiguration.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/VoiceRecordingConfiguration.h index d72fcd10850..473799cb34a 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/VoiceRecordingConfiguration.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/VoiceRecordingConfiguration.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -49,10 +50,25 @@ namespace Model inline VoiceRecordingConfiguration& WithVoiceRecordingTrack(const VoiceRecordingTrack& value) { SetVoiceRecordingTrack(value); return *this;} inline VoiceRecordingConfiguration& WithVoiceRecordingTrack(VoiceRecordingTrack&& value) { SetVoiceRecordingTrack(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    Identifies which IVR track is being recorded.

    + */ + inline const IvrRecordingTrack& GetIvrRecordingTrack() const{ return m_ivrRecordingTrack; } + inline bool IvrRecordingTrackHasBeenSet() const { return m_ivrRecordingTrackHasBeenSet; } + inline void SetIvrRecordingTrack(const IvrRecordingTrack& value) { m_ivrRecordingTrackHasBeenSet = true; m_ivrRecordingTrack = value; } + inline void SetIvrRecordingTrack(IvrRecordingTrack&& value) { m_ivrRecordingTrackHasBeenSet = true; m_ivrRecordingTrack = std::move(value); } + inline VoiceRecordingConfiguration& WithIvrRecordingTrack(const IvrRecordingTrack& value) { SetIvrRecordingTrack(value); return *this;} + inline VoiceRecordingConfiguration& WithIvrRecordingTrack(IvrRecordingTrack&& value) { SetIvrRecordingTrack(std::move(value)); return *this;} + ///@} private: VoiceRecordingTrack m_voiceRecordingTrack; bool m_voiceRecordingTrackHasBeenSet = false; + + IvrRecordingTrack m_ivrRecordingTrack; + bool m_ivrRecordingTrackHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-connect/source/model/ContactRecordingType.cpp b/generated/src/aws-cpp-sdk-connect/source/model/ContactRecordingType.cpp new file mode 100644 index 00000000000..0acd0eb7b68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connect/source/model/ContactRecordingType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Connect + { + namespace Model + { + namespace ContactRecordingTypeMapper + { + + static const int AGENT_HASH = HashingUtils::HashString("AGENT"); + static const int IVR_HASH = HashingUtils::HashString("IVR"); + static const int SCREEN_HASH = HashingUtils::HashString("SCREEN"); + + + ContactRecordingType GetContactRecordingTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AGENT_HASH) + { + return ContactRecordingType::AGENT; + } + else if (hashCode == IVR_HASH) + { + return ContactRecordingType::IVR; + } + else if (hashCode == SCREEN_HASH) + { + return ContactRecordingType::SCREEN; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ContactRecordingType::NOT_SET; + } + + Aws::String GetNameForContactRecordingType(ContactRecordingType enumValue) + { + switch(enumValue) + { + case ContactRecordingType::NOT_SET: + return {}; + case ContactRecordingType::AGENT: + return "AGENT"; + case ContactRecordingType::IVR: + return "IVR"; + case ContactRecordingType::SCREEN: + return "SCREEN"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ContactRecordingTypeMapper + } // namespace Model + } // namespace Connect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connect/source/model/FlowAssociationResourceType.cpp b/generated/src/aws-cpp-sdk-connect/source/model/FlowAssociationResourceType.cpp index aaad9645123..55843499a2d 100644 --- a/generated/src/aws-cpp-sdk-connect/source/model/FlowAssociationResourceType.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/model/FlowAssociationResourceType.cpp @@ -23,6 +23,8 @@ namespace Aws static const int SMS_PHONE_NUMBER_HASH = HashingUtils::HashString("SMS_PHONE_NUMBER"); static const int INBOUND_EMAIL_HASH = HashingUtils::HashString("INBOUND_EMAIL"); static const int OUTBOUND_EMAIL_HASH = HashingUtils::HashString("OUTBOUND_EMAIL"); + static const int ANALYTICS_CONNECTOR_HASH = HashingUtils::HashString("ANALYTICS_CONNECTOR"); + static const int WHATSAPP_MESSAGING_PHONE_NUMBER_HASH = HashingUtils::HashString("WHATSAPP_MESSAGING_PHONE_NUMBER"); FlowAssociationResourceType GetFlowAssociationResourceTypeForName(const Aws::String& name) @@ -40,6 +42,14 @@ namespace Aws { return FlowAssociationResourceType::OUTBOUND_EMAIL; } + else if (hashCode == ANALYTICS_CONNECTOR_HASH) + { + return FlowAssociationResourceType::ANALYTICS_CONNECTOR; + } + else if (hashCode == WHATSAPP_MESSAGING_PHONE_NUMBER_HASH) + { + return FlowAssociationResourceType::WHATSAPP_MESSAGING_PHONE_NUMBER; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +72,10 @@ namespace Aws return "INBOUND_EMAIL"; case FlowAssociationResourceType::OUTBOUND_EMAIL: return "OUTBOUND_EMAIL"; + case FlowAssociationResourceType::ANALYTICS_CONNECTOR: + return "ANALYTICS_CONNECTOR"; + case FlowAssociationResourceType::WHATSAPP_MESSAGING_PHONE_NUMBER: + return "WHATSAPP_MESSAGING_PHONE_NUMBER"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-connect/source/model/IntegrationType.cpp b/generated/src/aws-cpp-sdk-connect/source/model/IntegrationType.cpp index e550ce44794..0598bd918b7 100644 --- a/generated/src/aws-cpp-sdk-connect/source/model/IntegrationType.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/model/IntegrationType.cpp @@ -31,6 +31,8 @@ namespace Aws static const int APPLICATION_HASH = HashingUtils::HashString("APPLICATION"); static const int FILE_SCANNER_HASH = HashingUtils::HashString("FILE_SCANNER"); static const int SES_IDENTITY_HASH = HashingUtils::HashString("SES_IDENTITY"); + static const int ANALYTICS_CONNECTOR_HASH = HashingUtils::HashString("ANALYTICS_CONNECTOR"); + static const int CALL_TRANSFER_CONNECTOR_HASH = HashingUtils::HashString("CALL_TRANSFER_CONNECTOR"); IntegrationType GetIntegrationTypeForName(const Aws::String& name) @@ -80,6 +82,14 @@ namespace Aws { return IntegrationType::SES_IDENTITY; } + else if (hashCode == ANALYTICS_CONNECTOR_HASH) + { + return IntegrationType::ANALYTICS_CONNECTOR; + } + else if (hashCode == CALL_TRANSFER_CONNECTOR_HASH) + { + return IntegrationType::CALL_TRANSFER_CONNECTOR; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -118,6 +128,10 @@ namespace Aws return "FILE_SCANNER"; case IntegrationType::SES_IDENTITY: return "SES_IDENTITY"; + case IntegrationType::ANALYTICS_CONNECTOR: + return "ANALYTICS_CONNECTOR"; + case IntegrationType::CALL_TRANSFER_CONNECTOR: + return "CALL_TRANSFER_CONNECTOR"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-connect/source/model/IvrRecordingTrack.cpp b/generated/src/aws-cpp-sdk-connect/source/model/IvrRecordingTrack.cpp new file mode 100644 index 00000000000..f8696488c92 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connect/source/model/IvrRecordingTrack.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Connect + { + namespace Model + { + namespace IvrRecordingTrackMapper + { + + static const int ALL_HASH = HashingUtils::HashString("ALL"); + + + IvrRecordingTrack GetIvrRecordingTrackForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ALL_HASH) + { + return IvrRecordingTrack::ALL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IvrRecordingTrack::NOT_SET; + } + + Aws::String GetNameForIvrRecordingTrack(IvrRecordingTrack enumValue) + { + switch(enumValue) + { + case IvrRecordingTrack::NOT_SET: + return {}; + case IvrRecordingTrack::ALL: + return "ALL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IvrRecordingTrackMapper + } // namespace Model + } // namespace Connect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connect/source/model/ListFlowAssociationResourceType.cpp b/generated/src/aws-cpp-sdk-connect/source/model/ListFlowAssociationResourceType.cpp index b8a77f411c5..1cd4ce90435 100644 --- a/generated/src/aws-cpp-sdk-connect/source/model/ListFlowAssociationResourceType.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/model/ListFlowAssociationResourceType.cpp @@ -20,15 +20,21 @@ namespace Aws namespace ListFlowAssociationResourceTypeMapper { + static const int WHATSAPP_MESSAGING_PHONE_NUMBER_HASH = HashingUtils::HashString("WHATSAPP_MESSAGING_PHONE_NUMBER"); static const int VOICE_PHONE_NUMBER_HASH = HashingUtils::HashString("VOICE_PHONE_NUMBER"); static const int INBOUND_EMAIL_HASH = HashingUtils::HashString("INBOUND_EMAIL"); static const int OUTBOUND_EMAIL_HASH = HashingUtils::HashString("OUTBOUND_EMAIL"); + static const int ANALYTICS_CONNECTOR_HASH = HashingUtils::HashString("ANALYTICS_CONNECTOR"); ListFlowAssociationResourceType GetListFlowAssociationResourceTypeForName(const Aws::String& name) { int hashCode = HashingUtils::HashString(name.c_str()); - if (hashCode == VOICE_PHONE_NUMBER_HASH) + if (hashCode == WHATSAPP_MESSAGING_PHONE_NUMBER_HASH) + { + return ListFlowAssociationResourceType::WHATSAPP_MESSAGING_PHONE_NUMBER; + } + else if (hashCode == VOICE_PHONE_NUMBER_HASH) { return ListFlowAssociationResourceType::VOICE_PHONE_NUMBER; } @@ -40,6 +46,10 @@ namespace Aws { return ListFlowAssociationResourceType::OUTBOUND_EMAIL; } + else if (hashCode == ANALYTICS_CONNECTOR_HASH) + { + return ListFlowAssociationResourceType::ANALYTICS_CONNECTOR; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -56,12 +66,16 @@ namespace Aws { case ListFlowAssociationResourceType::NOT_SET: return {}; + case ListFlowAssociationResourceType::WHATSAPP_MESSAGING_PHONE_NUMBER: + return "WHATSAPP_MESSAGING_PHONE_NUMBER"; case ListFlowAssociationResourceType::VOICE_PHONE_NUMBER: return "VOICE_PHONE_NUMBER"; case ListFlowAssociationResourceType::INBOUND_EMAIL: return "INBOUND_EMAIL"; case ListFlowAssociationResourceType::OUTBOUND_EMAIL: return "OUTBOUND_EMAIL"; + case ListFlowAssociationResourceType::ANALYTICS_CONNECTOR: + return "ANALYTICS_CONNECTOR"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-connect/source/model/QueueInfoInput.cpp b/generated/src/aws-cpp-sdk-connect/source/model/QueueInfoInput.cpp new file mode 100644 index 00000000000..647ecd7f403 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connect/source/model/QueueInfoInput.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Connect +{ +namespace Model +{ + +QueueInfoInput::QueueInfoInput() : + m_idHasBeenSet(false) +{ +} + +QueueInfoInput::QueueInfoInput(JsonView jsonValue) + : QueueInfoInput() +{ + *this = jsonValue; +} + +QueueInfoInput& QueueInfoInput::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + return *this; +} + +JsonValue QueueInfoInput::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + return payload; +} + +} // namespace Model +} // namespace Connect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connect/source/model/ResumeContactRecordingRequest.cpp b/generated/src/aws-cpp-sdk-connect/source/model/ResumeContactRecordingRequest.cpp index e1062294fcf..9d20d664aed 100644 --- a/generated/src/aws-cpp-sdk-connect/source/model/ResumeContactRecordingRequest.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/model/ResumeContactRecordingRequest.cpp @@ -15,7 +15,9 @@ using namespace Aws::Utils; ResumeContactRecordingRequest::ResumeContactRecordingRequest() : m_instanceIdHasBeenSet(false), m_contactIdHasBeenSet(false), - m_initialContactIdHasBeenSet(false) + m_initialContactIdHasBeenSet(false), + m_contactRecordingType(ContactRecordingType::NOT_SET), + m_contactRecordingTypeHasBeenSet(false) { } @@ -41,6 +43,11 @@ Aws::String ResumeContactRecordingRequest::SerializePayload() const } + if(m_contactRecordingTypeHasBeenSet) + { + payload.WithString("ContactRecordingType", ContactRecordingTypeMapper::GetNameForContactRecordingType(m_contactRecordingType)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-connect/source/model/StopContactRecordingRequest.cpp b/generated/src/aws-cpp-sdk-connect/source/model/StopContactRecordingRequest.cpp index 4f14db4ed08..33b0a56c6d9 100644 --- a/generated/src/aws-cpp-sdk-connect/source/model/StopContactRecordingRequest.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/model/StopContactRecordingRequest.cpp @@ -15,7 +15,9 @@ using namespace Aws::Utils; StopContactRecordingRequest::StopContactRecordingRequest() : m_instanceIdHasBeenSet(false), m_contactIdHasBeenSet(false), - m_initialContactIdHasBeenSet(false) + m_initialContactIdHasBeenSet(false), + m_contactRecordingType(ContactRecordingType::NOT_SET), + m_contactRecordingTypeHasBeenSet(false) { } @@ -41,6 +43,11 @@ Aws::String StopContactRecordingRequest::SerializePayload() const } + if(m_contactRecordingTypeHasBeenSet) + { + payload.WithString("ContactRecordingType", ContactRecordingTypeMapper::GetNameForContactRecordingType(m_contactRecordingType)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-connect/source/model/SuspendContactRecordingRequest.cpp b/generated/src/aws-cpp-sdk-connect/source/model/SuspendContactRecordingRequest.cpp index 50f899c38f1..b83762bd8d5 100644 --- a/generated/src/aws-cpp-sdk-connect/source/model/SuspendContactRecordingRequest.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/model/SuspendContactRecordingRequest.cpp @@ -15,7 +15,9 @@ using namespace Aws::Utils; SuspendContactRecordingRequest::SuspendContactRecordingRequest() : m_instanceIdHasBeenSet(false), m_contactIdHasBeenSet(false), - m_initialContactIdHasBeenSet(false) + m_initialContactIdHasBeenSet(false), + m_contactRecordingType(ContactRecordingType::NOT_SET), + m_contactRecordingTypeHasBeenSet(false) { } @@ -41,6 +43,11 @@ Aws::String SuspendContactRecordingRequest::SerializePayload() const } + if(m_contactRecordingTypeHasBeenSet) + { + payload.WithString("ContactRecordingType", ContactRecordingTypeMapper::GetNameForContactRecordingType(m_contactRecordingType)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-connect/source/model/UpdateContactRequest.cpp b/generated/src/aws-cpp-sdk-connect/source/model/UpdateContactRequest.cpp index 93edd5f417d..b2f63b7dafa 100644 --- a/generated/src/aws-cpp-sdk-connect/source/model/UpdateContactRequest.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/model/UpdateContactRequest.cpp @@ -18,7 +18,11 @@ UpdateContactRequest::UpdateContactRequest() : m_nameHasBeenSet(false), m_descriptionHasBeenSet(false), m_referencesHasBeenSet(false), - m_segmentAttributesHasBeenSet(false) + m_segmentAttributesHasBeenSet(false), + m_queueInfoHasBeenSet(false), + m_userInfoHasBeenSet(false), + m_customerEndpointHasBeenSet(false), + m_systemEndpointHasBeenSet(false) { } @@ -60,6 +64,30 @@ Aws::String UpdateContactRequest::SerializePayload() const } + if(m_queueInfoHasBeenSet) + { + payload.WithObject("QueueInfo", m_queueInfo.Jsonize()); + + } + + if(m_userInfoHasBeenSet) + { + payload.WithObject("UserInfo", m_userInfo.Jsonize()); + + } + + if(m_customerEndpointHasBeenSet) + { + payload.WithObject("CustomerEndpoint", m_customerEndpoint.Jsonize()); + + } + + if(m_systemEndpointHasBeenSet) + { + payload.WithObject("SystemEndpoint", m_systemEndpoint.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-connect/source/model/VoiceRecordingConfiguration.cpp b/generated/src/aws-cpp-sdk-connect/source/model/VoiceRecordingConfiguration.cpp index 178d4906891..08faee18937 100644 --- a/generated/src/aws-cpp-sdk-connect/source/model/VoiceRecordingConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/model/VoiceRecordingConfiguration.cpp @@ -20,7 +20,9 @@ namespace Model VoiceRecordingConfiguration::VoiceRecordingConfiguration() : m_voiceRecordingTrack(VoiceRecordingTrack::NOT_SET), - m_voiceRecordingTrackHasBeenSet(false) + m_voiceRecordingTrackHasBeenSet(false), + m_ivrRecordingTrack(IvrRecordingTrack::NOT_SET), + m_ivrRecordingTrackHasBeenSet(false) { } @@ -39,6 +41,13 @@ VoiceRecordingConfiguration& VoiceRecordingConfiguration::operator =(JsonView js m_voiceRecordingTrackHasBeenSet = true; } + if(jsonValue.ValueExists("IvrRecordingTrack")) + { + m_ivrRecordingTrack = IvrRecordingTrackMapper::GetIvrRecordingTrackForName(jsonValue.GetString("IvrRecordingTrack")); + + m_ivrRecordingTrackHasBeenSet = true; + } + return *this; } @@ -51,6 +60,11 @@ JsonValue VoiceRecordingConfiguration::Jsonize() const payload.WithString("VoiceRecordingTrack", VoiceRecordingTrackMapper::GetNameForVoiceRecordingTrack(m_voiceRecordingTrack)); } + if(m_ivrRecordingTrackHasBeenSet) + { + payload.WithString("IvrRecordingTrack", IvrRecordingTrackMapper::GetNameForIvrRecordingTrack(m_ivrRecordingTrack)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h index 3ad257a99d4..66190e814ee 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h @@ -567,6 +567,32 @@ namespace ConnectCampaignsV2 return SubmitAsync(&ConnectCampaignsV2Client::PutOutboundRequestBatch, request, handler, context); } + /** + *

    Takes in a list of profile outbound requests to be placed as part of an + * outbound campaign. This API is idempotent.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::PutProfileOutboundRequestBatchOutcome PutProfileOutboundRequestBatch(const Model::PutProfileOutboundRequestBatchRequest& request) const; + + /** + * A Callable wrapper for PutProfileOutboundRequestBatch that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutProfileOutboundRequestBatchOutcomeCallable PutProfileOutboundRequestBatchCallable(const PutProfileOutboundRequestBatchRequestT& request) const + { + return SubmitCallable(&ConnectCampaignsV2Client::PutProfileOutboundRequestBatch, request); + } + + /** + * An Async wrapper for PutProfileOutboundRequestBatch that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutProfileOutboundRequestBatchAsync(const PutProfileOutboundRequestBatchRequestT& request, const PutProfileOutboundRequestBatchResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ConnectCampaignsV2Client::PutProfileOutboundRequestBatch, request, handler, context); + } + /** *

    Stops a campaign for the specified Amazon Connect account.

    See * Also:

    #include #include +#include #include #include #include @@ -90,6 +91,7 @@ namespace Aws class PauseCampaignRequest; class PutConnectInstanceIntegrationRequest; class PutOutboundRequestBatchRequest; + class PutProfileOutboundRequestBatchRequest; class ResumeCampaignRequest; class StartCampaignRequest; class StartInstanceOnboardingJobRequest; @@ -125,6 +127,7 @@ namespace Aws typedef Aws::Utils::Outcome PauseCampaignOutcome; typedef Aws::Utils::Outcome PutConnectInstanceIntegrationOutcome; typedef Aws::Utils::Outcome PutOutboundRequestBatchOutcome; + typedef Aws::Utils::Outcome PutProfileOutboundRequestBatchOutcome; typedef Aws::Utils::Outcome ResumeCampaignOutcome; typedef Aws::Utils::Outcome StartCampaignOutcome; typedef Aws::Utils::Outcome StartInstanceOnboardingJobOutcome; @@ -160,6 +163,7 @@ namespace Aws typedef std::future PauseCampaignOutcomeCallable; typedef std::future PutConnectInstanceIntegrationOutcomeCallable; typedef std::future PutOutboundRequestBatchOutcomeCallable; + typedef std::future PutProfileOutboundRequestBatchOutcomeCallable; typedef std::future ResumeCampaignOutcomeCallable; typedef std::future StartCampaignOutcomeCallable; typedef std::future StartInstanceOnboardingJobOutcomeCallable; @@ -198,6 +202,7 @@ namespace Aws typedef std::function&) > PauseCampaignResponseReceivedHandler; typedef std::function&) > PutConnectInstanceIntegrationResponseReceivedHandler; typedef std::function&) > PutOutboundRequestBatchResponseReceivedHandler; + typedef std::function&) > PutProfileOutboundRequestBatchResponseReceivedHandler; typedef std::function&) > ResumeCampaignResponseReceivedHandler; typedef std::function&) > StartCampaignResponseReceivedHandler; typedef std::function&) > StartInstanceOnboardingJobResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/EventTrigger.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/EventTrigger.h new file mode 100644 index 00000000000..497e8d135ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/EventTrigger.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ConnectCampaignsV2 +{ +namespace Model +{ + + /** + *

    Event trigger of the campaign

    See Also:

    AWS + * API Reference

    + */ + class EventTrigger + { + public: + AWS_CONNECTCAMPAIGNSV2_API EventTrigger(); + AWS_CONNECTCAMPAIGNSV2_API EventTrigger(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCAMPAIGNSV2_API EventTrigger& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCAMPAIGNSV2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetCustomerProfilesDomainArn() const{ return m_customerProfilesDomainArn; } + inline bool CustomerProfilesDomainArnHasBeenSet() const { return m_customerProfilesDomainArnHasBeenSet; } + inline void SetCustomerProfilesDomainArn(const Aws::String& value) { m_customerProfilesDomainArnHasBeenSet = true; m_customerProfilesDomainArn = value; } + inline void SetCustomerProfilesDomainArn(Aws::String&& value) { m_customerProfilesDomainArnHasBeenSet = true; m_customerProfilesDomainArn = std::move(value); } + inline void SetCustomerProfilesDomainArn(const char* value) { m_customerProfilesDomainArnHasBeenSet = true; m_customerProfilesDomainArn.assign(value); } + inline EventTrigger& WithCustomerProfilesDomainArn(const Aws::String& value) { SetCustomerProfilesDomainArn(value); return *this;} + inline EventTrigger& WithCustomerProfilesDomainArn(Aws::String&& value) { SetCustomerProfilesDomainArn(std::move(value)); return *this;} + inline EventTrigger& WithCustomerProfilesDomainArn(const char* value) { SetCustomerProfilesDomainArn(value); return *this;} + ///@} + private: + + Aws::String m_customerProfilesDomainArn; + bool m_customerProfilesDomainArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/FailedProfileOutboundRequest.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/FailedProfileOutboundRequest.h new file mode 100644 index 00000000000..6284cb3d399 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/FailedProfileOutboundRequest.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ConnectCampaignsV2 +{ +namespace Model +{ + + /** + *

    Failure details for a profile outbound request

    See Also:

    AWS + * API Reference

    + */ + class FailedProfileOutboundRequest + { + public: + AWS_CONNECTCAMPAIGNSV2_API FailedProfileOutboundRequest(); + AWS_CONNECTCAMPAIGNSV2_API FailedProfileOutboundRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCAMPAIGNSV2_API FailedProfileOutboundRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCAMPAIGNSV2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline FailedProfileOutboundRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline FailedProfileOutboundRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline FailedProfileOutboundRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline FailedProfileOutboundRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + inline FailedProfileOutboundRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline FailedProfileOutboundRequest& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + + inline const ProfileOutboundRequestFailureCode& GetFailureCode() const{ return m_failureCode; } + inline bool FailureCodeHasBeenSet() const { return m_failureCodeHasBeenSet; } + inline void SetFailureCode(const ProfileOutboundRequestFailureCode& value) { m_failureCodeHasBeenSet = true; m_failureCode = value; } + inline void SetFailureCode(ProfileOutboundRequestFailureCode&& value) { m_failureCodeHasBeenSet = true; m_failureCode = std::move(value); } + inline FailedProfileOutboundRequest& WithFailureCode(const ProfileOutboundRequestFailureCode& value) { SetFailureCode(value); return *this;} + inline FailedProfileOutboundRequest& WithFailureCode(ProfileOutboundRequestFailureCode&& value) { SetFailureCode(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + ProfileOutboundRequestFailureCode m_failureCode; + bool m_failureCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/ProfileOutboundRequest.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/ProfileOutboundRequest.h new file mode 100644 index 00000000000..5138baa967a --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/ProfileOutboundRequest.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ConnectCampaignsV2 +{ +namespace Model +{ + + /** + *

    Information about a profile outbound request

    See Also:

    AWS + * API Reference

    + */ + class ProfileOutboundRequest + { + public: + AWS_CONNECTCAMPAIGNSV2_API ProfileOutboundRequest(); + AWS_CONNECTCAMPAIGNSV2_API ProfileOutboundRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCAMPAIGNSV2_API ProfileOutboundRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCAMPAIGNSV2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline ProfileOutboundRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline ProfileOutboundRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline ProfileOutboundRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetProfileId() const{ return m_profileId; } + inline bool ProfileIdHasBeenSet() const { return m_profileIdHasBeenSet; } + inline void SetProfileId(const Aws::String& value) { m_profileIdHasBeenSet = true; m_profileId = value; } + inline void SetProfileId(Aws::String&& value) { m_profileIdHasBeenSet = true; m_profileId = std::move(value); } + inline void SetProfileId(const char* value) { m_profileIdHasBeenSet = true; m_profileId.assign(value); } + inline ProfileOutboundRequest& WithProfileId(const Aws::String& value) { SetProfileId(value); return *this;} + inline ProfileOutboundRequest& WithProfileId(Aws::String&& value) { SetProfileId(std::move(value)); return *this;} + inline ProfileOutboundRequest& WithProfileId(const char* value) { SetProfileId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetExpirationTime() const{ return m_expirationTime; } + inline bool ExpirationTimeHasBeenSet() const { return m_expirationTimeHasBeenSet; } + inline void SetExpirationTime(const Aws::Utils::DateTime& value) { m_expirationTimeHasBeenSet = true; m_expirationTime = value; } + inline void SetExpirationTime(Aws::Utils::DateTime&& value) { m_expirationTimeHasBeenSet = true; m_expirationTime = std::move(value); } + inline ProfileOutboundRequest& WithExpirationTime(const Aws::Utils::DateTime& value) { SetExpirationTime(value); return *this;} + inline ProfileOutboundRequest& WithExpirationTime(Aws::Utils::DateTime&& value) { SetExpirationTime(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::String m_profileId; + bool m_profileIdHasBeenSet = false; + + Aws::Utils::DateTime m_expirationTime; + bool m_expirationTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/ProfileOutboundRequestFailureCode.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/ProfileOutboundRequestFailureCode.h new file mode 100644 index 00000000000..f003fec23d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/ProfileOutboundRequestFailureCode.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ConnectCampaignsV2 +{ +namespace Model +{ + enum class ProfileOutboundRequestFailureCode + { + NOT_SET, + UnknownError, + ResourceNotFound, + Conflict, + RequestThrottled, + InvalidInput + }; + +namespace ProfileOutboundRequestFailureCodeMapper +{ +AWS_CONNECTCAMPAIGNSV2_API ProfileOutboundRequestFailureCode GetProfileOutboundRequestFailureCodeForName(const Aws::String& name); + +AWS_CONNECTCAMPAIGNSV2_API Aws::String GetNameForProfileOutboundRequestFailureCode(ProfileOutboundRequestFailureCode value); +} // namespace ProfileOutboundRequestFailureCodeMapper +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/PutProfileOutboundRequestBatchRequest.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/PutProfileOutboundRequestBatchRequest.h new file mode 100644 index 00000000000..d0598c1167e --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/PutProfileOutboundRequestBatchRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ConnectCampaignsV2 +{ +namespace Model +{ + + /** + *

    The request for PutProfileOutboundRequestBatch API

    See Also:

    + * AWS + * API Reference

    + */ + class PutProfileOutboundRequestBatchRequest : public ConnectCampaignsV2Request + { + public: + AWS_CONNECTCAMPAIGNSV2_API PutProfileOutboundRequestBatchRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutProfileOutboundRequestBatch"; } + + AWS_CONNECTCAMPAIGNSV2_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline PutProfileOutboundRequestBatchRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + inline PutProfileOutboundRequestBatchRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline PutProfileOutboundRequestBatchRequest& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetProfileOutboundRequests() const{ return m_profileOutboundRequests; } + inline bool ProfileOutboundRequestsHasBeenSet() const { return m_profileOutboundRequestsHasBeenSet; } + inline void SetProfileOutboundRequests(const Aws::Vector& value) { m_profileOutboundRequestsHasBeenSet = true; m_profileOutboundRequests = value; } + inline void SetProfileOutboundRequests(Aws::Vector&& value) { m_profileOutboundRequestsHasBeenSet = true; m_profileOutboundRequests = std::move(value); } + inline PutProfileOutboundRequestBatchRequest& WithProfileOutboundRequests(const Aws::Vector& value) { SetProfileOutboundRequests(value); return *this;} + inline PutProfileOutboundRequestBatchRequest& WithProfileOutboundRequests(Aws::Vector&& value) { SetProfileOutboundRequests(std::move(value)); return *this;} + inline PutProfileOutboundRequestBatchRequest& AddProfileOutboundRequests(const ProfileOutboundRequest& value) { m_profileOutboundRequestsHasBeenSet = true; m_profileOutboundRequests.push_back(value); return *this; } + inline PutProfileOutboundRequestBatchRequest& AddProfileOutboundRequests(ProfileOutboundRequest&& value) { m_profileOutboundRequestsHasBeenSet = true; m_profileOutboundRequests.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::Vector m_profileOutboundRequests; + bool m_profileOutboundRequestsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/PutProfileOutboundRequestBatchResult.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/PutProfileOutboundRequestBatchResult.h new file mode 100644 index 00000000000..90679af142d --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/PutProfileOutboundRequestBatchResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ConnectCampaignsV2 +{ +namespace Model +{ + /** + *

    The response for PutProfileOutboundRequestBatch API

    See Also:

    + * AWS + * API Reference

    + */ + class PutProfileOutboundRequestBatchResult + { + public: + AWS_CONNECTCAMPAIGNSV2_API PutProfileOutboundRequestBatchResult(); + AWS_CONNECTCAMPAIGNSV2_API PutProfileOutboundRequestBatchResult(const Aws::AmazonWebServiceResult& result); + AWS_CONNECTCAMPAIGNSV2_API PutProfileOutboundRequestBatchResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Vector& GetSuccessfulRequests() const{ return m_successfulRequests; } + inline void SetSuccessfulRequests(const Aws::Vector& value) { m_successfulRequests = value; } + inline void SetSuccessfulRequests(Aws::Vector&& value) { m_successfulRequests = std::move(value); } + inline PutProfileOutboundRequestBatchResult& WithSuccessfulRequests(const Aws::Vector& value) { SetSuccessfulRequests(value); return *this;} + inline PutProfileOutboundRequestBatchResult& WithSuccessfulRequests(Aws::Vector&& value) { SetSuccessfulRequests(std::move(value)); return *this;} + inline PutProfileOutboundRequestBatchResult& AddSuccessfulRequests(const SuccessfulProfileOutboundRequest& value) { m_successfulRequests.push_back(value); return *this; } + inline PutProfileOutboundRequestBatchResult& AddSuccessfulRequests(SuccessfulProfileOutboundRequest&& value) { m_successfulRequests.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFailedRequests() const{ return m_failedRequests; } + inline void SetFailedRequests(const Aws::Vector& value) { m_failedRequests = value; } + inline void SetFailedRequests(Aws::Vector&& value) { m_failedRequests = std::move(value); } + inline PutProfileOutboundRequestBatchResult& WithFailedRequests(const Aws::Vector& value) { SetFailedRequests(value); return *this;} + inline PutProfileOutboundRequestBatchResult& WithFailedRequests(Aws::Vector&& value) { SetFailedRequests(std::move(value)); return *this;} + inline PutProfileOutboundRequestBatchResult& AddFailedRequests(const FailedProfileOutboundRequest& value) { m_failedRequests.push_back(value); return *this; } + inline PutProfileOutboundRequestBatchResult& AddFailedRequests(FailedProfileOutboundRequest&& value) { m_failedRequests.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline PutProfileOutboundRequestBatchResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline PutProfileOutboundRequestBatchResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline PutProfileOutboundRequestBatchResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_successfulRequests; + + Aws::Vector m_failedRequests; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/Source.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/Source.h index b9bd05ad120..63db82f5d86 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/Source.h +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/Source.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -48,10 +49,23 @@ namespace Model inline Source& WithCustomerProfilesSegmentArn(Aws::String&& value) { SetCustomerProfilesSegmentArn(std::move(value)); return *this;} inline Source& WithCustomerProfilesSegmentArn(const char* value) { SetCustomerProfilesSegmentArn(value); return *this;} ///@} + + ///@{ + + inline const EventTrigger& GetEventTrigger() const{ return m_eventTrigger; } + inline bool EventTriggerHasBeenSet() const { return m_eventTriggerHasBeenSet; } + inline void SetEventTrigger(const EventTrigger& value) { m_eventTriggerHasBeenSet = true; m_eventTrigger = value; } + inline void SetEventTrigger(EventTrigger&& value) { m_eventTriggerHasBeenSet = true; m_eventTrigger = std::move(value); } + inline Source& WithEventTrigger(const EventTrigger& value) { SetEventTrigger(value); return *this;} + inline Source& WithEventTrigger(EventTrigger&& value) { SetEventTrigger(std::move(value)); return *this;} + ///@} private: Aws::String m_customerProfilesSegmentArn; bool m_customerProfilesSegmentArnHasBeenSet = false; + + EventTrigger m_eventTrigger; + bool m_eventTriggerHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/SuccessfulProfileOutboundRequest.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/SuccessfulProfileOutboundRequest.h new file mode 100644 index 00000000000..1a6956bdd7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/SuccessfulProfileOutboundRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ConnectCampaignsV2 +{ +namespace Model +{ + + /** + *

    Success details for a profile outbound request

    See Also:

    AWS + * API Reference

    + */ + class SuccessfulProfileOutboundRequest + { + public: + AWS_CONNECTCAMPAIGNSV2_API SuccessfulProfileOutboundRequest(); + AWS_CONNECTCAMPAIGNSV2_API SuccessfulProfileOutboundRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCAMPAIGNSV2_API SuccessfulProfileOutboundRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCAMPAIGNSV2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline SuccessfulProfileOutboundRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline SuccessfulProfileOutboundRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline SuccessfulProfileOutboundRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline SuccessfulProfileOutboundRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + inline SuccessfulProfileOutboundRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline SuccessfulProfileOutboundRequest& WithId(const char* value) { SetId(value); return *this;} + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp index 4043e4f9229..6c109394f03 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -833,6 +834,40 @@ PutOutboundRequestBatchOutcome ConnectCampaignsV2Client::PutOutboundRequestBatch {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +PutProfileOutboundRequestBatchOutcome ConnectCampaignsV2Client::PutProfileOutboundRequestBatch(const PutProfileOutboundRequestBatchRequest& request) const +{ + AWS_OPERATION_GUARD(PutProfileOutboundRequestBatch); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutProfileOutboundRequestBatch, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutProfileOutboundRequestBatch", "Required field: Id, is not set"); + return PutProfileOutboundRequestBatchOutcome(Aws::Client::AWSError(ConnectCampaignsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutProfileOutboundRequestBatch, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutProfileOutboundRequestBatch, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutProfileOutboundRequestBatch", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutProfileOutboundRequestBatchOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutProfileOutboundRequestBatch, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/campaigns/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/profile-outbound-requests"); + return PutProfileOutboundRequestBatchOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ResumeCampaignOutcome ConnectCampaignsV2Client::ResumeCampaign(const ResumeCampaignRequest& request) const { AWS_OPERATION_GUARD(ResumeCampaign); diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/EventTrigger.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/EventTrigger.cpp new file mode 100644 index 00000000000..ca70a523b63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/EventTrigger.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ConnectCampaignsV2 +{ +namespace Model +{ + +EventTrigger::EventTrigger() : + m_customerProfilesDomainArnHasBeenSet(false) +{ +} + +EventTrigger::EventTrigger(JsonView jsonValue) + : EventTrigger() +{ + *this = jsonValue; +} + +EventTrigger& EventTrigger::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("customerProfilesDomainArn")) + { + m_customerProfilesDomainArn = jsonValue.GetString("customerProfilesDomainArn"); + + m_customerProfilesDomainArnHasBeenSet = true; + } + + return *this; +} + +JsonValue EventTrigger::Jsonize() const +{ + JsonValue payload; + + if(m_customerProfilesDomainArnHasBeenSet) + { + payload.WithString("customerProfilesDomainArn", m_customerProfilesDomainArn); + + } + + return payload; +} + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/FailedProfileOutboundRequest.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/FailedProfileOutboundRequest.cpp new file mode 100644 index 00000000000..226813380ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/FailedProfileOutboundRequest.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ConnectCampaignsV2 +{ +namespace Model +{ + +FailedProfileOutboundRequest::FailedProfileOutboundRequest() : + m_clientTokenHasBeenSet(false), + m_idHasBeenSet(false), + m_failureCode(ProfileOutboundRequestFailureCode::NOT_SET), + m_failureCodeHasBeenSet(false) +{ +} + +FailedProfileOutboundRequest::FailedProfileOutboundRequest(JsonView jsonValue) + : FailedProfileOutboundRequest() +{ + *this = jsonValue; +} + +FailedProfileOutboundRequest& FailedProfileOutboundRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("clientToken")) + { + m_clientToken = jsonValue.GetString("clientToken"); + + m_clientTokenHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("failureCode")) + { + m_failureCode = ProfileOutboundRequestFailureCodeMapper::GetProfileOutboundRequestFailureCodeForName(jsonValue.GetString("failureCode")); + + m_failureCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue FailedProfileOutboundRequest::Jsonize() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_failureCodeHasBeenSet) + { + payload.WithString("failureCode", ProfileOutboundRequestFailureCodeMapper::GetNameForProfileOutboundRequestFailureCode(m_failureCode)); + } + + return payload; +} + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/ProfileOutboundRequest.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/ProfileOutboundRequest.cpp new file mode 100644 index 00000000000..918b583bc0b --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/ProfileOutboundRequest.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ConnectCampaignsV2 +{ +namespace Model +{ + +ProfileOutboundRequest::ProfileOutboundRequest() : + m_clientTokenHasBeenSet(false), + m_profileIdHasBeenSet(false), + m_expirationTimeHasBeenSet(false) +{ +} + +ProfileOutboundRequest::ProfileOutboundRequest(JsonView jsonValue) + : ProfileOutboundRequest() +{ + *this = jsonValue; +} + +ProfileOutboundRequest& ProfileOutboundRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("clientToken")) + { + m_clientToken = jsonValue.GetString("clientToken"); + + m_clientTokenHasBeenSet = true; + } + + if(jsonValue.ValueExists("profileId")) + { + m_profileId = jsonValue.GetString("profileId"); + + m_profileIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("expirationTime")) + { + m_expirationTime = jsonValue.GetString("expirationTime"); + + m_expirationTimeHasBeenSet = true; + } + + return *this; +} + +JsonValue ProfileOutboundRequest::Jsonize() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_profileIdHasBeenSet) + { + payload.WithString("profileId", m_profileId); + + } + + if(m_expirationTimeHasBeenSet) + { + payload.WithString("expirationTime", m_expirationTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/ProfileOutboundRequestFailureCode.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/ProfileOutboundRequestFailureCode.cpp new file mode 100644 index 00000000000..25c7a780eb2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/ProfileOutboundRequestFailureCode.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace ConnectCampaignsV2 + { + namespace Model + { + namespace ProfileOutboundRequestFailureCodeMapper + { + + static const int UnknownError_HASH = HashingUtils::HashString("UnknownError"); + static const int ResourceNotFound_HASH = HashingUtils::HashString("ResourceNotFound"); + static const int Conflict_HASH = HashingUtils::HashString("Conflict"); + static const int RequestThrottled_HASH = HashingUtils::HashString("RequestThrottled"); + static const int InvalidInput_HASH = HashingUtils::HashString("InvalidInput"); + + + ProfileOutboundRequestFailureCode GetProfileOutboundRequestFailureCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == UnknownError_HASH) + { + return ProfileOutboundRequestFailureCode::UnknownError; + } + else if (hashCode == ResourceNotFound_HASH) + { + return ProfileOutboundRequestFailureCode::ResourceNotFound; + } + else if (hashCode == Conflict_HASH) + { + return ProfileOutboundRequestFailureCode::Conflict; + } + else if (hashCode == RequestThrottled_HASH) + { + return ProfileOutboundRequestFailureCode::RequestThrottled; + } + else if (hashCode == InvalidInput_HASH) + { + return ProfileOutboundRequestFailureCode::InvalidInput; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ProfileOutboundRequestFailureCode::NOT_SET; + } + + Aws::String GetNameForProfileOutboundRequestFailureCode(ProfileOutboundRequestFailureCode enumValue) + { + switch(enumValue) + { + case ProfileOutboundRequestFailureCode::NOT_SET: + return {}; + case ProfileOutboundRequestFailureCode::UnknownError: + return "UnknownError"; + case ProfileOutboundRequestFailureCode::ResourceNotFound: + return "ResourceNotFound"; + case ProfileOutboundRequestFailureCode::Conflict: + return "Conflict"; + case ProfileOutboundRequestFailureCode::RequestThrottled: + return "RequestThrottled"; + case ProfileOutboundRequestFailureCode::InvalidInput: + return "InvalidInput"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ProfileOutboundRequestFailureCodeMapper + } // namespace Model + } // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/PutProfileOutboundRequestBatchRequest.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/PutProfileOutboundRequestBatchRequest.cpp new file mode 100644 index 00000000000..c9aa06e7c46 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/PutProfileOutboundRequestBatchRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ConnectCampaignsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +PutProfileOutboundRequestBatchRequest::PutProfileOutboundRequestBatchRequest() : + m_idHasBeenSet(false), + m_profileOutboundRequestsHasBeenSet(false) +{ +} + +Aws::String PutProfileOutboundRequestBatchRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_profileOutboundRequestsHasBeenSet) + { + Aws::Utils::Array profileOutboundRequestsJsonList(m_profileOutboundRequests.size()); + for(unsigned profileOutboundRequestsIndex = 0; profileOutboundRequestsIndex < profileOutboundRequestsJsonList.GetLength(); ++profileOutboundRequestsIndex) + { + profileOutboundRequestsJsonList[profileOutboundRequestsIndex].AsObject(m_profileOutboundRequests[profileOutboundRequestsIndex].Jsonize()); + } + payload.WithArray("profileOutboundRequests", std::move(profileOutboundRequestsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/PutProfileOutboundRequestBatchResult.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/PutProfileOutboundRequestBatchResult.cpp new file mode 100644 index 00000000000..b3c3d42aeb9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/PutProfileOutboundRequestBatchResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ConnectCampaignsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +PutProfileOutboundRequestBatchResult::PutProfileOutboundRequestBatchResult() +{ +} + +PutProfileOutboundRequestBatchResult::PutProfileOutboundRequestBatchResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +PutProfileOutboundRequestBatchResult& PutProfileOutboundRequestBatchResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("successfulRequests")) + { + Aws::Utils::Array successfulRequestsJsonList = jsonValue.GetArray("successfulRequests"); + for(unsigned successfulRequestsIndex = 0; successfulRequestsIndex < successfulRequestsJsonList.GetLength(); ++successfulRequestsIndex) + { + m_successfulRequests.push_back(successfulRequestsJsonList[successfulRequestsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("failedRequests")) + { + Aws::Utils::Array failedRequestsJsonList = jsonValue.GetArray("failedRequests"); + for(unsigned failedRequestsIndex = 0; failedRequestsIndex < failedRequestsJsonList.GetLength(); ++failedRequestsIndex) + { + m_failedRequests.push_back(failedRequestsJsonList[failedRequestsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/Source.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/Source.cpp index c3831cd6951..e25dc020516 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/Source.cpp +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/Source.cpp @@ -19,7 +19,8 @@ namespace Model { Source::Source() : - m_customerProfilesSegmentArnHasBeenSet(false) + m_customerProfilesSegmentArnHasBeenSet(false), + m_eventTriggerHasBeenSet(false) { } @@ -38,6 +39,13 @@ Source& Source::operator =(JsonView jsonValue) m_customerProfilesSegmentArnHasBeenSet = true; } + if(jsonValue.ValueExists("eventTrigger")) + { + m_eventTrigger = jsonValue.GetObject("eventTrigger"); + + m_eventTriggerHasBeenSet = true; + } + return *this; } @@ -51,6 +59,12 @@ JsonValue Source::Jsonize() const } + if(m_eventTriggerHasBeenSet) + { + payload.WithObject("eventTrigger", m_eventTrigger.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/SuccessfulProfileOutboundRequest.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/SuccessfulProfileOutboundRequest.cpp new file mode 100644 index 00000000000..cffdcd73c82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/SuccessfulProfileOutboundRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ConnectCampaignsV2 +{ +namespace Model +{ + +SuccessfulProfileOutboundRequest::SuccessfulProfileOutboundRequest() : + m_clientTokenHasBeenSet(false), + m_idHasBeenSet(false) +{ +} + +SuccessfulProfileOutboundRequest::SuccessfulProfileOutboundRequest(JsonView jsonValue) + : SuccessfulProfileOutboundRequest() +{ + *this = jsonValue; +} + +SuccessfulProfileOutboundRequest& SuccessfulProfileOutboundRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("clientToken")) + { + m_clientToken = jsonValue.GetString("clientToken"); + + m_clientTokenHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + return *this; +} + +JsonValue SuccessfulProfileOutboundRequest::Jsonize() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + return payload; +} + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h index 1f99b33b791..49349859cbd 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h @@ -273,6 +273,34 @@ namespace CustomerProfiles return SubmitAsync(&CustomerProfilesClient::CreateEventStream, request, handler, context); } + /** + *

    Creates an event trigger, which specifies the rules when to perform action + * based on customer's ingested data.

    Each event stream can be associated + * with only one integration in the same region and AWS account as the event + * stream.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateEventTriggerOutcome CreateEventTrigger(const Model::CreateEventTriggerRequest& request) const; + + /** + * A Callable wrapper for CreateEventTrigger that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateEventTriggerOutcomeCallable CreateEventTriggerCallable(const CreateEventTriggerRequestT& request) const + { + return SubmitCallable(&CustomerProfilesClient::CreateEventTrigger, request); + } + + /** + * An Async wrapper for CreateEventTrigger that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateEventTriggerAsync(const CreateEventTriggerRequestT& request, const CreateEventTriggerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CustomerProfilesClient::CreateEventTrigger, request, handler, context); + } + /** *

    Creates an integration workflow. An integration workflow is an async process * which ingests historic data and sets up an integration for ongoing updates. The @@ -486,6 +514,33 @@ namespace CustomerProfiles return SubmitAsync(&CustomerProfilesClient::DeleteEventStream, request, handler, context); } + /** + *

    Disable and deletes the Event Trigger.

    You cannot delete an + * Event Trigger with an active Integration associated.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteEventTriggerOutcome DeleteEventTrigger(const Model::DeleteEventTriggerRequest& request) const; + + /** + * A Callable wrapper for DeleteEventTrigger that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteEventTriggerOutcomeCallable DeleteEventTriggerCallable(const DeleteEventTriggerRequestT& request) const + { + return SubmitCallable(&CustomerProfilesClient::DeleteEventTrigger, request); + } + + /** + * An Async wrapper for DeleteEventTrigger that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteEventTriggerAsync(const DeleteEventTriggerRequestT& request, const DeleteEventTriggerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CustomerProfilesClient::DeleteEventTrigger, request, handler, context); + } + /** *

    Removes an integration from a specific domain.

    See Also:

    AWS @@ -835,6 +890,31 @@ namespace CustomerProfiles return SubmitAsync(&CustomerProfilesClient::GetEventStream, request, handler, context); } + /** + *

    Get a specific Event Trigger from the domain.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetEventTriggerOutcome GetEventTrigger(const Model::GetEventTriggerRequest& request) const; + + /** + * A Callable wrapper for GetEventTrigger that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetEventTriggerOutcomeCallable GetEventTriggerCallable(const GetEventTriggerRequestT& request) const + { + return SubmitCallable(&CustomerProfilesClient::GetEventTrigger, request); + } + + /** + * An Async wrapper for GetEventTrigger that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetEventTriggerAsync(const GetEventTriggerRequestT& request, const GetEventTriggerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CustomerProfilesClient::GetEventTrigger, request, handler, context); + } + /** *

    Returns information about an Identity Resolution Job in a specific domain. *

    Identity Resolution Jobs are set up using the Amazon Connect admin @@ -1308,6 +1388,31 @@ namespace CustomerProfiles return SubmitAsync(&CustomerProfilesClient::ListEventStreams, request, handler, context); } + /** + *

    List all Event Triggers under a domain.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListEventTriggersOutcome ListEventTriggers(const Model::ListEventTriggersRequest& request) const; + + /** + * A Callable wrapper for ListEventTriggers that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListEventTriggersOutcomeCallable ListEventTriggersCallable(const ListEventTriggersRequestT& request) const + { + return SubmitCallable(&CustomerProfilesClient::ListEventTriggers, request); + } + + /** + * An Async wrapper for ListEventTriggers that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListEventTriggersAsync(const ListEventTriggersRequestT& request, const ListEventTriggersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CustomerProfilesClient::ListEventTriggers, request, handler, context); + } + /** *

    Lists all of the Identity Resolution Jobs in your domain. The response sorts * the list by JobStartTime.

    See Also:

    Update the properties of an Event Trigger.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateEventTriggerOutcome UpdateEventTrigger(const Model::UpdateEventTriggerRequest& request) const; + + /** + * A Callable wrapper for UpdateEventTrigger that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateEventTriggerOutcomeCallable UpdateEventTriggerCallable(const UpdateEventTriggerRequestT& request) const + { + return SubmitCallable(&CustomerProfilesClient::UpdateEventTrigger, request); + } + + /** + * An Async wrapper for UpdateEventTrigger that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateEventTriggerAsync(const UpdateEventTriggerRequestT& request, const UpdateEventTriggerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CustomerProfilesClient::UpdateEventTrigger, request, handler, context); + } + /** *

    Updates the properties of a profile. The ProfileId is required for updating a * customer profile.

    When calling the UpdateProfile API, specifying an empty diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h index 87afc54afca..0a1e548f5c5 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -32,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -45,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -62,6 +65,7 @@ #include #include #include +#include #include #include #include @@ -82,6 +86,7 @@ #include #include #include +#include #include #include #include @@ -131,6 +136,7 @@ namespace Aws class CreateCalculatedAttributeDefinitionRequest; class CreateDomainRequest; class CreateEventStreamRequest; + class CreateEventTriggerRequest; class CreateIntegrationWorkflowRequest; class CreateProfileRequest; class CreateSegmentDefinitionRequest; @@ -139,6 +145,7 @@ namespace Aws class DeleteCalculatedAttributeDefinitionRequest; class DeleteDomainRequest; class DeleteEventStreamRequest; + class DeleteEventTriggerRequest; class DeleteIntegrationRequest; class DeleteProfileRequest; class DeleteProfileKeyRequest; @@ -152,6 +159,7 @@ namespace Aws class GetCalculatedAttributeForProfileRequest; class GetDomainRequest; class GetEventStreamRequest; + class GetEventTriggerRequest; class GetIdentityResolutionJobRequest; class GetIntegrationRequest; class GetMatchesRequest; @@ -169,6 +177,7 @@ namespace Aws class ListCalculatedAttributesForProfileRequest; class ListDomainsRequest; class ListEventStreamsRequest; + class ListEventTriggersRequest; class ListIdentityResolutionJobsRequest; class ListIntegrationsRequest; class ListObjectTypeAttributesRequest; @@ -189,6 +198,7 @@ namespace Aws class UntagResourceRequest; class UpdateCalculatedAttributeDefinitionRequest; class UpdateDomainRequest; + class UpdateEventTriggerRequest; class UpdateProfileRequest; /* End of service model forward declarations required in CustomerProfilesClient header */ @@ -199,6 +209,7 @@ namespace Aws typedef Aws::Utils::Outcome CreateCalculatedAttributeDefinitionOutcome; typedef Aws::Utils::Outcome CreateDomainOutcome; typedef Aws::Utils::Outcome CreateEventStreamOutcome; + typedef Aws::Utils::Outcome CreateEventTriggerOutcome; typedef Aws::Utils::Outcome CreateIntegrationWorkflowOutcome; typedef Aws::Utils::Outcome CreateProfileOutcome; typedef Aws::Utils::Outcome CreateSegmentDefinitionOutcome; @@ -207,6 +218,7 @@ namespace Aws typedef Aws::Utils::Outcome DeleteCalculatedAttributeDefinitionOutcome; typedef Aws::Utils::Outcome DeleteDomainOutcome; typedef Aws::Utils::Outcome DeleteEventStreamOutcome; + typedef Aws::Utils::Outcome DeleteEventTriggerOutcome; typedef Aws::Utils::Outcome DeleteIntegrationOutcome; typedef Aws::Utils::Outcome DeleteProfileOutcome; typedef Aws::Utils::Outcome DeleteProfileKeyOutcome; @@ -220,6 +232,7 @@ namespace Aws typedef Aws::Utils::Outcome GetCalculatedAttributeForProfileOutcome; typedef Aws::Utils::Outcome GetDomainOutcome; typedef Aws::Utils::Outcome GetEventStreamOutcome; + typedef Aws::Utils::Outcome GetEventTriggerOutcome; typedef Aws::Utils::Outcome GetIdentityResolutionJobOutcome; typedef Aws::Utils::Outcome GetIntegrationOutcome; typedef Aws::Utils::Outcome GetMatchesOutcome; @@ -237,6 +250,7 @@ namespace Aws typedef Aws::Utils::Outcome ListCalculatedAttributesForProfileOutcome; typedef Aws::Utils::Outcome ListDomainsOutcome; typedef Aws::Utils::Outcome ListEventStreamsOutcome; + typedef Aws::Utils::Outcome ListEventTriggersOutcome; typedef Aws::Utils::Outcome ListIdentityResolutionJobsOutcome; typedef Aws::Utils::Outcome ListIntegrationsOutcome; typedef Aws::Utils::Outcome ListObjectTypeAttributesOutcome; @@ -257,6 +271,7 @@ namespace Aws typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateCalculatedAttributeDefinitionOutcome; typedef Aws::Utils::Outcome UpdateDomainOutcome; + typedef Aws::Utils::Outcome UpdateEventTriggerOutcome; typedef Aws::Utils::Outcome UpdateProfileOutcome; /* End of service model Outcome class definitions */ @@ -267,6 +282,7 @@ namespace Aws typedef std::future CreateCalculatedAttributeDefinitionOutcomeCallable; typedef std::future CreateDomainOutcomeCallable; typedef std::future CreateEventStreamOutcomeCallable; + typedef std::future CreateEventTriggerOutcomeCallable; typedef std::future CreateIntegrationWorkflowOutcomeCallable; typedef std::future CreateProfileOutcomeCallable; typedef std::future CreateSegmentDefinitionOutcomeCallable; @@ -275,6 +291,7 @@ namespace Aws typedef std::future DeleteCalculatedAttributeDefinitionOutcomeCallable; typedef std::future DeleteDomainOutcomeCallable; typedef std::future DeleteEventStreamOutcomeCallable; + typedef std::future DeleteEventTriggerOutcomeCallable; typedef std::future DeleteIntegrationOutcomeCallable; typedef std::future DeleteProfileOutcomeCallable; typedef std::future DeleteProfileKeyOutcomeCallable; @@ -288,6 +305,7 @@ namespace Aws typedef std::future GetCalculatedAttributeForProfileOutcomeCallable; typedef std::future GetDomainOutcomeCallable; typedef std::future GetEventStreamOutcomeCallable; + typedef std::future GetEventTriggerOutcomeCallable; typedef std::future GetIdentityResolutionJobOutcomeCallable; typedef std::future GetIntegrationOutcomeCallable; typedef std::future GetMatchesOutcomeCallable; @@ -305,6 +323,7 @@ namespace Aws typedef std::future ListCalculatedAttributesForProfileOutcomeCallable; typedef std::future ListDomainsOutcomeCallable; typedef std::future ListEventStreamsOutcomeCallable; + typedef std::future ListEventTriggersOutcomeCallable; typedef std::future ListIdentityResolutionJobsOutcomeCallable; typedef std::future ListIntegrationsOutcomeCallable; typedef std::future ListObjectTypeAttributesOutcomeCallable; @@ -325,6 +344,7 @@ namespace Aws typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateCalculatedAttributeDefinitionOutcomeCallable; typedef std::future UpdateDomainOutcomeCallable; + typedef std::future UpdateEventTriggerOutcomeCallable; typedef std::future UpdateProfileOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model @@ -338,6 +358,7 @@ namespace Aws typedef std::function&) > CreateCalculatedAttributeDefinitionResponseReceivedHandler; typedef std::function&) > CreateDomainResponseReceivedHandler; typedef std::function&) > CreateEventStreamResponseReceivedHandler; + typedef std::function&) > CreateEventTriggerResponseReceivedHandler; typedef std::function&) > CreateIntegrationWorkflowResponseReceivedHandler; typedef std::function&) > CreateProfileResponseReceivedHandler; typedef std::function&) > CreateSegmentDefinitionResponseReceivedHandler; @@ -346,6 +367,7 @@ namespace Aws typedef std::function&) > DeleteCalculatedAttributeDefinitionResponseReceivedHandler; typedef std::function&) > DeleteDomainResponseReceivedHandler; typedef std::function&) > DeleteEventStreamResponseReceivedHandler; + typedef std::function&) > DeleteEventTriggerResponseReceivedHandler; typedef std::function&) > DeleteIntegrationResponseReceivedHandler; typedef std::function&) > DeleteProfileResponseReceivedHandler; typedef std::function&) > DeleteProfileKeyResponseReceivedHandler; @@ -359,6 +381,7 @@ namespace Aws typedef std::function&) > GetCalculatedAttributeForProfileResponseReceivedHandler; typedef std::function&) > GetDomainResponseReceivedHandler; typedef std::function&) > GetEventStreamResponseReceivedHandler; + typedef std::function&) > GetEventTriggerResponseReceivedHandler; typedef std::function&) > GetIdentityResolutionJobResponseReceivedHandler; typedef std::function&) > GetIntegrationResponseReceivedHandler; typedef std::function&) > GetMatchesResponseReceivedHandler; @@ -376,6 +399,7 @@ namespace Aws typedef std::function&) > ListCalculatedAttributesForProfileResponseReceivedHandler; typedef std::function&) > ListDomainsResponseReceivedHandler; typedef std::function&) > ListEventStreamsResponseReceivedHandler; + typedef std::function&) > ListEventTriggersResponseReceivedHandler; typedef std::function&) > ListIdentityResolutionJobsResponseReceivedHandler; typedef std::function&) > ListIntegrationsResponseReceivedHandler; typedef std::function&) > ListObjectTypeAttributesResponseReceivedHandler; @@ -396,6 +420,7 @@ namespace Aws typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateCalculatedAttributeDefinitionResponseReceivedHandler; typedef std::function&) > UpdateDomainResponseReceivedHandler; + typedef std::function&) > UpdateEventTriggerResponseReceivedHandler; typedef std::function&) > UpdateProfileResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace CustomerProfiles diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ComparisonOperator.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ComparisonOperator.h new file mode 100644 index 00000000000..f20603a66a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ComparisonOperator.h @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + enum class ComparisonOperator + { + NOT_SET, + INCLUSIVE, + EXCLUSIVE, + CONTAINS, + BEGINS_WITH, + ENDS_WITH, + GREATER_THAN, + LESS_THAN, + GREATER_THAN_OR_EQUAL, + LESS_THAN_OR_EQUAL, + EQUAL, + BEFORE, + AFTER, + ON, + BETWEEN, + NOT_BETWEEN + }; + +namespace ComparisonOperatorMapper +{ +AWS_CUSTOMERPROFILES_API ComparisonOperator GetComparisonOperatorForName(const Aws::String& name); + +AWS_CUSTOMERPROFILES_API Aws::String GetNameForComparisonOperator(ComparisonOperator value); +} // namespace ComparisonOperatorMapper +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateEventTriggerRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateEventTriggerRequest.h new file mode 100644 index 00000000000..1811387b4d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateEventTriggerRequest.h @@ -0,0 +1,186 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + + /** + */ + class CreateEventTriggerRequest : public CustomerProfilesRequest + { + public: + AWS_CUSTOMERPROFILES_API CreateEventTriggerRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateEventTrigger"; } + + AWS_CUSTOMERPROFILES_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique name of the domain.

    + */ + inline const Aws::String& GetDomainName() const{ return m_domainName; } + inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } + inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } + inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } + inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } + inline CreateEventTriggerRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} + inline CreateEventTriggerRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} + inline CreateEventTriggerRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique name of the event trigger.

    + */ + inline const Aws::String& GetEventTriggerName() const{ return m_eventTriggerName; } + inline bool EventTriggerNameHasBeenSet() const { return m_eventTriggerNameHasBeenSet; } + inline void SetEventTriggerName(const Aws::String& value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName = value; } + inline void SetEventTriggerName(Aws::String&& value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName = std::move(value); } + inline void SetEventTriggerName(const char* value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName.assign(value); } + inline CreateEventTriggerRequest& WithEventTriggerName(const Aws::String& value) { SetEventTriggerName(value); return *this;} + inline CreateEventTriggerRequest& WithEventTriggerName(Aws::String&& value) { SetEventTriggerName(std::move(value)); return *this;} + inline CreateEventTriggerRequest& WithEventTriggerName(const char* value) { SetEventTriggerName(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique name of the object type.

    + */ + inline const Aws::String& GetObjectTypeName() const{ return m_objectTypeName; } + inline bool ObjectTypeNameHasBeenSet() const { return m_objectTypeNameHasBeenSet; } + inline void SetObjectTypeName(const Aws::String& value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName = value; } + inline void SetObjectTypeName(Aws::String&& value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName = std::move(value); } + inline void SetObjectTypeName(const char* value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName.assign(value); } + inline CreateEventTriggerRequest& WithObjectTypeName(const Aws::String& value) { SetObjectTypeName(value); return *this;} + inline CreateEventTriggerRequest& WithObjectTypeName(Aws::String&& value) { SetObjectTypeName(std::move(value)); return *this;} + inline CreateEventTriggerRequest& WithObjectTypeName(const char* value) { SetObjectTypeName(value); return *this;} + ///@} + + ///@{ + /** + *

    The description of the event trigger.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline CreateEventTriggerRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline CreateEventTriggerRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline CreateEventTriggerRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

    A list of conditions that determine when an event should trigger the + * destination.

    + */ + inline const Aws::Vector& GetEventTriggerConditions() const{ return m_eventTriggerConditions; } + inline bool EventTriggerConditionsHasBeenSet() const { return m_eventTriggerConditionsHasBeenSet; } + inline void SetEventTriggerConditions(const Aws::Vector& value) { m_eventTriggerConditionsHasBeenSet = true; m_eventTriggerConditions = value; } + inline void SetEventTriggerConditions(Aws::Vector&& value) { m_eventTriggerConditionsHasBeenSet = true; m_eventTriggerConditions = std::move(value); } + inline CreateEventTriggerRequest& WithEventTriggerConditions(const Aws::Vector& value) { SetEventTriggerConditions(value); return *this;} + inline CreateEventTriggerRequest& WithEventTriggerConditions(Aws::Vector&& value) { SetEventTriggerConditions(std::move(value)); return *this;} + inline CreateEventTriggerRequest& AddEventTriggerConditions(const EventTriggerCondition& value) { m_eventTriggerConditionsHasBeenSet = true; m_eventTriggerConditions.push_back(value); return *this; } + inline CreateEventTriggerRequest& AddEventTriggerConditions(EventTriggerCondition&& value) { m_eventTriggerConditionsHasBeenSet = true; m_eventTriggerConditions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The destination is triggered only for profiles that meet the criteria of a + * segment definition.

    + */ + inline const Aws::String& GetSegmentFilter() const{ return m_segmentFilter; } + inline bool SegmentFilterHasBeenSet() const { return m_segmentFilterHasBeenSet; } + inline void SetSegmentFilter(const Aws::String& value) { m_segmentFilterHasBeenSet = true; m_segmentFilter = value; } + inline void SetSegmentFilter(Aws::String&& value) { m_segmentFilterHasBeenSet = true; m_segmentFilter = std::move(value); } + inline void SetSegmentFilter(const char* value) { m_segmentFilterHasBeenSet = true; m_segmentFilter.assign(value); } + inline CreateEventTriggerRequest& WithSegmentFilter(const Aws::String& value) { SetSegmentFilter(value); return *this;} + inline CreateEventTriggerRequest& WithSegmentFilter(Aws::String&& value) { SetSegmentFilter(std::move(value)); return *this;} + inline CreateEventTriggerRequest& WithSegmentFilter(const char* value) { SetSegmentFilter(value); return *this;} + ///@} + + ///@{ + /** + *

    Defines limits controlling whether an event triggers the destination, based + * on ingestion latency and the number of invocations per profile over specific + * time periods.

    + */ + inline const EventTriggerLimits& GetEventTriggerLimits() const{ return m_eventTriggerLimits; } + inline bool EventTriggerLimitsHasBeenSet() const { return m_eventTriggerLimitsHasBeenSet; } + inline void SetEventTriggerLimits(const EventTriggerLimits& value) { m_eventTriggerLimitsHasBeenSet = true; m_eventTriggerLimits = value; } + inline void SetEventTriggerLimits(EventTriggerLimits&& value) { m_eventTriggerLimitsHasBeenSet = true; m_eventTriggerLimits = std::move(value); } + inline CreateEventTriggerRequest& WithEventTriggerLimits(const EventTriggerLimits& value) { SetEventTriggerLimits(value); return *this;} + inline CreateEventTriggerRequest& WithEventTriggerLimits(EventTriggerLimits&& value) { SetEventTriggerLimits(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    An array of key-value pairs to apply to this resource.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateEventTriggerRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateEventTriggerRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateEventTriggerRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateEventTriggerRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateEventTriggerRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateEventTriggerRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateEventTriggerRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateEventTriggerRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateEventTriggerRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_domainName; + bool m_domainNameHasBeenSet = false; + + Aws::String m_eventTriggerName; + bool m_eventTriggerNameHasBeenSet = false; + + Aws::String m_objectTypeName; + bool m_objectTypeNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_eventTriggerConditions; + bool m_eventTriggerConditionsHasBeenSet = false; + + Aws::String m_segmentFilter; + bool m_segmentFilterHasBeenSet = false; + + EventTriggerLimits m_eventTriggerLimits; + bool m_eventTriggerLimitsHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateEventTriggerResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateEventTriggerResult.h new file mode 100644 index 00000000000..e9d47948631 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateEventTriggerResult.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + class CreateEventTriggerResult + { + public: + AWS_CUSTOMERPROFILES_API CreateEventTriggerResult(); + AWS_CUSTOMERPROFILES_API CreateEventTriggerResult(const Aws::AmazonWebServiceResult& result); + AWS_CUSTOMERPROFILES_API CreateEventTriggerResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The unique name of the event trigger.

    + */ + inline const Aws::String& GetEventTriggerName() const{ return m_eventTriggerName; } + inline void SetEventTriggerName(const Aws::String& value) { m_eventTriggerName = value; } + inline void SetEventTriggerName(Aws::String&& value) { m_eventTriggerName = std::move(value); } + inline void SetEventTriggerName(const char* value) { m_eventTriggerName.assign(value); } + inline CreateEventTriggerResult& WithEventTriggerName(const Aws::String& value) { SetEventTriggerName(value); return *this;} + inline CreateEventTriggerResult& WithEventTriggerName(Aws::String&& value) { SetEventTriggerName(std::move(value)); return *this;} + inline CreateEventTriggerResult& WithEventTriggerName(const char* value) { SetEventTriggerName(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique name of the object type.

    + */ + inline const Aws::String& GetObjectTypeName() const{ return m_objectTypeName; } + inline void SetObjectTypeName(const Aws::String& value) { m_objectTypeName = value; } + inline void SetObjectTypeName(Aws::String&& value) { m_objectTypeName = std::move(value); } + inline void SetObjectTypeName(const char* value) { m_objectTypeName.assign(value); } + inline CreateEventTriggerResult& WithObjectTypeName(const Aws::String& value) { SetObjectTypeName(value); return *this;} + inline CreateEventTriggerResult& WithObjectTypeName(Aws::String&& value) { SetObjectTypeName(std::move(value)); return *this;} + inline CreateEventTriggerResult& WithObjectTypeName(const char* value) { SetObjectTypeName(value); return *this;} + ///@} + + ///@{ + /** + *

    The description of the event trigger.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline void SetDescription(const Aws::String& value) { m_description = value; } + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + inline void SetDescription(const char* value) { m_description.assign(value); } + inline CreateEventTriggerResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline CreateEventTriggerResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline CreateEventTriggerResult& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

    A list of conditions that determine when an event should trigger the + * destination.

    + */ + inline const Aws::Vector& GetEventTriggerConditions() const{ return m_eventTriggerConditions; } + inline void SetEventTriggerConditions(const Aws::Vector& value) { m_eventTriggerConditions = value; } + inline void SetEventTriggerConditions(Aws::Vector&& value) { m_eventTriggerConditions = std::move(value); } + inline CreateEventTriggerResult& WithEventTriggerConditions(const Aws::Vector& value) { SetEventTriggerConditions(value); return *this;} + inline CreateEventTriggerResult& WithEventTriggerConditions(Aws::Vector&& value) { SetEventTriggerConditions(std::move(value)); return *this;} + inline CreateEventTriggerResult& AddEventTriggerConditions(const EventTriggerCondition& value) { m_eventTriggerConditions.push_back(value); return *this; } + inline CreateEventTriggerResult& AddEventTriggerConditions(EventTriggerCondition&& value) { m_eventTriggerConditions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The destination is triggered only for profiles that meet the criteria of a + * segment definition.

    + */ + inline const Aws::String& GetSegmentFilter() const{ return m_segmentFilter; } + inline void SetSegmentFilter(const Aws::String& value) { m_segmentFilter = value; } + inline void SetSegmentFilter(Aws::String&& value) { m_segmentFilter = std::move(value); } + inline void SetSegmentFilter(const char* value) { m_segmentFilter.assign(value); } + inline CreateEventTriggerResult& WithSegmentFilter(const Aws::String& value) { SetSegmentFilter(value); return *this;} + inline CreateEventTriggerResult& WithSegmentFilter(Aws::String&& value) { SetSegmentFilter(std::move(value)); return *this;} + inline CreateEventTriggerResult& WithSegmentFilter(const char* value) { SetSegmentFilter(value); return *this;} + ///@} + + ///@{ + /** + *

    Defines limits controlling whether an event triggers the destination, based + * on ingestion latency and the number of invocations per profile over specific + * time periods.

    + */ + inline const EventTriggerLimits& GetEventTriggerLimits() const{ return m_eventTriggerLimits; } + inline void SetEventTriggerLimits(const EventTriggerLimits& value) { m_eventTriggerLimits = value; } + inline void SetEventTriggerLimits(EventTriggerLimits&& value) { m_eventTriggerLimits = std::move(value); } + inline CreateEventTriggerResult& WithEventTriggerLimits(const EventTriggerLimits& value) { SetEventTriggerLimits(value); return *this;} + inline CreateEventTriggerResult& WithEventTriggerLimits(EventTriggerLimits&& value) { SetEventTriggerLimits(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the event trigger was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline CreateEventTriggerResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline CreateEventTriggerResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the event trigger was most recently updated.

    + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAt = std::move(value); } + inline CreateEventTriggerResult& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline CreateEventTriggerResult& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    An array of key-value pairs to apply to this resource.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline CreateEventTriggerResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateEventTriggerResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateEventTriggerResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline CreateEventTriggerResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline CreateEventTriggerResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline CreateEventTriggerResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateEventTriggerResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline CreateEventTriggerResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline CreateEventTriggerResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateEventTriggerResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateEventTriggerResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateEventTriggerResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_eventTriggerName; + + Aws::String m_objectTypeName; + + Aws::String m_description; + + Aws::Vector m_eventTriggerConditions; + + Aws::String m_segmentFilter; + + EventTriggerLimits m_eventTriggerLimits; + + Aws::Utils::DateTime m_createdAt; + + Aws::Utils::DateTime m_lastUpdatedAt; + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteEventTriggerRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteEventTriggerRequest.h new file mode 100644 index 00000000000..d157d33ad1d --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteEventTriggerRequest.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + + /** + */ + class DeleteEventTriggerRequest : public CustomerProfilesRequest + { + public: + AWS_CUSTOMERPROFILES_API DeleteEventTriggerRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteEventTrigger"; } + + AWS_CUSTOMERPROFILES_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique name of the domain.

    + */ + inline const Aws::String& GetDomainName() const{ return m_domainName; } + inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } + inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } + inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } + inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } + inline DeleteEventTriggerRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} + inline DeleteEventTriggerRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} + inline DeleteEventTriggerRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique name of the event trigger.

    + */ + inline const Aws::String& GetEventTriggerName() const{ return m_eventTriggerName; } + inline bool EventTriggerNameHasBeenSet() const { return m_eventTriggerNameHasBeenSet; } + inline void SetEventTriggerName(const Aws::String& value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName = value; } + inline void SetEventTriggerName(Aws::String&& value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName = std::move(value); } + inline void SetEventTriggerName(const char* value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName.assign(value); } + inline DeleteEventTriggerRequest& WithEventTriggerName(const Aws::String& value) { SetEventTriggerName(value); return *this;} + inline DeleteEventTriggerRequest& WithEventTriggerName(Aws::String&& value) { SetEventTriggerName(std::move(value)); return *this;} + inline DeleteEventTriggerRequest& WithEventTriggerName(const char* value) { SetEventTriggerName(value); return *this;} + ///@} + private: + + Aws::String m_domainName; + bool m_domainNameHasBeenSet = false; + + Aws::String m_eventTriggerName; + bool m_eventTriggerNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteEventTriggerResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteEventTriggerResult.h new file mode 100644 index 00000000000..a74977f66fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteEventTriggerResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + class DeleteEventTriggerResult + { + public: + AWS_CUSTOMERPROFILES_API DeleteEventTriggerResult(); + AWS_CUSTOMERPROFILES_API DeleteEventTriggerResult(const Aws::AmazonWebServiceResult& result); + AWS_CUSTOMERPROFILES_API DeleteEventTriggerResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    A message that indicates the delete request is done.

    + */ + inline const Aws::String& GetMessage() const{ return m_message; } + inline void SetMessage(const Aws::String& value) { m_message = value; } + inline void SetMessage(Aws::String&& value) { m_message = std::move(value); } + inline void SetMessage(const char* value) { m_message.assign(value); } + inline DeleteEventTriggerResult& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline DeleteEventTriggerResult& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline DeleteEventTriggerResult& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteEventTriggerResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteEventTriggerResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteEventTriggerResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_message; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerCondition.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerCondition.h new file mode 100644 index 00000000000..6ac8e04288a --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerCondition.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + + /** + *

    Specifies the circumstances under which the event should trigger the + * destination.

    See Also:

    AWS + * API Reference

    + */ + class EventTriggerCondition + { + public: + AWS_CUSTOMERPROFILES_API EventTriggerCondition(); + AWS_CUSTOMERPROFILES_API EventTriggerCondition(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API EventTriggerCondition& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    A list of dimensions to be evaluated for the event.

    + */ + inline const Aws::Vector& GetEventTriggerDimensions() const{ return m_eventTriggerDimensions; } + inline bool EventTriggerDimensionsHasBeenSet() const { return m_eventTriggerDimensionsHasBeenSet; } + inline void SetEventTriggerDimensions(const Aws::Vector& value) { m_eventTriggerDimensionsHasBeenSet = true; m_eventTriggerDimensions = value; } + inline void SetEventTriggerDimensions(Aws::Vector&& value) { m_eventTriggerDimensionsHasBeenSet = true; m_eventTriggerDimensions = std::move(value); } + inline EventTriggerCondition& WithEventTriggerDimensions(const Aws::Vector& value) { SetEventTriggerDimensions(value); return *this;} + inline EventTriggerCondition& WithEventTriggerDimensions(Aws::Vector&& value) { SetEventTriggerDimensions(std::move(value)); return *this;} + inline EventTriggerCondition& AddEventTriggerDimensions(const EventTriggerDimension& value) { m_eventTriggerDimensionsHasBeenSet = true; m_eventTriggerDimensions.push_back(value); return *this; } + inline EventTriggerCondition& AddEventTriggerDimensions(EventTriggerDimension&& value) { m_eventTriggerDimensionsHasBeenSet = true; m_eventTriggerDimensions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The operator used to combine multiple dimensions.

    + */ + inline const EventTriggerLogicalOperator& GetLogicalOperator() const{ return m_logicalOperator; } + inline bool LogicalOperatorHasBeenSet() const { return m_logicalOperatorHasBeenSet; } + inline void SetLogicalOperator(const EventTriggerLogicalOperator& value) { m_logicalOperatorHasBeenSet = true; m_logicalOperator = value; } + inline void SetLogicalOperator(EventTriggerLogicalOperator&& value) { m_logicalOperatorHasBeenSet = true; m_logicalOperator = std::move(value); } + inline EventTriggerCondition& WithLogicalOperator(const EventTriggerLogicalOperator& value) { SetLogicalOperator(value); return *this;} + inline EventTriggerCondition& WithLogicalOperator(EventTriggerLogicalOperator&& value) { SetLogicalOperator(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_eventTriggerDimensions; + bool m_eventTriggerDimensionsHasBeenSet = false; + + EventTriggerLogicalOperator m_logicalOperator; + bool m_logicalOperatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerDimension.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerDimension.h new file mode 100644 index 00000000000..8beac7fb2f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerDimension.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + + /** + *

    A specific event dimension to be assessed.

    See Also:

    AWS + * API Reference

    + */ + class EventTriggerDimension + { + public: + AWS_CUSTOMERPROFILES_API EventTriggerDimension(); + AWS_CUSTOMERPROFILES_API EventTriggerDimension(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API EventTriggerDimension& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    A list of object attributes to be evaluated.

    + */ + inline const Aws::Vector& GetObjectAttributes() const{ return m_objectAttributes; } + inline bool ObjectAttributesHasBeenSet() const { return m_objectAttributesHasBeenSet; } + inline void SetObjectAttributes(const Aws::Vector& value) { m_objectAttributesHasBeenSet = true; m_objectAttributes = value; } + inline void SetObjectAttributes(Aws::Vector&& value) { m_objectAttributesHasBeenSet = true; m_objectAttributes = std::move(value); } + inline EventTriggerDimension& WithObjectAttributes(const Aws::Vector& value) { SetObjectAttributes(value); return *this;} + inline EventTriggerDimension& WithObjectAttributes(Aws::Vector&& value) { SetObjectAttributes(std::move(value)); return *this;} + inline EventTriggerDimension& AddObjectAttributes(const ObjectAttribute& value) { m_objectAttributesHasBeenSet = true; m_objectAttributes.push_back(value); return *this; } + inline EventTriggerDimension& AddObjectAttributes(ObjectAttribute&& value) { m_objectAttributesHasBeenSet = true; m_objectAttributes.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_objectAttributes; + bool m_objectAttributesHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerLimits.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerLimits.h new file mode 100644 index 00000000000..108bc58a2f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerLimits.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + + /** + *

    Defines limits controlling whether an event triggers the destination, based + * on ingestion latency and the number of invocations per profile over specific + * time periods.

    See Also:

    AWS + * API Reference

    + */ + class EventTriggerLimits + { + public: + AWS_CUSTOMERPROFILES_API EventTriggerLimits(); + AWS_CUSTOMERPROFILES_API EventTriggerLimits(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API EventTriggerLimits& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    In milliseconds. Specifies that an event will only trigger the destination if + * it is processed within a certain latency period.

    + */ + inline long long GetEventExpiration() const{ return m_eventExpiration; } + inline bool EventExpirationHasBeenSet() const { return m_eventExpirationHasBeenSet; } + inline void SetEventExpiration(long long value) { m_eventExpirationHasBeenSet = true; m_eventExpiration = value; } + inline EventTriggerLimits& WithEventExpiration(long long value) { SetEventExpiration(value); return *this;} + ///@} + + ///@{ + /** + *

    A list of time periods during which the limits apply.

    + */ + inline const Aws::Vector& GetPeriods() const{ return m_periods; } + inline bool PeriodsHasBeenSet() const { return m_periodsHasBeenSet; } + inline void SetPeriods(const Aws::Vector& value) { m_periodsHasBeenSet = true; m_periods = value; } + inline void SetPeriods(Aws::Vector&& value) { m_periodsHasBeenSet = true; m_periods = std::move(value); } + inline EventTriggerLimits& WithPeriods(const Aws::Vector& value) { SetPeriods(value); return *this;} + inline EventTriggerLimits& WithPeriods(Aws::Vector&& value) { SetPeriods(std::move(value)); return *this;} + inline EventTriggerLimits& AddPeriods(const Period& value) { m_periodsHasBeenSet = true; m_periods.push_back(value); return *this; } + inline EventTriggerLimits& AddPeriods(Period&& value) { m_periodsHasBeenSet = true; m_periods.push_back(std::move(value)); return *this; } + ///@} + private: + + long long m_eventExpiration; + bool m_eventExpirationHasBeenSet = false; + + Aws::Vector m_periods; + bool m_periodsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerLogicalOperator.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerLogicalOperator.h new file mode 100644 index 00000000000..c908f0474bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerLogicalOperator.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + enum class EventTriggerLogicalOperator + { + NOT_SET, + ANY, + ALL, + NONE + }; + +namespace EventTriggerLogicalOperatorMapper +{ +AWS_CUSTOMERPROFILES_API EventTriggerLogicalOperator GetEventTriggerLogicalOperatorForName(const Aws::String& name); + +AWS_CUSTOMERPROFILES_API Aws::String GetNameForEventTriggerLogicalOperator(EventTriggerLogicalOperator value); +} // namespace EventTriggerLogicalOperatorMapper +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerSummaryItem.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerSummaryItem.h new file mode 100644 index 00000000000..7136db79d10 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/EventTriggerSummaryItem.h @@ -0,0 +1,149 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + + /** + *

    The summary of the event trigger.

    See Also:

    AWS + * API Reference

    + */ + class EventTriggerSummaryItem + { + public: + AWS_CUSTOMERPROFILES_API EventTriggerSummaryItem(); + AWS_CUSTOMERPROFILES_API EventTriggerSummaryItem(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API EventTriggerSummaryItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The unique name of the object type.

    + */ + inline const Aws::String& GetObjectTypeName() const{ return m_objectTypeName; } + inline bool ObjectTypeNameHasBeenSet() const { return m_objectTypeNameHasBeenSet; } + inline void SetObjectTypeName(const Aws::String& value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName = value; } + inline void SetObjectTypeName(Aws::String&& value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName = std::move(value); } + inline void SetObjectTypeName(const char* value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName.assign(value); } + inline EventTriggerSummaryItem& WithObjectTypeName(const Aws::String& value) { SetObjectTypeName(value); return *this;} + inline EventTriggerSummaryItem& WithObjectTypeName(Aws::String&& value) { SetObjectTypeName(std::move(value)); return *this;} + inline EventTriggerSummaryItem& WithObjectTypeName(const char* value) { SetObjectTypeName(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique name of the event trigger.

    + */ + inline const Aws::String& GetEventTriggerName() const{ return m_eventTriggerName; } + inline bool EventTriggerNameHasBeenSet() const { return m_eventTriggerNameHasBeenSet; } + inline void SetEventTriggerName(const Aws::String& value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName = value; } + inline void SetEventTriggerName(Aws::String&& value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName = std::move(value); } + inline void SetEventTriggerName(const char* value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName.assign(value); } + inline EventTriggerSummaryItem& WithEventTriggerName(const Aws::String& value) { SetEventTriggerName(value); return *this;} + inline EventTriggerSummaryItem& WithEventTriggerName(Aws::String&& value) { SetEventTriggerName(std::move(value)); return *this;} + inline EventTriggerSummaryItem& WithEventTriggerName(const char* value) { SetEventTriggerName(value); return *this;} + ///@} + + ///@{ + /** + *

    The description of the event trigger.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline EventTriggerSummaryItem& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline EventTriggerSummaryItem& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline EventTriggerSummaryItem& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the event trigger was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline EventTriggerSummaryItem& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline EventTriggerSummaryItem& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the event trigger was most recently updated.

    + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); } + inline EventTriggerSummaryItem& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline EventTriggerSummaryItem& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    An array of key-value pairs to apply to this resource.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline EventTriggerSummaryItem& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline EventTriggerSummaryItem& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline EventTriggerSummaryItem& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline EventTriggerSummaryItem& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline EventTriggerSummaryItem& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline EventTriggerSummaryItem& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline EventTriggerSummaryItem& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline EventTriggerSummaryItem& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline EventTriggerSummaryItem& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_objectTypeName; + bool m_objectTypeNameHasBeenSet = false; + + Aws::String m_eventTriggerName; + bool m_eventTriggerNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt; + bool m_lastUpdatedAtHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetEventTriggerRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetEventTriggerRequest.h new file mode 100644 index 00000000000..15f0b695e3b --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetEventTriggerRequest.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + + /** + */ + class GetEventTriggerRequest : public CustomerProfilesRequest + { + public: + AWS_CUSTOMERPROFILES_API GetEventTriggerRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetEventTrigger"; } + + AWS_CUSTOMERPROFILES_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique name of the domain.

    + */ + inline const Aws::String& GetDomainName() const{ return m_domainName; } + inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } + inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } + inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } + inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } + inline GetEventTriggerRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} + inline GetEventTriggerRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} + inline GetEventTriggerRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique name of the event trigger.

    + */ + inline const Aws::String& GetEventTriggerName() const{ return m_eventTriggerName; } + inline bool EventTriggerNameHasBeenSet() const { return m_eventTriggerNameHasBeenSet; } + inline void SetEventTriggerName(const Aws::String& value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName = value; } + inline void SetEventTriggerName(Aws::String&& value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName = std::move(value); } + inline void SetEventTriggerName(const char* value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName.assign(value); } + inline GetEventTriggerRequest& WithEventTriggerName(const Aws::String& value) { SetEventTriggerName(value); return *this;} + inline GetEventTriggerRequest& WithEventTriggerName(Aws::String&& value) { SetEventTriggerName(std::move(value)); return *this;} + inline GetEventTriggerRequest& WithEventTriggerName(const char* value) { SetEventTriggerName(value); return *this;} + ///@} + private: + + Aws::String m_domainName; + bool m_domainNameHasBeenSet = false; + + Aws::String m_eventTriggerName; + bool m_eventTriggerNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetEventTriggerResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetEventTriggerResult.h new file mode 100644 index 00000000000..1fff32798fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetEventTriggerResult.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + class GetEventTriggerResult + { + public: + AWS_CUSTOMERPROFILES_API GetEventTriggerResult(); + AWS_CUSTOMERPROFILES_API GetEventTriggerResult(const Aws::AmazonWebServiceResult& result); + AWS_CUSTOMERPROFILES_API GetEventTriggerResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The unique name of the event trigger.

    + */ + inline const Aws::String& GetEventTriggerName() const{ return m_eventTriggerName; } + inline void SetEventTriggerName(const Aws::String& value) { m_eventTriggerName = value; } + inline void SetEventTriggerName(Aws::String&& value) { m_eventTriggerName = std::move(value); } + inline void SetEventTriggerName(const char* value) { m_eventTriggerName.assign(value); } + inline GetEventTriggerResult& WithEventTriggerName(const Aws::String& value) { SetEventTriggerName(value); return *this;} + inline GetEventTriggerResult& WithEventTriggerName(Aws::String&& value) { SetEventTriggerName(std::move(value)); return *this;} + inline GetEventTriggerResult& WithEventTriggerName(const char* value) { SetEventTriggerName(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique name of the object type.

    + */ + inline const Aws::String& GetObjectTypeName() const{ return m_objectTypeName; } + inline void SetObjectTypeName(const Aws::String& value) { m_objectTypeName = value; } + inline void SetObjectTypeName(Aws::String&& value) { m_objectTypeName = std::move(value); } + inline void SetObjectTypeName(const char* value) { m_objectTypeName.assign(value); } + inline GetEventTriggerResult& WithObjectTypeName(const Aws::String& value) { SetObjectTypeName(value); return *this;} + inline GetEventTriggerResult& WithObjectTypeName(Aws::String&& value) { SetObjectTypeName(std::move(value)); return *this;} + inline GetEventTriggerResult& WithObjectTypeName(const char* value) { SetObjectTypeName(value); return *this;} + ///@} + + ///@{ + /** + *

    The description of the event trigger.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline void SetDescription(const Aws::String& value) { m_description = value; } + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + inline void SetDescription(const char* value) { m_description.assign(value); } + inline GetEventTriggerResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline GetEventTriggerResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline GetEventTriggerResult& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

    A list of conditions that determine when an event should trigger the + * destination.

    + */ + inline const Aws::Vector& GetEventTriggerConditions() const{ return m_eventTriggerConditions; } + inline void SetEventTriggerConditions(const Aws::Vector& value) { m_eventTriggerConditions = value; } + inline void SetEventTriggerConditions(Aws::Vector&& value) { m_eventTriggerConditions = std::move(value); } + inline GetEventTriggerResult& WithEventTriggerConditions(const Aws::Vector& value) { SetEventTriggerConditions(value); return *this;} + inline GetEventTriggerResult& WithEventTriggerConditions(Aws::Vector&& value) { SetEventTriggerConditions(std::move(value)); return *this;} + inline GetEventTriggerResult& AddEventTriggerConditions(const EventTriggerCondition& value) { m_eventTriggerConditions.push_back(value); return *this; } + inline GetEventTriggerResult& AddEventTriggerConditions(EventTriggerCondition&& value) { m_eventTriggerConditions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The destination is triggered only for profiles that meet the criteria of a + * segment definition.

    + */ + inline const Aws::String& GetSegmentFilter() const{ return m_segmentFilter; } + inline void SetSegmentFilter(const Aws::String& value) { m_segmentFilter = value; } + inline void SetSegmentFilter(Aws::String&& value) { m_segmentFilter = std::move(value); } + inline void SetSegmentFilter(const char* value) { m_segmentFilter.assign(value); } + inline GetEventTriggerResult& WithSegmentFilter(const Aws::String& value) { SetSegmentFilter(value); return *this;} + inline GetEventTriggerResult& WithSegmentFilter(Aws::String&& value) { SetSegmentFilter(std::move(value)); return *this;} + inline GetEventTriggerResult& WithSegmentFilter(const char* value) { SetSegmentFilter(value); return *this;} + ///@} + + ///@{ + /** + *

    Defines limits controlling whether an event triggers the destination, based + * on ingestion latency and the number of invocations per profile over specific + * time periods.

    + */ + inline const EventTriggerLimits& GetEventTriggerLimits() const{ return m_eventTriggerLimits; } + inline void SetEventTriggerLimits(const EventTriggerLimits& value) { m_eventTriggerLimits = value; } + inline void SetEventTriggerLimits(EventTriggerLimits&& value) { m_eventTriggerLimits = std::move(value); } + inline GetEventTriggerResult& WithEventTriggerLimits(const EventTriggerLimits& value) { SetEventTriggerLimits(value); return *this;} + inline GetEventTriggerResult& WithEventTriggerLimits(EventTriggerLimits&& value) { SetEventTriggerLimits(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the event trigger was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline GetEventTriggerResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline GetEventTriggerResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the event trigger was most recently updated.

    + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAt = std::move(value); } + inline GetEventTriggerResult& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline GetEventTriggerResult& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    An array of key-value pairs to apply to this resource.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline GetEventTriggerResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline GetEventTriggerResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline GetEventTriggerResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline GetEventTriggerResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline GetEventTriggerResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline GetEventTriggerResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline GetEventTriggerResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline GetEventTriggerResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline GetEventTriggerResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetEventTriggerResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetEventTriggerResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetEventTriggerResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_eventTriggerName; + + Aws::String m_objectTypeName; + + Aws::String m_description; + + Aws::Vector m_eventTriggerConditions; + + Aws::String m_segmentFilter; + + EventTriggerLimits m_eventTriggerLimits; + + Aws::Utils::DateTime m_createdAt; + + Aws::Utils::DateTime m_lastUpdatedAt; + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetIntegrationResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetIntegrationResult.h index 12a28c66d24..c4dfac453b6 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetIntegrationResult.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetIntegrationResult.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -175,6 +176,22 @@ namespace Model inline GetIntegrationResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} ///@} + ///@{ + /** + *

    A list of unique names for active event triggers associated with the + * integration. This list would be empty if no Event Trigger is associated with the + * integration.

    + */ + inline const Aws::Vector& GetEventTriggerNames() const{ return m_eventTriggerNames; } + inline void SetEventTriggerNames(const Aws::Vector& value) { m_eventTriggerNames = value; } + inline void SetEventTriggerNames(Aws::Vector&& value) { m_eventTriggerNames = std::move(value); } + inline GetIntegrationResult& WithEventTriggerNames(const Aws::Vector& value) { SetEventTriggerNames(value); return *this;} + inline GetIntegrationResult& WithEventTriggerNames(Aws::Vector&& value) { SetEventTriggerNames(std::move(value)); return *this;} + inline GetIntegrationResult& AddEventTriggerNames(const Aws::String& value) { m_eventTriggerNames.push_back(value); return *this; } + inline GetIntegrationResult& AddEventTriggerNames(Aws::String&& value) { m_eventTriggerNames.push_back(std::move(value)); return *this; } + inline GetIntegrationResult& AddEventTriggerNames(const char* value) { m_eventTriggerNames.push_back(value); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -207,6 +224,8 @@ namespace Model Aws::String m_roleArn; + Aws::Vector m_eventTriggerNames; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListEventTriggersRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListEventTriggersRequest.h new file mode 100644 index 00000000000..c10e0e26890 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListEventTriggersRequest.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace CustomerProfiles +{ +namespace Model +{ + + /** + */ + class ListEventTriggersRequest : public CustomerProfilesRequest + { + public: + AWS_CUSTOMERPROFILES_API ListEventTriggersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListEventTriggers"; } + + AWS_CUSTOMERPROFILES_API Aws::String SerializePayload() const override; + + AWS_CUSTOMERPROFILES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    The unique name of the domain.

    + */ + inline const Aws::String& GetDomainName() const{ return m_domainName; } + inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } + inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } + inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } + inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } + inline ListEventTriggersRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} + inline ListEventTriggersRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} + inline ListEventTriggersRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;} + ///@} + + ///@{ + /** + *

    The pagination token to use with ListEventTriggers.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListEventTriggersRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListEventTriggersRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListEventTriggersRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to return per page.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListEventTriggersRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_domainName; + bool m_domainNameHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListEventTriggersResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListEventTriggersResult.h new file mode 100644 index 00000000000..913e6503c17 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListEventTriggersResult.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + class ListEventTriggersResult + { + public: + AWS_CUSTOMERPROFILES_API ListEventTriggersResult(); + AWS_CUSTOMERPROFILES_API ListEventTriggersResult(const Aws::AmazonWebServiceResult& result); + AWS_CUSTOMERPROFILES_API ListEventTriggersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The list of Event Triggers.

    + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline void SetItems(const Aws::Vector& value) { m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + inline ListEventTriggersResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline ListEventTriggersResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline ListEventTriggersResult& AddItems(const EventTriggerSummaryItem& value) { m_items.push_back(value); return *this; } + inline ListEventTriggersResult& AddItems(EventTriggerSummaryItem&& value) { m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The pagination token from the previous call to ListEventTriggers.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListEventTriggersResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListEventTriggersResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListEventTriggersResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListEventTriggersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListEventTriggersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListEventTriggersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_items; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListIntegrationItem.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListIntegrationItem.h index 678da231fc7..a60993656f6 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListIntegrationItem.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListIntegrationItem.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -189,6 +190,22 @@ namespace Model inline ListIntegrationItem& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} inline ListIntegrationItem& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} ///@} + + ///@{ + /** + *

    A list of unique names for active event triggers associated with the + * integration.

    + */ + inline const Aws::Vector& GetEventTriggerNames() const{ return m_eventTriggerNames; } + inline bool EventTriggerNamesHasBeenSet() const { return m_eventTriggerNamesHasBeenSet; } + inline void SetEventTriggerNames(const Aws::Vector& value) { m_eventTriggerNamesHasBeenSet = true; m_eventTriggerNames = value; } + inline void SetEventTriggerNames(Aws::Vector&& value) { m_eventTriggerNamesHasBeenSet = true; m_eventTriggerNames = std::move(value); } + inline ListIntegrationItem& WithEventTriggerNames(const Aws::Vector& value) { SetEventTriggerNames(value); return *this;} + inline ListIntegrationItem& WithEventTriggerNames(Aws::Vector&& value) { SetEventTriggerNames(std::move(value)); return *this;} + inline ListIntegrationItem& AddEventTriggerNames(const Aws::String& value) { m_eventTriggerNamesHasBeenSet = true; m_eventTriggerNames.push_back(value); return *this; } + inline ListIntegrationItem& AddEventTriggerNames(Aws::String&& value) { m_eventTriggerNamesHasBeenSet = true; m_eventTriggerNames.push_back(std::move(value)); return *this; } + inline ListIntegrationItem& AddEventTriggerNames(const char* value) { m_eventTriggerNamesHasBeenSet = true; m_eventTriggerNames.push_back(value); return *this; } + ///@} private: Aws::String m_domainName; @@ -220,6 +237,9 @@ namespace Model Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; + + Aws::Vector m_eventTriggerNames; + bool m_eventTriggerNamesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ObjectAttribute.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ObjectAttribute.h new file mode 100644 index 00000000000..b097966fdd1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ObjectAttribute.h @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + + /** + *

    The criteria that a specific object attribute must meet to trigger the + * destination.

    See Also:

    AWS + * API Reference

    + */ + class ObjectAttribute + { + public: + AWS_CUSTOMERPROFILES_API ObjectAttribute(); + AWS_CUSTOMERPROFILES_API ObjectAttribute(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API ObjectAttribute& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    An attribute contained within a source object.

    + */ + inline const Aws::String& GetSource() const{ return m_source; } + inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } + inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } + inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } + inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } + inline ObjectAttribute& WithSource(const Aws::String& value) { SetSource(value); return *this;} + inline ObjectAttribute& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;} + inline ObjectAttribute& WithSource(const char* value) { SetSource(value); return *this;} + ///@} + + ///@{ + /** + *

    A field defined within an object type.

    + */ + inline const Aws::String& GetFieldName() const{ return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(const Aws::String& value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline void SetFieldName(Aws::String&& value) { m_fieldNameHasBeenSet = true; m_fieldName = std::move(value); } + inline void SetFieldName(const char* value) { m_fieldNameHasBeenSet = true; m_fieldName.assign(value); } + inline ObjectAttribute& WithFieldName(const Aws::String& value) { SetFieldName(value); return *this;} + inline ObjectAttribute& WithFieldName(Aws::String&& value) { SetFieldName(std::move(value)); return *this;} + inline ObjectAttribute& WithFieldName(const char* value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + /** + *

    The operator used to compare an attribute against a list of values.

    + */ + inline const ComparisonOperator& GetComparisonOperator() const{ return m_comparisonOperator; } + inline bool ComparisonOperatorHasBeenSet() const { return m_comparisonOperatorHasBeenSet; } + inline void SetComparisonOperator(const ComparisonOperator& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = value; } + inline void SetComparisonOperator(ComparisonOperator&& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = std::move(value); } + inline ObjectAttribute& WithComparisonOperator(const ComparisonOperator& value) { SetComparisonOperator(value); return *this;} + inline ObjectAttribute& WithComparisonOperator(ComparisonOperator&& value) { SetComparisonOperator(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    A list of attribute values used for comparison.

    + */ + inline const Aws::Vector& GetValues() const{ return m_values; } + inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } + inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } + inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } + inline ObjectAttribute& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} + inline ObjectAttribute& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} + inline ObjectAttribute& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + inline ObjectAttribute& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } + inline ObjectAttribute& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + ///@} + private: + + Aws::String m_source; + bool m_sourceHasBeenSet = false; + + Aws::String m_fieldName; + bool m_fieldNameHasBeenSet = false; + + ComparisonOperator m_comparisonOperator; + bool m_comparisonOperatorHasBeenSet = false; + + Aws::Vector m_values; + bool m_valuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Period.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Period.h new file mode 100644 index 00000000000..9140ce416e1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Period.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + + /** + *

    Defines a limit and the time period during which it is + * enforced.

    See Also:

    AWS + * API Reference

    + */ + class Period + { + public: + AWS_CUSTOMERPROFILES_API Period(); + AWS_CUSTOMERPROFILES_API Period(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API Period& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CUSTOMERPROFILES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The unit of time.

    + */ + inline const PeriodUnit& GetUnit() const{ return m_unit; } + inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } + inline void SetUnit(const PeriodUnit& value) { m_unitHasBeenSet = true; m_unit = value; } + inline void SetUnit(PeriodUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } + inline Period& WithUnit(const PeriodUnit& value) { SetUnit(value); return *this;} + inline Period& WithUnit(PeriodUnit&& value) { SetUnit(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The amount of time of the specified unit.

    + */ + inline int GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(int value) { m_valueHasBeenSet = true; m_value = value; } + inline Period& WithValue(int value) { SetValue(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum allowed number of destination invocations per profile.

    + */ + inline int GetMaxInvocationsPerProfile() const{ return m_maxInvocationsPerProfile; } + inline bool MaxInvocationsPerProfileHasBeenSet() const { return m_maxInvocationsPerProfileHasBeenSet; } + inline void SetMaxInvocationsPerProfile(int value) { m_maxInvocationsPerProfileHasBeenSet = true; m_maxInvocationsPerProfile = value; } + inline Period& WithMaxInvocationsPerProfile(int value) { SetMaxInvocationsPerProfile(value); return *this;} + ///@} + + ///@{ + /** + *

    If set to true, there is no limit on the number of destination invocations + * per profile. The default is false.

    + */ + inline bool GetUnlimited() const{ return m_unlimited; } + inline bool UnlimitedHasBeenSet() const { return m_unlimitedHasBeenSet; } + inline void SetUnlimited(bool value) { m_unlimitedHasBeenSet = true; m_unlimited = value; } + inline Period& WithUnlimited(bool value) { SetUnlimited(value); return *this;} + ///@} + private: + + PeriodUnit m_unit; + bool m_unitHasBeenSet = false; + + int m_value; + bool m_valueHasBeenSet = false; + + int m_maxInvocationsPerProfile; + bool m_maxInvocationsPerProfileHasBeenSet = false; + + bool m_unlimited; + bool m_unlimitedHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PeriodUnit.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PeriodUnit.h new file mode 100644 index 00000000000..e57f51c8142 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PeriodUnit.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + enum class PeriodUnit + { + NOT_SET, + HOURS, + DAYS, + WEEKS, + MONTHS + }; + +namespace PeriodUnitMapper +{ +AWS_CUSTOMERPROFILES_API PeriodUnit GetPeriodUnitForName(const Aws::String& name); + +AWS_CUSTOMERPROFILES_API Aws::String GetNameForPeriodUnit(PeriodUnit value); +} // namespace PeriodUnitMapper +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PutIntegrationRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PutIntegrationRequest.h index 17283d61d30..18a102d16c6 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PutIntegrationRequest.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PutIntegrationRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -147,6 +148,22 @@ namespace Model inline PutIntegrationRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} inline PutIntegrationRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} ///@} + + ///@{ + /** + *

    A list of unique names for active event triggers associated with the + * integration.

    + */ + inline const Aws::Vector& GetEventTriggerNames() const{ return m_eventTriggerNames; } + inline bool EventTriggerNamesHasBeenSet() const { return m_eventTriggerNamesHasBeenSet; } + inline void SetEventTriggerNames(const Aws::Vector& value) { m_eventTriggerNamesHasBeenSet = true; m_eventTriggerNames = value; } + inline void SetEventTriggerNames(Aws::Vector&& value) { m_eventTriggerNamesHasBeenSet = true; m_eventTriggerNames = std::move(value); } + inline PutIntegrationRequest& WithEventTriggerNames(const Aws::Vector& value) { SetEventTriggerNames(value); return *this;} + inline PutIntegrationRequest& WithEventTriggerNames(Aws::Vector&& value) { SetEventTriggerNames(std::move(value)); return *this;} + inline PutIntegrationRequest& AddEventTriggerNames(const Aws::String& value) { m_eventTriggerNamesHasBeenSet = true; m_eventTriggerNames.push_back(value); return *this; } + inline PutIntegrationRequest& AddEventTriggerNames(Aws::String&& value) { m_eventTriggerNamesHasBeenSet = true; m_eventTriggerNames.push_back(std::move(value)); return *this; } + inline PutIntegrationRequest& AddEventTriggerNames(const char* value) { m_eventTriggerNamesHasBeenSet = true; m_eventTriggerNames.push_back(value); return *this; } + ///@} private: Aws::String m_domainName; @@ -169,6 +186,9 @@ namespace Model Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; + + Aws::Vector m_eventTriggerNames; + bool m_eventTriggerNamesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PutIntegrationResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PutIntegrationResult.h index 78a5b452157..4846feb08f8 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PutIntegrationResult.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/PutIntegrationResult.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -175,6 +176,22 @@ namespace Model inline PutIntegrationResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} ///@} + ///@{ + /** + *

    A list of unique names for active event triggers associated with the + * integration. This list would be empty if no Event Trigger is associated with the + * integration.

    + */ + inline const Aws::Vector& GetEventTriggerNames() const{ return m_eventTriggerNames; } + inline void SetEventTriggerNames(const Aws::Vector& value) { m_eventTriggerNames = value; } + inline void SetEventTriggerNames(Aws::Vector&& value) { m_eventTriggerNames = std::move(value); } + inline PutIntegrationResult& WithEventTriggerNames(const Aws::Vector& value) { SetEventTriggerNames(value); return *this;} + inline PutIntegrationResult& WithEventTriggerNames(Aws::Vector&& value) { SetEventTriggerNames(std::move(value)); return *this;} + inline PutIntegrationResult& AddEventTriggerNames(const Aws::String& value) { m_eventTriggerNames.push_back(value); return *this; } + inline PutIntegrationResult& AddEventTriggerNames(Aws::String&& value) { m_eventTriggerNames.push_back(std::move(value)); return *this; } + inline PutIntegrationResult& AddEventTriggerNames(const char* value) { m_eventTriggerNames.push_back(value); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -207,6 +224,8 @@ namespace Model Aws::String m_roleArn; + Aws::Vector m_eventTriggerNames; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateEventTriggerRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateEventTriggerRequest.h new file mode 100644 index 00000000000..e8039ce3424 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateEventTriggerRequest.h @@ -0,0 +1,163 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + + /** + */ + class UpdateEventTriggerRequest : public CustomerProfilesRequest + { + public: + AWS_CUSTOMERPROFILES_API UpdateEventTriggerRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateEventTrigger"; } + + AWS_CUSTOMERPROFILES_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique name of the domain.

    + */ + inline const Aws::String& GetDomainName() const{ return m_domainName; } + inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } + inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } + inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } + inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } + inline UpdateEventTriggerRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} + inline UpdateEventTriggerRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} + inline UpdateEventTriggerRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique name of the event trigger.

    + */ + inline const Aws::String& GetEventTriggerName() const{ return m_eventTriggerName; } + inline bool EventTriggerNameHasBeenSet() const { return m_eventTriggerNameHasBeenSet; } + inline void SetEventTriggerName(const Aws::String& value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName = value; } + inline void SetEventTriggerName(Aws::String&& value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName = std::move(value); } + inline void SetEventTriggerName(const char* value) { m_eventTriggerNameHasBeenSet = true; m_eventTriggerName.assign(value); } + inline UpdateEventTriggerRequest& WithEventTriggerName(const Aws::String& value) { SetEventTriggerName(value); return *this;} + inline UpdateEventTriggerRequest& WithEventTriggerName(Aws::String&& value) { SetEventTriggerName(std::move(value)); return *this;} + inline UpdateEventTriggerRequest& WithEventTriggerName(const char* value) { SetEventTriggerName(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique name of the object type.

    + */ + inline const Aws::String& GetObjectTypeName() const{ return m_objectTypeName; } + inline bool ObjectTypeNameHasBeenSet() const { return m_objectTypeNameHasBeenSet; } + inline void SetObjectTypeName(const Aws::String& value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName = value; } + inline void SetObjectTypeName(Aws::String&& value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName = std::move(value); } + inline void SetObjectTypeName(const char* value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName.assign(value); } + inline UpdateEventTriggerRequest& WithObjectTypeName(const Aws::String& value) { SetObjectTypeName(value); return *this;} + inline UpdateEventTriggerRequest& WithObjectTypeName(Aws::String&& value) { SetObjectTypeName(std::move(value)); return *this;} + inline UpdateEventTriggerRequest& WithObjectTypeName(const char* value) { SetObjectTypeName(value); return *this;} + ///@} + + ///@{ + /** + *

    The description of the event trigger.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline UpdateEventTriggerRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline UpdateEventTriggerRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline UpdateEventTriggerRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

    A list of conditions that determine when an event should trigger the + * destination.

    + */ + inline const Aws::Vector& GetEventTriggerConditions() const{ return m_eventTriggerConditions; } + inline bool EventTriggerConditionsHasBeenSet() const { return m_eventTriggerConditionsHasBeenSet; } + inline void SetEventTriggerConditions(const Aws::Vector& value) { m_eventTriggerConditionsHasBeenSet = true; m_eventTriggerConditions = value; } + inline void SetEventTriggerConditions(Aws::Vector&& value) { m_eventTriggerConditionsHasBeenSet = true; m_eventTriggerConditions = std::move(value); } + inline UpdateEventTriggerRequest& WithEventTriggerConditions(const Aws::Vector& value) { SetEventTriggerConditions(value); return *this;} + inline UpdateEventTriggerRequest& WithEventTriggerConditions(Aws::Vector&& value) { SetEventTriggerConditions(std::move(value)); return *this;} + inline UpdateEventTriggerRequest& AddEventTriggerConditions(const EventTriggerCondition& value) { m_eventTriggerConditionsHasBeenSet = true; m_eventTriggerConditions.push_back(value); return *this; } + inline UpdateEventTriggerRequest& AddEventTriggerConditions(EventTriggerCondition&& value) { m_eventTriggerConditionsHasBeenSet = true; m_eventTriggerConditions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The destination is triggered only for profiles that meet the criteria of a + * segment definition.

    + */ + inline const Aws::String& GetSegmentFilter() const{ return m_segmentFilter; } + inline bool SegmentFilterHasBeenSet() const { return m_segmentFilterHasBeenSet; } + inline void SetSegmentFilter(const Aws::String& value) { m_segmentFilterHasBeenSet = true; m_segmentFilter = value; } + inline void SetSegmentFilter(Aws::String&& value) { m_segmentFilterHasBeenSet = true; m_segmentFilter = std::move(value); } + inline void SetSegmentFilter(const char* value) { m_segmentFilterHasBeenSet = true; m_segmentFilter.assign(value); } + inline UpdateEventTriggerRequest& WithSegmentFilter(const Aws::String& value) { SetSegmentFilter(value); return *this;} + inline UpdateEventTriggerRequest& WithSegmentFilter(Aws::String&& value) { SetSegmentFilter(std::move(value)); return *this;} + inline UpdateEventTriggerRequest& WithSegmentFilter(const char* value) { SetSegmentFilter(value); return *this;} + ///@} + + ///@{ + /** + *

    Defines limits controlling whether an event triggers the destination, based + * on ingestion latency and the number of invocations per profile over specific + * time periods.

    + */ + inline const EventTriggerLimits& GetEventTriggerLimits() const{ return m_eventTriggerLimits; } + inline bool EventTriggerLimitsHasBeenSet() const { return m_eventTriggerLimitsHasBeenSet; } + inline void SetEventTriggerLimits(const EventTriggerLimits& value) { m_eventTriggerLimitsHasBeenSet = true; m_eventTriggerLimits = value; } + inline void SetEventTriggerLimits(EventTriggerLimits&& value) { m_eventTriggerLimitsHasBeenSet = true; m_eventTriggerLimits = std::move(value); } + inline UpdateEventTriggerRequest& WithEventTriggerLimits(const EventTriggerLimits& value) { SetEventTriggerLimits(value); return *this;} + inline UpdateEventTriggerRequest& WithEventTriggerLimits(EventTriggerLimits&& value) { SetEventTriggerLimits(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_domainName; + bool m_domainNameHasBeenSet = false; + + Aws::String m_eventTriggerName; + bool m_eventTriggerNameHasBeenSet = false; + + Aws::String m_objectTypeName; + bool m_objectTypeNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_eventTriggerConditions; + bool m_eventTriggerConditionsHasBeenSet = false; + + Aws::String m_segmentFilter; + bool m_segmentFilterHasBeenSet = false; + + EventTriggerLimits m_eventTriggerLimits; + bool m_eventTriggerLimitsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateEventTriggerResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateEventTriggerResult.h new file mode 100644 index 00000000000..b54fc7c1e7c --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateEventTriggerResult.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + class UpdateEventTriggerResult + { + public: + AWS_CUSTOMERPROFILES_API UpdateEventTriggerResult(); + AWS_CUSTOMERPROFILES_API UpdateEventTriggerResult(const Aws::AmazonWebServiceResult& result); + AWS_CUSTOMERPROFILES_API UpdateEventTriggerResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The unique name of the event trigger.

    + */ + inline const Aws::String& GetEventTriggerName() const{ return m_eventTriggerName; } + inline void SetEventTriggerName(const Aws::String& value) { m_eventTriggerName = value; } + inline void SetEventTriggerName(Aws::String&& value) { m_eventTriggerName = std::move(value); } + inline void SetEventTriggerName(const char* value) { m_eventTriggerName.assign(value); } + inline UpdateEventTriggerResult& WithEventTriggerName(const Aws::String& value) { SetEventTriggerName(value); return *this;} + inline UpdateEventTriggerResult& WithEventTriggerName(Aws::String&& value) { SetEventTriggerName(std::move(value)); return *this;} + inline UpdateEventTriggerResult& WithEventTriggerName(const char* value) { SetEventTriggerName(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique name of the object type.

    + */ + inline const Aws::String& GetObjectTypeName() const{ return m_objectTypeName; } + inline void SetObjectTypeName(const Aws::String& value) { m_objectTypeName = value; } + inline void SetObjectTypeName(Aws::String&& value) { m_objectTypeName = std::move(value); } + inline void SetObjectTypeName(const char* value) { m_objectTypeName.assign(value); } + inline UpdateEventTriggerResult& WithObjectTypeName(const Aws::String& value) { SetObjectTypeName(value); return *this;} + inline UpdateEventTriggerResult& WithObjectTypeName(Aws::String&& value) { SetObjectTypeName(std::move(value)); return *this;} + inline UpdateEventTriggerResult& WithObjectTypeName(const char* value) { SetObjectTypeName(value); return *this;} + ///@} + + ///@{ + /** + *

    The description of the event trigger.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline void SetDescription(const Aws::String& value) { m_description = value; } + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + inline void SetDescription(const char* value) { m_description.assign(value); } + inline UpdateEventTriggerResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline UpdateEventTriggerResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline UpdateEventTriggerResult& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

    A list of conditions that determine when an event should trigger the + * destination.

    + */ + inline const Aws::Vector& GetEventTriggerConditions() const{ return m_eventTriggerConditions; } + inline void SetEventTriggerConditions(const Aws::Vector& value) { m_eventTriggerConditions = value; } + inline void SetEventTriggerConditions(Aws::Vector&& value) { m_eventTriggerConditions = std::move(value); } + inline UpdateEventTriggerResult& WithEventTriggerConditions(const Aws::Vector& value) { SetEventTriggerConditions(value); return *this;} + inline UpdateEventTriggerResult& WithEventTriggerConditions(Aws::Vector&& value) { SetEventTriggerConditions(std::move(value)); return *this;} + inline UpdateEventTriggerResult& AddEventTriggerConditions(const EventTriggerCondition& value) { m_eventTriggerConditions.push_back(value); return *this; } + inline UpdateEventTriggerResult& AddEventTriggerConditions(EventTriggerCondition&& value) { m_eventTriggerConditions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The destination is triggered only for profiles that meet the criteria of a + * segment definition.

    + */ + inline const Aws::String& GetSegmentFilter() const{ return m_segmentFilter; } + inline void SetSegmentFilter(const Aws::String& value) { m_segmentFilter = value; } + inline void SetSegmentFilter(Aws::String&& value) { m_segmentFilter = std::move(value); } + inline void SetSegmentFilter(const char* value) { m_segmentFilter.assign(value); } + inline UpdateEventTriggerResult& WithSegmentFilter(const Aws::String& value) { SetSegmentFilter(value); return *this;} + inline UpdateEventTriggerResult& WithSegmentFilter(Aws::String&& value) { SetSegmentFilter(std::move(value)); return *this;} + inline UpdateEventTriggerResult& WithSegmentFilter(const char* value) { SetSegmentFilter(value); return *this;} + ///@} + + ///@{ + /** + *

    Defines limits controlling whether an event triggers the destination, based + * on ingestion latency and the number of invocations per profile over specific + * time periods.

    + */ + inline const EventTriggerLimits& GetEventTriggerLimits() const{ return m_eventTriggerLimits; } + inline void SetEventTriggerLimits(const EventTriggerLimits& value) { m_eventTriggerLimits = value; } + inline void SetEventTriggerLimits(EventTriggerLimits&& value) { m_eventTriggerLimits = std::move(value); } + inline UpdateEventTriggerResult& WithEventTriggerLimits(const EventTriggerLimits& value) { SetEventTriggerLimits(value); return *this;} + inline UpdateEventTriggerResult& WithEventTriggerLimits(EventTriggerLimits&& value) { SetEventTriggerLimits(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the event trigger was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline UpdateEventTriggerResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline UpdateEventTriggerResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the event trigger was most recently updated.

    + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAt = std::move(value); } + inline UpdateEventTriggerResult& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline UpdateEventTriggerResult& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    An array of key-value pairs to apply to this resource.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline UpdateEventTriggerResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline UpdateEventTriggerResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline UpdateEventTriggerResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline UpdateEventTriggerResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline UpdateEventTriggerResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline UpdateEventTriggerResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline UpdateEventTriggerResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline UpdateEventTriggerResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline UpdateEventTriggerResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateEventTriggerResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateEventTriggerResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateEventTriggerResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_eventTriggerName; + + Aws::String m_objectTypeName; + + Aws::String m_description; + + Aws::Vector m_eventTriggerConditions; + + Aws::String m_segmentFilter; + + EventTriggerLimits m_eventTriggerLimits; + + Aws::Utils::DateTime m_createdAt; + + Aws::Utils::DateTime m_lastUpdatedAt; + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp index ed52217f1a3..1a3499bbba6 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -35,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -48,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -65,6 +68,7 @@ #include #include #include +#include #include #include #include @@ -85,6 +89,7 @@ #include #include #include +#include #include #include @@ -451,6 +456,46 @@ CreateEventStreamOutcome CustomerProfilesClient::CreateEventStream(const CreateE {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateEventTriggerOutcome CustomerProfilesClient::CreateEventTrigger(const CreateEventTriggerRequest& request) const +{ + AWS_OPERATION_GUARD(CreateEventTrigger); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateEventTrigger, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DomainNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateEventTrigger", "Required field: DomainName, is not set"); + return CreateEventTriggerOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false)); + } + if (!request.EventTriggerNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateEventTrigger", "Required field: EventTriggerName, is not set"); + return CreateEventTriggerOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EventTriggerName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateEventTrigger, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateEventTrigger, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateEventTrigger", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateEventTriggerOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateEventTrigger, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/domains/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDomainName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/event-triggers/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetEventTriggerName()); + return CreateEventTriggerOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateIntegrationWorkflowOutcome CustomerProfilesClient::CreateIntegrationWorkflow(const CreateIntegrationWorkflowRequest& request) const { AWS_OPERATION_GUARD(CreateIntegrationWorkflow); @@ -747,6 +792,46 @@ DeleteEventStreamOutcome CustomerProfilesClient::DeleteEventStream(const DeleteE {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteEventTriggerOutcome CustomerProfilesClient::DeleteEventTrigger(const DeleteEventTriggerRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteEventTrigger); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteEventTrigger, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DomainNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteEventTrigger", "Required field: DomainName, is not set"); + return DeleteEventTriggerOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false)); + } + if (!request.EventTriggerNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteEventTrigger", "Required field: EventTriggerName, is not set"); + return DeleteEventTriggerOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EventTriggerName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteEventTrigger, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteEventTrigger, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteEventTrigger", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteEventTriggerOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteEventTrigger, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/domains/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDomainName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/event-triggers/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetEventTriggerName()); + return DeleteEventTriggerOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteIntegrationOutcome CustomerProfilesClient::DeleteIntegration(const DeleteIntegrationRequest& request) const { AWS_OPERATION_GUARD(DeleteIntegration); @@ -1231,6 +1316,46 @@ GetEventStreamOutcome CustomerProfilesClient::GetEventStream(const GetEventStrea {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetEventTriggerOutcome CustomerProfilesClient::GetEventTrigger(const GetEventTriggerRequest& request) const +{ + AWS_OPERATION_GUARD(GetEventTrigger); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetEventTrigger, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DomainNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetEventTrigger", "Required field: DomainName, is not set"); + return GetEventTriggerOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false)); + } + if (!request.EventTriggerNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetEventTrigger", "Required field: EventTriggerName, is not set"); + return GetEventTriggerOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EventTriggerName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetEventTrigger, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetEventTrigger, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetEventTrigger", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetEventTriggerOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetEventTrigger, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/domains/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDomainName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/event-triggers/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetEventTriggerName()); + return GetEventTriggerOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetIdentityResolutionJobOutcome CustomerProfilesClient::GetIdentityResolutionJob(const GetIdentityResolutionJobRequest& request) const { AWS_OPERATION_GUARD(GetIdentityResolutionJob); @@ -1858,6 +1983,40 @@ ListEventStreamsOutcome CustomerProfilesClient::ListEventStreams(const ListEvent {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListEventTriggersOutcome CustomerProfilesClient::ListEventTriggers(const ListEventTriggersRequest& request) const +{ + AWS_OPERATION_GUARD(ListEventTriggers); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListEventTriggers, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DomainNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListEventTriggers", "Required field: DomainName, is not set"); + return ListEventTriggersOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListEventTriggers, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListEventTriggers, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListEventTriggers", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListEventTriggersOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListEventTriggers, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/domains/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDomainName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/event-triggers"); + return ListEventTriggersOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListIdentityResolutionJobsOutcome CustomerProfilesClient::ListIdentityResolutionJobs(const ListIdentityResolutionJobsRequest& request) const { AWS_OPERATION_GUARD(ListIdentityResolutionJobs); @@ -2558,6 +2717,46 @@ UpdateDomainOutcome CustomerProfilesClient::UpdateDomain(const UpdateDomainReque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateEventTriggerOutcome CustomerProfilesClient::UpdateEventTrigger(const UpdateEventTriggerRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateEventTrigger); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateEventTrigger, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DomainNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateEventTrigger", "Required field: DomainName, is not set"); + return UpdateEventTriggerOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false)); + } + if (!request.EventTriggerNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateEventTrigger", "Required field: EventTriggerName, is not set"); + return UpdateEventTriggerOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EventTriggerName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateEventTrigger, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateEventTrigger, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateEventTrigger", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateEventTriggerOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateEventTrigger, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/domains/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDomainName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/event-triggers/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetEventTriggerName()); + return UpdateEventTriggerOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateProfileOutcome CustomerProfilesClient::UpdateProfile(const UpdateProfileRequest& request) const { AWS_OPERATION_GUARD(UpdateProfile); diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ComparisonOperator.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ComparisonOperator.cpp new file mode 100644 index 00000000000..f941808ab5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ComparisonOperator.cpp @@ -0,0 +1,163 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CustomerProfiles + { + namespace Model + { + namespace ComparisonOperatorMapper + { + + static const int INCLUSIVE_HASH = HashingUtils::HashString("INCLUSIVE"); + static const int EXCLUSIVE_HASH = HashingUtils::HashString("EXCLUSIVE"); + static const int CONTAINS_HASH = HashingUtils::HashString("CONTAINS"); + static const int BEGINS_WITH_HASH = HashingUtils::HashString("BEGINS_WITH"); + static const int ENDS_WITH_HASH = HashingUtils::HashString("ENDS_WITH"); + static const int GREATER_THAN_HASH = HashingUtils::HashString("GREATER_THAN"); + static const int LESS_THAN_HASH = HashingUtils::HashString("LESS_THAN"); + static const int GREATER_THAN_OR_EQUAL_HASH = HashingUtils::HashString("GREATER_THAN_OR_EQUAL"); + static const int LESS_THAN_OR_EQUAL_HASH = HashingUtils::HashString("LESS_THAN_OR_EQUAL"); + static const int EQUAL_HASH = HashingUtils::HashString("EQUAL"); + static const int BEFORE_HASH = HashingUtils::HashString("BEFORE"); + static const int AFTER_HASH = HashingUtils::HashString("AFTER"); + static const int ON_HASH = HashingUtils::HashString("ON"); + static const int BETWEEN_HASH = HashingUtils::HashString("BETWEEN"); + static const int NOT_BETWEEN_HASH = HashingUtils::HashString("NOT_BETWEEN"); + + + ComparisonOperator GetComparisonOperatorForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INCLUSIVE_HASH) + { + return ComparisonOperator::INCLUSIVE; + } + else if (hashCode == EXCLUSIVE_HASH) + { + return ComparisonOperator::EXCLUSIVE; + } + else if (hashCode == CONTAINS_HASH) + { + return ComparisonOperator::CONTAINS; + } + else if (hashCode == BEGINS_WITH_HASH) + { + return ComparisonOperator::BEGINS_WITH; + } + else if (hashCode == ENDS_WITH_HASH) + { + return ComparisonOperator::ENDS_WITH; + } + else if (hashCode == GREATER_THAN_HASH) + { + return ComparisonOperator::GREATER_THAN; + } + else if (hashCode == LESS_THAN_HASH) + { + return ComparisonOperator::LESS_THAN; + } + else if (hashCode == GREATER_THAN_OR_EQUAL_HASH) + { + return ComparisonOperator::GREATER_THAN_OR_EQUAL; + } + else if (hashCode == LESS_THAN_OR_EQUAL_HASH) + { + return ComparisonOperator::LESS_THAN_OR_EQUAL; + } + else if (hashCode == EQUAL_HASH) + { + return ComparisonOperator::EQUAL; + } + else if (hashCode == BEFORE_HASH) + { + return ComparisonOperator::BEFORE; + } + else if (hashCode == AFTER_HASH) + { + return ComparisonOperator::AFTER; + } + else if (hashCode == ON_HASH) + { + return ComparisonOperator::ON; + } + else if (hashCode == BETWEEN_HASH) + { + return ComparisonOperator::BETWEEN; + } + else if (hashCode == NOT_BETWEEN_HASH) + { + return ComparisonOperator::NOT_BETWEEN; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ComparisonOperator::NOT_SET; + } + + Aws::String GetNameForComparisonOperator(ComparisonOperator enumValue) + { + switch(enumValue) + { + case ComparisonOperator::NOT_SET: + return {}; + case ComparisonOperator::INCLUSIVE: + return "INCLUSIVE"; + case ComparisonOperator::EXCLUSIVE: + return "EXCLUSIVE"; + case ComparisonOperator::CONTAINS: + return "CONTAINS"; + case ComparisonOperator::BEGINS_WITH: + return "BEGINS_WITH"; + case ComparisonOperator::ENDS_WITH: + return "ENDS_WITH"; + case ComparisonOperator::GREATER_THAN: + return "GREATER_THAN"; + case ComparisonOperator::LESS_THAN: + return "LESS_THAN"; + case ComparisonOperator::GREATER_THAN_OR_EQUAL: + return "GREATER_THAN_OR_EQUAL"; + case ComparisonOperator::LESS_THAN_OR_EQUAL: + return "LESS_THAN_OR_EQUAL"; + case ComparisonOperator::EQUAL: + return "EQUAL"; + case ComparisonOperator::BEFORE: + return "BEFORE"; + case ComparisonOperator::AFTER: + return "AFTER"; + case ComparisonOperator::ON: + return "ON"; + case ComparisonOperator::BETWEEN: + return "BETWEEN"; + case ComparisonOperator::NOT_BETWEEN: + return "NOT_BETWEEN"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ComparisonOperatorMapper + } // namespace Model + } // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateEventTriggerRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateEventTriggerRequest.cpp new file mode 100644 index 00000000000..379ddae2525 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateEventTriggerRequest.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateEventTriggerRequest::CreateEventTriggerRequest() : + m_domainNameHasBeenSet(false), + m_eventTriggerNameHasBeenSet(false), + m_objectTypeNameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_eventTriggerConditionsHasBeenSet(false), + m_segmentFilterHasBeenSet(false), + m_eventTriggerLimitsHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateEventTriggerRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_objectTypeNameHasBeenSet) + { + payload.WithString("ObjectTypeName", m_objectTypeName); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_eventTriggerConditionsHasBeenSet) + { + Aws::Utils::Array eventTriggerConditionsJsonList(m_eventTriggerConditions.size()); + for(unsigned eventTriggerConditionsIndex = 0; eventTriggerConditionsIndex < eventTriggerConditionsJsonList.GetLength(); ++eventTriggerConditionsIndex) + { + eventTriggerConditionsJsonList[eventTriggerConditionsIndex].AsObject(m_eventTriggerConditions[eventTriggerConditionsIndex].Jsonize()); + } + payload.WithArray("EventTriggerConditions", std::move(eventTriggerConditionsJsonList)); + + } + + if(m_segmentFilterHasBeenSet) + { + payload.WithString("SegmentFilter", m_segmentFilter); + + } + + if(m_eventTriggerLimitsHasBeenSet) + { + payload.WithObject("EventTriggerLimits", m_eventTriggerLimits.Jsonize()); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateEventTriggerResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateEventTriggerResult.cpp new file mode 100644 index 00000000000..a4e6d7957f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateEventTriggerResult.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateEventTriggerResult::CreateEventTriggerResult() +{ +} + +CreateEventTriggerResult::CreateEventTriggerResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateEventTriggerResult& CreateEventTriggerResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("EventTriggerName")) + { + m_eventTriggerName = jsonValue.GetString("EventTriggerName"); + + } + + if(jsonValue.ValueExists("ObjectTypeName")) + { + m_objectTypeName = jsonValue.GetString("ObjectTypeName"); + + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + } + + if(jsonValue.ValueExists("EventTriggerConditions")) + { + Aws::Utils::Array eventTriggerConditionsJsonList = jsonValue.GetArray("EventTriggerConditions"); + for(unsigned eventTriggerConditionsIndex = 0; eventTriggerConditionsIndex < eventTriggerConditionsJsonList.GetLength(); ++eventTriggerConditionsIndex) + { + m_eventTriggerConditions.push_back(eventTriggerConditionsJsonList[eventTriggerConditionsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("SegmentFilter")) + { + m_segmentFilter = jsonValue.GetString("SegmentFilter"); + + } + + if(jsonValue.ValueExists("EventTriggerLimits")) + { + m_eventTriggerLimits = jsonValue.GetObject("EventTriggerLimits"); + + } + + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetDouble("CreatedAt"); + + } + + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("LastUpdatedAt"); + + } + + if(jsonValue.ValueExists("Tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteEventTriggerRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteEventTriggerRequest.cpp new file mode 100644 index 00000000000..36c14ffac52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteEventTriggerRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteEventTriggerRequest::DeleteEventTriggerRequest() : + m_domainNameHasBeenSet(false), + m_eventTriggerNameHasBeenSet(false) +{ +} + +Aws::String DeleteEventTriggerRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteEventTriggerResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteEventTriggerResult.cpp new file mode 100644 index 00000000000..ea57f7495fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteEventTriggerResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteEventTriggerResult::DeleteEventTriggerResult() +{ +} + +DeleteEventTriggerResult::DeleteEventTriggerResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteEventTriggerResult& DeleteEventTriggerResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerCondition.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerCondition.cpp new file mode 100644 index 00000000000..abb0e717025 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerCondition.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + +EventTriggerCondition::EventTriggerCondition() : + m_eventTriggerDimensionsHasBeenSet(false), + m_logicalOperator(EventTriggerLogicalOperator::NOT_SET), + m_logicalOperatorHasBeenSet(false) +{ +} + +EventTriggerCondition::EventTriggerCondition(JsonView jsonValue) + : EventTriggerCondition() +{ + *this = jsonValue; +} + +EventTriggerCondition& EventTriggerCondition::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EventTriggerDimensions")) + { + Aws::Utils::Array eventTriggerDimensionsJsonList = jsonValue.GetArray("EventTriggerDimensions"); + for(unsigned eventTriggerDimensionsIndex = 0; eventTriggerDimensionsIndex < eventTriggerDimensionsJsonList.GetLength(); ++eventTriggerDimensionsIndex) + { + m_eventTriggerDimensions.push_back(eventTriggerDimensionsJsonList[eventTriggerDimensionsIndex].AsObject()); + } + m_eventTriggerDimensionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("LogicalOperator")) + { + m_logicalOperator = EventTriggerLogicalOperatorMapper::GetEventTriggerLogicalOperatorForName(jsonValue.GetString("LogicalOperator")); + + m_logicalOperatorHasBeenSet = true; + } + + return *this; +} + +JsonValue EventTriggerCondition::Jsonize() const +{ + JsonValue payload; + + if(m_eventTriggerDimensionsHasBeenSet) + { + Aws::Utils::Array eventTriggerDimensionsJsonList(m_eventTriggerDimensions.size()); + for(unsigned eventTriggerDimensionsIndex = 0; eventTriggerDimensionsIndex < eventTriggerDimensionsJsonList.GetLength(); ++eventTriggerDimensionsIndex) + { + eventTriggerDimensionsJsonList[eventTriggerDimensionsIndex].AsObject(m_eventTriggerDimensions[eventTriggerDimensionsIndex].Jsonize()); + } + payload.WithArray("EventTriggerDimensions", std::move(eventTriggerDimensionsJsonList)); + + } + + if(m_logicalOperatorHasBeenSet) + { + payload.WithString("LogicalOperator", EventTriggerLogicalOperatorMapper::GetNameForEventTriggerLogicalOperator(m_logicalOperator)); + } + + return payload; +} + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerDimension.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerDimension.cpp new file mode 100644 index 00000000000..32b8ff408fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerDimension.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + +EventTriggerDimension::EventTriggerDimension() : + m_objectAttributesHasBeenSet(false) +{ +} + +EventTriggerDimension::EventTriggerDimension(JsonView jsonValue) + : EventTriggerDimension() +{ + *this = jsonValue; +} + +EventTriggerDimension& EventTriggerDimension::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ObjectAttributes")) + { + Aws::Utils::Array objectAttributesJsonList = jsonValue.GetArray("ObjectAttributes"); + for(unsigned objectAttributesIndex = 0; objectAttributesIndex < objectAttributesJsonList.GetLength(); ++objectAttributesIndex) + { + m_objectAttributes.push_back(objectAttributesJsonList[objectAttributesIndex].AsObject()); + } + m_objectAttributesHasBeenSet = true; + } + + return *this; +} + +JsonValue EventTriggerDimension::Jsonize() const +{ + JsonValue payload; + + if(m_objectAttributesHasBeenSet) + { + Aws::Utils::Array objectAttributesJsonList(m_objectAttributes.size()); + for(unsigned objectAttributesIndex = 0; objectAttributesIndex < objectAttributesJsonList.GetLength(); ++objectAttributesIndex) + { + objectAttributesJsonList[objectAttributesIndex].AsObject(m_objectAttributes[objectAttributesIndex].Jsonize()); + } + payload.WithArray("ObjectAttributes", std::move(objectAttributesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerLimits.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerLimits.cpp new file mode 100644 index 00000000000..0a3745044ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerLimits.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + +EventTriggerLimits::EventTriggerLimits() : + m_eventExpiration(0), + m_eventExpirationHasBeenSet(false), + m_periodsHasBeenSet(false) +{ +} + +EventTriggerLimits::EventTriggerLimits(JsonView jsonValue) + : EventTriggerLimits() +{ + *this = jsonValue; +} + +EventTriggerLimits& EventTriggerLimits::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EventExpiration")) + { + m_eventExpiration = jsonValue.GetInt64("EventExpiration"); + + m_eventExpirationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Periods")) + { + Aws::Utils::Array periodsJsonList = jsonValue.GetArray("Periods"); + for(unsigned periodsIndex = 0; periodsIndex < periodsJsonList.GetLength(); ++periodsIndex) + { + m_periods.push_back(periodsJsonList[periodsIndex].AsObject()); + } + m_periodsHasBeenSet = true; + } + + return *this; +} + +JsonValue EventTriggerLimits::Jsonize() const +{ + JsonValue payload; + + if(m_eventExpirationHasBeenSet) + { + payload.WithInt64("EventExpiration", m_eventExpiration); + + } + + if(m_periodsHasBeenSet) + { + Aws::Utils::Array periodsJsonList(m_periods.size()); + for(unsigned periodsIndex = 0; periodsIndex < periodsJsonList.GetLength(); ++periodsIndex) + { + periodsJsonList[periodsIndex].AsObject(m_periods[periodsIndex].Jsonize()); + } + payload.WithArray("Periods", std::move(periodsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerLogicalOperator.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerLogicalOperator.cpp new file mode 100644 index 00000000000..2189c95da68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerLogicalOperator.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CustomerProfiles + { + namespace Model + { + namespace EventTriggerLogicalOperatorMapper + { + + static const int ANY_HASH = HashingUtils::HashString("ANY"); + static const int ALL_HASH = HashingUtils::HashString("ALL"); + static const int NONE_HASH = HashingUtils::HashString("NONE"); + + + EventTriggerLogicalOperator GetEventTriggerLogicalOperatorForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ANY_HASH) + { + return EventTriggerLogicalOperator::ANY; + } + else if (hashCode == ALL_HASH) + { + return EventTriggerLogicalOperator::ALL; + } + else if (hashCode == NONE_HASH) + { + return EventTriggerLogicalOperator::NONE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EventTriggerLogicalOperator::NOT_SET; + } + + Aws::String GetNameForEventTriggerLogicalOperator(EventTriggerLogicalOperator enumValue) + { + switch(enumValue) + { + case EventTriggerLogicalOperator::NOT_SET: + return {}; + case EventTriggerLogicalOperator::ANY: + return "ANY"; + case EventTriggerLogicalOperator::ALL: + return "ALL"; + case EventTriggerLogicalOperator::NONE: + return "NONE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EventTriggerLogicalOperatorMapper + } // namespace Model + } // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerSummaryItem.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerSummaryItem.cpp new file mode 100644 index 00000000000..08679ba7082 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/EventTriggerSummaryItem.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + +EventTriggerSummaryItem::EventTriggerSummaryItem() : + m_objectTypeNameHasBeenSet(false), + m_eventTriggerNameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_lastUpdatedAtHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +EventTriggerSummaryItem::EventTriggerSummaryItem(JsonView jsonValue) + : EventTriggerSummaryItem() +{ + *this = jsonValue; +} + +EventTriggerSummaryItem& EventTriggerSummaryItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ObjectTypeName")) + { + m_objectTypeName = jsonValue.GetString("ObjectTypeName"); + + m_objectTypeNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("EventTriggerName")) + { + m_eventTriggerName = jsonValue.GetString("EventTriggerName"); + + m_eventTriggerNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetDouble("CreatedAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("LastUpdatedAt"); + + m_lastUpdatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("Tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + return *this; +} + +JsonValue EventTriggerSummaryItem::Jsonize() const +{ + JsonValue payload; + + if(m_objectTypeNameHasBeenSet) + { + payload.WithString("ObjectTypeName", m_objectTypeName); + + } + + if(m_eventTriggerNameHasBeenSet) + { + payload.WithString("EventTriggerName", m_eventTriggerName); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("CreatedAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_lastUpdatedAtHasBeenSet) + { + payload.WithDouble("LastUpdatedAt", m_lastUpdatedAt.SecondsWithMSPrecision()); + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + return payload; +} + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetEventTriggerRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetEventTriggerRequest.cpp new file mode 100644 index 00000000000..17a949f638c --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetEventTriggerRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetEventTriggerRequest::GetEventTriggerRequest() : + m_domainNameHasBeenSet(false), + m_eventTriggerNameHasBeenSet(false) +{ +} + +Aws::String GetEventTriggerRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetEventTriggerResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetEventTriggerResult.cpp new file mode 100644 index 00000000000..4ab282989c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetEventTriggerResult.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetEventTriggerResult::GetEventTriggerResult() +{ +} + +GetEventTriggerResult::GetEventTriggerResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetEventTriggerResult& GetEventTriggerResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("EventTriggerName")) + { + m_eventTriggerName = jsonValue.GetString("EventTriggerName"); + + } + + if(jsonValue.ValueExists("ObjectTypeName")) + { + m_objectTypeName = jsonValue.GetString("ObjectTypeName"); + + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + } + + if(jsonValue.ValueExists("EventTriggerConditions")) + { + Aws::Utils::Array eventTriggerConditionsJsonList = jsonValue.GetArray("EventTriggerConditions"); + for(unsigned eventTriggerConditionsIndex = 0; eventTriggerConditionsIndex < eventTriggerConditionsJsonList.GetLength(); ++eventTriggerConditionsIndex) + { + m_eventTriggerConditions.push_back(eventTriggerConditionsJsonList[eventTriggerConditionsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("SegmentFilter")) + { + m_segmentFilter = jsonValue.GetString("SegmentFilter"); + + } + + if(jsonValue.ValueExists("EventTriggerLimits")) + { + m_eventTriggerLimits = jsonValue.GetObject("EventTriggerLimits"); + + } + + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetDouble("CreatedAt"); + + } + + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("LastUpdatedAt"); + + } + + if(jsonValue.ValueExists("Tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetIntegrationResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetIntegrationResult.cpp index 2ce0f22bd03..3c3ea3a38c2 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetIntegrationResult.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetIntegrationResult.cpp @@ -97,6 +97,15 @@ GetIntegrationResult& GetIntegrationResult::operator =(const Aws::AmazonWebServi } + if(jsonValue.ValueExists("EventTriggerNames")) + { + Aws::Utils::Array eventTriggerNamesJsonList = jsonValue.GetArray("EventTriggerNames"); + for(unsigned eventTriggerNamesIndex = 0; eventTriggerNamesIndex < eventTriggerNamesJsonList.GetLength(); ++eventTriggerNamesIndex) + { + m_eventTriggerNames.push_back(eventTriggerNamesJsonList[eventTriggerNamesIndex].AsString()); + } + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListEventTriggersRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListEventTriggersRequest.cpp new file mode 100644 index 00000000000..0b974949e46 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListEventTriggersRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListEventTriggersRequest::ListEventTriggersRequest() : + m_domainNameHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListEventTriggersRequest::SerializePayload() const +{ + return {}; +} + +void ListEventTriggersRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("next-token", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("max-results", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListEventTriggersResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListEventTriggersResult.cpp new file mode 100644 index 00000000000..5629fbb7f51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListEventTriggersResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListEventTriggersResult::ListEventTriggersResult() +{ +} + +ListEventTriggersResult::ListEventTriggersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListEventTriggersResult& ListEventTriggersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("Items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListIntegrationItem.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListIntegrationItem.cpp index 32cbfe7e6dc..94417b0416a 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListIntegrationItem.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListIntegrationItem.cpp @@ -29,7 +29,8 @@ ListIntegrationItem::ListIntegrationItem() : m_workflowIdHasBeenSet(false), m_isUnstructured(false), m_isUnstructuredHasBeenSet(false), - m_roleArnHasBeenSet(false) + m_roleArnHasBeenSet(false), + m_eventTriggerNamesHasBeenSet(false) { } @@ -117,6 +118,16 @@ ListIntegrationItem& ListIntegrationItem::operator =(JsonView jsonValue) m_roleArnHasBeenSet = true; } + if(jsonValue.ValueExists("EventTriggerNames")) + { + Aws::Utils::Array eventTriggerNamesJsonList = jsonValue.GetArray("EventTriggerNames"); + for(unsigned eventTriggerNamesIndex = 0; eventTriggerNamesIndex < eventTriggerNamesJsonList.GetLength(); ++eventTriggerNamesIndex) + { + m_eventTriggerNames.push_back(eventTriggerNamesJsonList[eventTriggerNamesIndex].AsString()); + } + m_eventTriggerNamesHasBeenSet = true; + } + return *this; } @@ -192,6 +203,17 @@ JsonValue ListIntegrationItem::Jsonize() const } + if(m_eventTriggerNamesHasBeenSet) + { + Aws::Utils::Array eventTriggerNamesJsonList(m_eventTriggerNames.size()); + for(unsigned eventTriggerNamesIndex = 0; eventTriggerNamesIndex < eventTriggerNamesJsonList.GetLength(); ++eventTriggerNamesIndex) + { + eventTriggerNamesJsonList[eventTriggerNamesIndex].AsString(m_eventTriggerNames[eventTriggerNamesIndex]); + } + payload.WithArray("EventTriggerNames", std::move(eventTriggerNamesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ObjectAttribute.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ObjectAttribute.cpp new file mode 100644 index 00000000000..d104e927e27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ObjectAttribute.cpp @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + +ObjectAttribute::ObjectAttribute() : + m_sourceHasBeenSet(false), + m_fieldNameHasBeenSet(false), + m_comparisonOperator(ComparisonOperator::NOT_SET), + m_comparisonOperatorHasBeenSet(false), + m_valuesHasBeenSet(false) +{ +} + +ObjectAttribute::ObjectAttribute(JsonView jsonValue) + : ObjectAttribute() +{ + *this = jsonValue; +} + +ObjectAttribute& ObjectAttribute::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Source")) + { + m_source = jsonValue.GetString("Source"); + + m_sourceHasBeenSet = true; + } + + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = jsonValue.GetString("FieldName"); + + m_fieldNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("ComparisonOperator")) + { + m_comparisonOperator = ComparisonOperatorMapper::GetComparisonOperatorForName(jsonValue.GetString("ComparisonOperator")); + + m_comparisonOperatorHasBeenSet = true; + } + + if(jsonValue.ValueExists("Values")) + { + Aws::Utils::Array valuesJsonList = jsonValue.GetArray("Values"); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + m_values.push_back(valuesJsonList[valuesIndex].AsString()); + } + m_valuesHasBeenSet = true; + } + + return *this; +} + +JsonValue ObjectAttribute::Jsonize() const +{ + JsonValue payload; + + if(m_sourceHasBeenSet) + { + payload.WithString("Source", m_source); + + } + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", m_fieldName); + + } + + if(m_comparisonOperatorHasBeenSet) + { + payload.WithString("ComparisonOperator", ComparisonOperatorMapper::GetNameForComparisonOperator(m_comparisonOperator)); + } + + if(m_valuesHasBeenSet) + { + Aws::Utils::Array valuesJsonList(m_values.size()); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + valuesJsonList[valuesIndex].AsString(m_values[valuesIndex]); + } + payload.WithArray("Values", std::move(valuesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/Period.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/Period.cpp new file mode 100644 index 00000000000..db595457f0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/Period.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + +Period::Period() : + m_unit(PeriodUnit::NOT_SET), + m_unitHasBeenSet(false), + m_value(0), + m_valueHasBeenSet(false), + m_maxInvocationsPerProfile(0), + m_maxInvocationsPerProfileHasBeenSet(false), + m_unlimited(false), + m_unlimitedHasBeenSet(false) +{ +} + +Period::Period(JsonView jsonValue) + : Period() +{ + *this = jsonValue; +} + +Period& Period::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Unit")) + { + m_unit = PeriodUnitMapper::GetPeriodUnitForName(jsonValue.GetString("Unit")); + + m_unitHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetInteger("Value"); + + m_valueHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxInvocationsPerProfile")) + { + m_maxInvocationsPerProfile = jsonValue.GetInteger("MaxInvocationsPerProfile"); + + m_maxInvocationsPerProfileHasBeenSet = true; + } + + if(jsonValue.ValueExists("Unlimited")) + { + m_unlimited = jsonValue.GetBool("Unlimited"); + + m_unlimitedHasBeenSet = true; + } + + return *this; +} + +JsonValue Period::Jsonize() const +{ + JsonValue payload; + + if(m_unitHasBeenSet) + { + payload.WithString("Unit", PeriodUnitMapper::GetNameForPeriodUnit(m_unit)); + } + + if(m_valueHasBeenSet) + { + payload.WithInteger("Value", m_value); + + } + + if(m_maxInvocationsPerProfileHasBeenSet) + { + payload.WithInteger("MaxInvocationsPerProfile", m_maxInvocationsPerProfile); + + } + + if(m_unlimitedHasBeenSet) + { + payload.WithBool("Unlimited", m_unlimited); + + } + + return payload; +} + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/PeriodUnit.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/PeriodUnit.cpp new file mode 100644 index 00000000000..7cbd4191edb --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/PeriodUnit.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CustomerProfiles + { + namespace Model + { + namespace PeriodUnitMapper + { + + static const int HOURS_HASH = HashingUtils::HashString("HOURS"); + static const int DAYS_HASH = HashingUtils::HashString("DAYS"); + static const int WEEKS_HASH = HashingUtils::HashString("WEEKS"); + static const int MONTHS_HASH = HashingUtils::HashString("MONTHS"); + + + PeriodUnit GetPeriodUnitForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == HOURS_HASH) + { + return PeriodUnit::HOURS; + } + else if (hashCode == DAYS_HASH) + { + return PeriodUnit::DAYS; + } + else if (hashCode == WEEKS_HASH) + { + return PeriodUnit::WEEKS; + } + else if (hashCode == MONTHS_HASH) + { + return PeriodUnit::MONTHS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PeriodUnit::NOT_SET; + } + + Aws::String GetNameForPeriodUnit(PeriodUnit enumValue) + { + switch(enumValue) + { + case PeriodUnit::NOT_SET: + return {}; + case PeriodUnit::HOURS: + return "HOURS"; + case PeriodUnit::DAYS: + return "DAYS"; + case PeriodUnit::WEEKS: + return "WEEKS"; + case PeriodUnit::MONTHS: + return "MONTHS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PeriodUnitMapper + } // namespace Model + } // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/PutIntegrationRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/PutIntegrationRequest.cpp index c99480cd703..7371064b964 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/PutIntegrationRequest.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/PutIntegrationRequest.cpp @@ -19,7 +19,8 @@ PutIntegrationRequest::PutIntegrationRequest() : m_tagsHasBeenSet(false), m_flowDefinitionHasBeenSet(false), m_objectTypeNamesHasBeenSet(false), - m_roleArnHasBeenSet(false) + m_roleArnHasBeenSet(false), + m_eventTriggerNamesHasBeenSet(false) { } @@ -73,6 +74,17 @@ Aws::String PutIntegrationRequest::SerializePayload() const } + if(m_eventTriggerNamesHasBeenSet) + { + Aws::Utils::Array eventTriggerNamesJsonList(m_eventTriggerNames.size()); + for(unsigned eventTriggerNamesIndex = 0; eventTriggerNamesIndex < eventTriggerNamesJsonList.GetLength(); ++eventTriggerNamesIndex) + { + eventTriggerNamesJsonList[eventTriggerNamesIndex].AsString(m_eventTriggerNames[eventTriggerNamesIndex]); + } + payload.WithArray("EventTriggerNames", std::move(eventTriggerNamesJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/PutIntegrationResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/PutIntegrationResult.cpp index b1d9c4d40d0..54ed7200b55 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/PutIntegrationResult.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/PutIntegrationResult.cpp @@ -97,6 +97,15 @@ PutIntegrationResult& PutIntegrationResult::operator =(const Aws::AmazonWebServi } + if(jsonValue.ValueExists("EventTriggerNames")) + { + Aws::Utils::Array eventTriggerNamesJsonList = jsonValue.GetArray("EventTriggerNames"); + for(unsigned eventTriggerNamesIndex = 0; eventTriggerNamesIndex < eventTriggerNamesJsonList.GetLength(); ++eventTriggerNamesIndex) + { + m_eventTriggerNames.push_back(eventTriggerNamesJsonList[eventTriggerNamesIndex].AsString()); + } + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateEventTriggerRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateEventTriggerRequest.cpp new file mode 100644 index 00000000000..72169f19659 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateEventTriggerRequest.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateEventTriggerRequest::UpdateEventTriggerRequest() : + m_domainNameHasBeenSet(false), + m_eventTriggerNameHasBeenSet(false), + m_objectTypeNameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_eventTriggerConditionsHasBeenSet(false), + m_segmentFilterHasBeenSet(false), + m_eventTriggerLimitsHasBeenSet(false) +{ +} + +Aws::String UpdateEventTriggerRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_objectTypeNameHasBeenSet) + { + payload.WithString("ObjectTypeName", m_objectTypeName); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_eventTriggerConditionsHasBeenSet) + { + Aws::Utils::Array eventTriggerConditionsJsonList(m_eventTriggerConditions.size()); + for(unsigned eventTriggerConditionsIndex = 0; eventTriggerConditionsIndex < eventTriggerConditionsJsonList.GetLength(); ++eventTriggerConditionsIndex) + { + eventTriggerConditionsJsonList[eventTriggerConditionsIndex].AsObject(m_eventTriggerConditions[eventTriggerConditionsIndex].Jsonize()); + } + payload.WithArray("EventTriggerConditions", std::move(eventTriggerConditionsJsonList)); + + } + + if(m_segmentFilterHasBeenSet) + { + payload.WithString("SegmentFilter", m_segmentFilter); + + } + + if(m_eventTriggerLimitsHasBeenSet) + { + payload.WithObject("EventTriggerLimits", m_eventTriggerLimits.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateEventTriggerResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateEventTriggerResult.cpp new file mode 100644 index 00000000000..9713190ce3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateEventTriggerResult.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateEventTriggerResult::UpdateEventTriggerResult() +{ +} + +UpdateEventTriggerResult::UpdateEventTriggerResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateEventTriggerResult& UpdateEventTriggerResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("EventTriggerName")) + { + m_eventTriggerName = jsonValue.GetString("EventTriggerName"); + + } + + if(jsonValue.ValueExists("ObjectTypeName")) + { + m_objectTypeName = jsonValue.GetString("ObjectTypeName"); + + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + } + + if(jsonValue.ValueExists("EventTriggerConditions")) + { + Aws::Utils::Array eventTriggerConditionsJsonList = jsonValue.GetArray("EventTriggerConditions"); + for(unsigned eventTriggerConditionsIndex = 0; eventTriggerConditionsIndex < eventTriggerConditionsJsonList.GetLength(); ++eventTriggerConditionsIndex) + { + m_eventTriggerConditions.push_back(eventTriggerConditionsJsonList[eventTriggerConditionsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("SegmentFilter")) + { + m_segmentFilter = jsonValue.GetString("SegmentFilter"); + + } + + if(jsonValue.ValueExists("EventTriggerLimits")) + { + m_eventTriggerLimits = jsonValue.GetObject("EventTriggerLimits"); + + } + + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetDouble("CreatedAt"); + + } + + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("LastUpdatedAt"); + + } + + if(jsonValue.ValueExists("Tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h index cb4a8307fc7..26cf9eadd59 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h @@ -1618,6 +1618,37 @@ namespace EC2 return SubmitAsync(&EC2Client::CancelConversionTask, request, handler, context); } + /** + *

    Cancels the generation of an account status report.

    You can only + * cancel a report while it has the running status. Reports with other + * statuses (complete, cancelled, or error) + * can't be canceled.

    For more information, see Generating + * the account status report for declarative policies in the Amazon Web + * Services Organizations User Guide.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CancelDeclarativePoliciesReportOutcome CancelDeclarativePoliciesReport(const Model::CancelDeclarativePoliciesReportRequest& request) const; + + /** + * A Callable wrapper for CancelDeclarativePoliciesReport that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CancelDeclarativePoliciesReportOutcomeCallable CancelDeclarativePoliciesReportCallable(const CancelDeclarativePoliciesReportRequestT& request) const + { + return SubmitCallable(&EC2Client::CancelDeclarativePoliciesReport, request); + } + + /** + * An Async wrapper for CancelDeclarativePoliciesReport that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CancelDeclarativePoliciesReportAsync(const CancelDeclarativePoliciesReportRequestT& request, const CancelDeclarativePoliciesReportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EC2Client::CancelDeclarativePoliciesReport, request, handler, context); + } + /** *

    Cancels an active export task. The request removes all artifacts of the * export, including any partially-created Amazon S3 objects. If the export task is @@ -7759,6 +7790,42 @@ namespace EC2 return SubmitAsync(&EC2Client::DescribeCustomerGateways, request, handler, context); } + /** + *

    Describes the metadata of an account status report, including the status of + * the report.

    To view the full report, download it from the Amazon S3 + * bucket where it was saved. Reports are accessible only when they have the + * complete status. Reports with other statuses (running, + * cancelled, or error) are not available in the S3 + * bucket. For more information about downloading objects from an S3 bucket, see Downloading + * objects in the Amazon Simple Storage Service User Guide.

    For + * more information, see Generating + * the account status report for declarative policies in the Amazon Web + * Services Organizations User Guide.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DescribeDeclarativePoliciesReportsOutcome DescribeDeclarativePoliciesReports(const Model::DescribeDeclarativePoliciesReportsRequest& request = {}) const; + + /** + * A Callable wrapper for DescribeDeclarativePoliciesReports that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeDeclarativePoliciesReportsOutcomeCallable DescribeDeclarativePoliciesReportsCallable(const DescribeDeclarativePoliciesReportsRequestT& request = {}) const + { + return SubmitCallable(&EC2Client::DescribeDeclarativePoliciesReports, request); + } + + /** + * An Async wrapper for DescribeDeclarativePoliciesReports that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeDeclarativePoliciesReportsAsync(const DescribeDeclarativePoliciesReportsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeDeclarativePoliciesReportsRequestT& request = {}) const + { + return SubmitAsync(&EC2Client::DescribeDeclarativePoliciesReports, request, handler, context); + } + /** *

    Describes your DHCP option sets. The default is to describe all your DHCP * option sets. Alternatively, you can specify specific DHCP option set IDs or @@ -8375,8 +8442,14 @@ namespace EC2 *

    Recently deregistered images appear in the returned results for a short * interval and then return empty results. After all instances that reference a * deregistered AMI are terminated, specifying the ID of the image will eventually - * return an error indicating that the AMI ID cannot be found.

    - *

    We strongly recommend using only paginated requests. Unpaginated requests are + * return an error indicating that the AMI ID cannot be found.

    When Allowed + * AMIs is set to enabled, only allowed images are returned in the + * results, with the imageAllowed field set to true for + * each image. In audit-mode, the imageAllowed field is + * set to true for images that meet the account's Allowed AMIs + * criteria, and false for images that don't meet the criteria. For + * more information, see EnableAllowedImagesSettings.

    We + * strongly recommend using only paginated requests. Unpaginated requests are * susceptible to throttling and timeouts.

    The order of * the elements in the response, including those within nested structures, might * vary. Applications should not assume the elements appear in a particular @@ -8620,22 +8693,22 @@ namespace EC2 /** *

    Describes the AMI that was used to launch an instance, even if the AMI is - * deprecated, deregistered, or made private (no longer public or shared with your - * account).

    If you specify instance IDs, the output includes information - * for only the specified instances. If you specify filters, the output includes - * information for only those instances that meet the filter criteria. If you do - * not specify instance IDs or filters, the output includes information for all - * instances, which can affect performance.

    If you specify an instance ID - * that is not valid, an instance that doesn't exist, or an instance that you do - * not own, an error (InvalidInstanceID.NotFound) is returned.

    - *

    Recently terminated instances might appear in the returned results. This - * interval is usually less than one hour.

    In the rare case where an - * Availability Zone is experiencing a service disruption and you specify instance - * IDs that are in the affected Availability Zone, or do not specify any instance - * IDs at all, the call fails. If you specify only instance IDs that are in an - * unaffected Availability Zone, the call works normally.

    The order - * of the elements in the response, including those within nested structures, might - * vary. Applications should not assume the elements appear in a particular + * deprecated, deregistered, made private (no longer public or shared with your + * account), or not allowed.

    If you specify instance IDs, the output + * includes information for only the specified instances. If you specify filters, + * the output includes information for only those instances that meet the filter + * criteria. If you do not specify instance IDs or filters, the output includes + * information for all instances, which can affect performance.

    If you + * specify an instance ID that is not valid, an instance that doesn't exist, or an + * instance that you do not own, an error (InvalidInstanceID.NotFound) + * is returned.

    Recently terminated instances might appear in the returned + * results. This interval is usually less than one hour.

    In the rare case + * where an Availability Zone is experiencing a service disruption and you specify + * instance IDs that are in the affected Availability Zone, or do not specify any + * instance IDs at all, the call fails. If you specify only instance IDs that are + * in an unaffected Availability Zone, the call works normally.

    The + * order of the elements in the response, including those within nested structures, + * might vary. Applications should not assume the elements appear in a particular * order.

    See Also:

    AWS * API Reference

    @@ -11476,6 +11549,33 @@ namespace EC2 return SubmitAsync(&EC2Client::DescribeVpcClassicLinkDnsSupport, request, handler, context); } + /** + *

    Describes the VPC resources, VPC endpoint services, Amazon Lattice services, + * or service networks associated with the VPC endpoint.

    See Also:

    + * AWS + * API Reference

    + */ + virtual Model::DescribeVpcEndpointAssociationsOutcome DescribeVpcEndpointAssociations(const Model::DescribeVpcEndpointAssociationsRequest& request = {}) const; + + /** + * A Callable wrapper for DescribeVpcEndpointAssociations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeVpcEndpointAssociationsOutcomeCallable DescribeVpcEndpointAssociationsCallable(const DescribeVpcEndpointAssociationsRequestT& request = {}) const + { + return SubmitCallable(&EC2Client::DescribeVpcEndpointAssociations, request); + } + + /** + * An Async wrapper for DescribeVpcEndpointAssociations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeVpcEndpointAssociationsAsync(const DescribeVpcEndpointAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeVpcEndpointAssociationsRequestT& request = {}) const + { + return SubmitAsync(&EC2Client::DescribeVpcEndpointAssociations, request, handler, context); + } + /** *

    Describes the connection notifications for VPC endpoints and VPC endpoint * services.

    See Also:

    Disables Allowed AMIs for your account in the specified Amazon Web Services + * Region. When set to disabled, the image criteria in your Allowed + * AMIs settings do not apply, and no restrictions are placed on AMI + * discoverability or usage. Users in your account can launch instances using any + * public AMI or AMI shared with your account.

    The Allowed AMIs + * feature does not restrict the AMIs owned by your account. Regardless of the + * criteria you set, the AMIs created by your account will always be discoverable + * and usable by users in your account.

    For more information, see Control + * the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon + * EC2 User Guide.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DisableAllowedImagesSettingsOutcome DisableAllowedImagesSettings(const Model::DisableAllowedImagesSettingsRequest& request = {}) const; + + /** + * A Callable wrapper for DisableAllowedImagesSettings that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DisableAllowedImagesSettingsOutcomeCallable DisableAllowedImagesSettingsCallable(const DisableAllowedImagesSettingsRequestT& request = {}) const + { + return SubmitCallable(&EC2Client::DisableAllowedImagesSettings, request); + } + + /** + * An Async wrapper for DisableAllowedImagesSettings that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DisableAllowedImagesSettingsAsync(const DisableAllowedImagesSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DisableAllowedImagesSettingsRequestT& request = {}) const + { + return SubmitAsync(&EC2Client::DisableAllowedImagesSettings, request, handler, context); + } + /** *

    Disables Infrastructure Performance metric subscriptions.

    See * Also:

    Enables Allowed AMIs for your account in the specified Amazon Web Services + * Region. Two values are accepted:

    • enabled: The + * image criteria in your Allowed AMIs settings are applied. As a result, only AMIs + * matching these criteria are discoverable and can be used by your account to + * launch instances.

    • audit-mode: The image criteria + * in your Allowed AMIs settings are not applied. No restrictions are placed on AMI + * discoverability or usage. Users in your account can launch instances using any + * public AMI or AMI shared with your account.

      The purpose of + * audit-mode is to indicate which AMIs will be affected when Allowed + * AMIs is enabled. In audit-mode, each AMI displays + * either "ImageAllowed": true or "ImageAllowed": false + * to indicate whether the AMI will be discoverable and available to users in the + * account when Allowed AMIs is enabled.

    The Allowed AMIs + * feature does not restrict the AMIs owned by your account. Regardless of the + * criteria you set, the AMIs created by your account will always be discoverable + * and usable by users in your account.

    For more information, see Control + * the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon + * EC2 User Guide.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::EnableAllowedImagesSettingsOutcome EnableAllowedImagesSettings(const Model::EnableAllowedImagesSettingsRequest& request) const; + + /** + * A Callable wrapper for EnableAllowedImagesSettings that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EnableAllowedImagesSettingsOutcomeCallable EnableAllowedImagesSettingsCallable(const EnableAllowedImagesSettingsRequestT& request) const + { + return SubmitCallable(&EC2Client::EnableAllowedImagesSettings, request); + } + + /** + * An Async wrapper for EnableAllowedImagesSettings that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EnableAllowedImagesSettingsAsync(const EnableAllowedImagesSettingsRequestT& request, const EnableAllowedImagesSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EC2Client::EnableAllowedImagesSettings, request, handler, context); + } + /** *

    Enables Infrastructure Performance subscriptions.

    See Also:

    * Exports the client configuration for a Verified Access + * instance.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ExportVerifiedAccessInstanceClientConfigurationOutcome ExportVerifiedAccessInstanceClientConfiguration(const Model::ExportVerifiedAccessInstanceClientConfigurationRequest& request) const; + + /** + * A Callable wrapper for ExportVerifiedAccessInstanceClientConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ExportVerifiedAccessInstanceClientConfigurationOutcomeCallable ExportVerifiedAccessInstanceClientConfigurationCallable(const ExportVerifiedAccessInstanceClientConfigurationRequestT& request) const + { + return SubmitCallable(&EC2Client::ExportVerifiedAccessInstanceClientConfiguration, request); + } + + /** + * An Async wrapper for ExportVerifiedAccessInstanceClientConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ExportVerifiedAccessInstanceClientConfigurationAsync(const ExportVerifiedAccessInstanceClientConfigurationRequestT& request, const ExportVerifiedAccessInstanceClientConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EC2Client::ExportVerifiedAccessInstanceClientConfiguration, request, handler, context); + } + + /** + *

    Gets the current state of the Allowed AMIs setting and the list of Allowed + * AMIs criteria at the account level in the specified Region.

    The + * Allowed AMIs feature does not restrict the AMIs owned by your account. + * Regardless of the criteria you set, the AMIs created by your account will always + * be discoverable and usable by users in your account.

    For more + * information, see Control + * the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon + * EC2 User Guide.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetAllowedImagesSettingsOutcome GetAllowedImagesSettings(const Model::GetAllowedImagesSettingsRequest& request = {}) const; + + /** + * A Callable wrapper for GetAllowedImagesSettings that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAllowedImagesSettingsOutcomeCallable GetAllowedImagesSettingsCallable(const GetAllowedImagesSettingsRequestT& request = {}) const + { + return SubmitCallable(&EC2Client::GetAllowedImagesSettings, request); + } + + /** + * An Async wrapper for GetAllowedImagesSettings that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAllowedImagesSettingsAsync(const GetAllowedImagesSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GetAllowedImagesSettingsRequestT& request = {}) const + { + return SubmitAsync(&EC2Client::GetAllowedImagesSettings, request, handler, context); + } + /** *

    Returns the IAM roles that are associated with the specified ACM (ACM) * certificate. It also returns the name of the Amazon S3 bucket and the Amazon S3 @@ -13771,6 +14008,42 @@ namespace EC2 return SubmitAsync(&EC2Client::GetConsoleScreenshot, request, handler, context); } + /** + *

    Retrieves a summary of the account status report.

    To view the full + * report, download it from the Amazon S3 bucket where it was saved. Reports are + * accessible only when they have the complete status. Reports with + * other statuses (running, cancelled, or + * error) are not available in the S3 bucket. For more information + * about downloading objects from an S3 bucket, see Downloading + * objects in the Amazon Simple Storage Service User Guide.

    For + * more information, see Generating + * the account status report for declarative policies in the Amazon Web + * Services Organizations User Guide.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetDeclarativePoliciesReportSummaryOutcome GetDeclarativePoliciesReportSummary(const Model::GetDeclarativePoliciesReportSummaryRequest& request) const; + + /** + * A Callable wrapper for GetDeclarativePoliciesReportSummary that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetDeclarativePoliciesReportSummaryOutcomeCallable GetDeclarativePoliciesReportSummaryCallable(const GetDeclarativePoliciesReportSummaryRequestT& request) const + { + return SubmitCallable(&EC2Client::GetDeclarativePoliciesReportSummary, request); + } + + /** + * An Async wrapper for GetDeclarativePoliciesReportSummary that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetDeclarativePoliciesReportSummaryAsync(const GetDeclarativePoliciesReportSummaryRequestT& request, const GetDeclarativePoliciesReportSummaryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EC2Client::GetDeclarativePoliciesReportSummary, request, handler, context); + } + /** *

    Describes the default credit option for CPU usage of a burstable performance * instance family.

    For more information, see Gets the targets for the specified network CIDR endpoint for Verified + * Access.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetVerifiedAccessEndpointTargetsOutcome GetVerifiedAccessEndpointTargets(const Model::GetVerifiedAccessEndpointTargetsRequest& request) const; + + /** + * A Callable wrapper for GetVerifiedAccessEndpointTargets that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetVerifiedAccessEndpointTargetsOutcomeCallable GetVerifiedAccessEndpointTargetsCallable(const GetVerifiedAccessEndpointTargetsRequestT& request) const + { + return SubmitCallable(&EC2Client::GetVerifiedAccessEndpointTargets, request); + } + + /** + * An Async wrapper for GetVerifiedAccessEndpointTargets that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetVerifiedAccessEndpointTargetsAsync(const GetVerifiedAccessEndpointTargetsRequestT& request, const GetVerifiedAccessEndpointTargetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EC2Client::GetVerifiedAccessEndpointTargets, request, handler, context); + } + /** *

    Shows the contents of the Verified Access policy associated with the * group.

    See Also:

    Sets or replaces the criteria for Allowed AMIs.

    The Allowed + * AMIs feature does not restrict the AMIs owned by your account. Regardless of the + * criteria you set, the AMIs created by your account will always be discoverable + * and usable by users in your account.

    For more information, see Control + * the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon + * EC2 User Guide.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ReplaceImageCriteriaInAllowedImagesSettingsOutcome ReplaceImageCriteriaInAllowedImagesSettings(const Model::ReplaceImageCriteriaInAllowedImagesSettingsRequest& request = {}) const; + + /** + * A Callable wrapper for ReplaceImageCriteriaInAllowedImagesSettings that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ReplaceImageCriteriaInAllowedImagesSettingsOutcomeCallable ReplaceImageCriteriaInAllowedImagesSettingsCallable(const ReplaceImageCriteriaInAllowedImagesSettingsRequestT& request = {}) const + { + return SubmitCallable(&EC2Client::ReplaceImageCriteriaInAllowedImagesSettings, request); + } + + /** + * An Async wrapper for ReplaceImageCriteriaInAllowedImagesSettings that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ReplaceImageCriteriaInAllowedImagesSettingsAsync(const ReplaceImageCriteriaInAllowedImagesSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ReplaceImageCriteriaInAllowedImagesSettingsRequestT& request = {}) const + { + return SubmitAsync(&EC2Client::ReplaceImageCriteriaInAllowedImagesSettings, request, handler, context); + } + /** *

    Changes which network ACL a subnet is associated with. By default when you * create a subnet, it's automatically associated with the default network ACL. For @@ -19265,6 +19595,62 @@ namespace EC2 return SubmitAsync(&EC2Client::SendDiagnosticInterrupt, request, handler, context); } + /** + *

    Generates an account status report. The report is generated asynchronously, + * and can take several hours to complete.

    The report provides the current + * status of all attributes supported by declarative policies for the accounts + * within the specified scope. The scope is determined by the specified + * TargetId, which can represent an individual account, or all the + * accounts that fall under the specified organizational unit (OU) or root (the + * entire Amazon Web Services Organization).

    The report is saved to your + * specified S3 bucket, using the following path structure (with the italicized + * placeholders representing your specific values):

    + * s3://amzn-s3-demo-bucket/your-optional-s3-prefix/ec2_targetId_reportId_yyyyMMddThhmmZ.csv + *

    Prerequisites for generating a report

      + *
    • The StartDeclarativePoliciesReport API can only be called + * by the management account or delegated administrators for the organization.

      + *
    • An S3 bucket must be available before generating the report (you + * can create a new one or use an existing one), and it must have an appropriate + * bucket policy. For a sample S3 policy, see Sample Amazon S3 policy under + * .

    • Trusted access must be enabled for the service for which the + * declarative policy will enforce a baseline configuration. If you use the Amazon + * Web Services Organizations console, this is done automatically when you enable + * declarative policies. The API uses the following service principal to identify + * the EC2 service: ec2.amazonaws.com. For more information on how to + * enable trusted access with the Amazon Web Services CLI and Amazon Web Services + * SDKs, see Using + * Organizations with other Amazon Web Services services in the Amazon Web + * Services Organizations User Guide.

    • Only one report per + * organization can be generated at a time. Attempting to generate a report while + * another is in progress will result in an error.

    For more + * information, including the required IAM permissions to run this API, see Generating + * the account status report for declarative policies in the Amazon Web + * Services Organizations User Guide.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::StartDeclarativePoliciesReportOutcome StartDeclarativePoliciesReport(const Model::StartDeclarativePoliciesReportRequest& request) const; + + /** + * A Callable wrapper for StartDeclarativePoliciesReport that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StartDeclarativePoliciesReportOutcomeCallable StartDeclarativePoliciesReportCallable(const StartDeclarativePoliciesReportRequestT& request) const + { + return SubmitCallable(&EC2Client::StartDeclarativePoliciesReport, request); + } + + /** + * An Async wrapper for StartDeclarativePoliciesReport that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StartDeclarativePoliciesReportAsync(const StartDeclarativePoliciesReportRequestT& request, const StartDeclarativePoliciesReportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EC2Client::StartDeclarativePoliciesReport, request, handler, context); + } + /** *

    Starts an Amazon EBS-backed instance that you've previously stopped.

    *

    Instances that use Amazon EBS volumes as their root devices can be quickly diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h index 7b5f79d8259..907bbfe635e 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h @@ -63,6 +63,7 @@ #include #include #include +#include #include #include #include @@ -243,6 +244,7 @@ #include #include #include +#include #include #include #include @@ -367,6 +369,7 @@ #include #include #include +#include #include #include #include @@ -381,6 +384,7 @@ #include #include #include +#include #include #include #include @@ -411,6 +415,7 @@ #include #include #include +#include #include #include #include @@ -430,6 +435,8 @@ #include #include #include +#include +#include #include #include #include @@ -437,6 +444,7 @@ #include #include #include +#include #include #include #include @@ -475,6 +483,7 @@ #include #include #include +#include #include #include #include @@ -573,6 +582,7 @@ #include #include #include +#include #include #include #include @@ -595,6 +605,7 @@ #include #include #include +#include #include #include #include @@ -609,47 +620,24 @@ #include #include #include -#include -#include #include -#include #include -#include -#include #include #include -#include -#include #include #include -#include #include -#include -#include -#include #include #include #include -#include -#include #include #include #include -#include #include -#include #include #include -#include #include -#include -#include #include -#include -#include -#include -#include -#include #include #include #include @@ -659,103 +647,145 @@ #include #include #include -#include -#include #include -#include -#include -#include #include -#include -#include -#include -#include #include -#include #include #include #include #include #include -#include -#include #include -#include #include #include #include #include #include -#include -#include #include #include #include -#include #include #include #include #include #include -#include #include #include #include #include #include #include -#include #include #include #include #include -#include #include -#include -#include #include #include #include #include -#include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include -#include #include #include #include #include -#include -#include #include -#include #include -#include #include -#include -#include #include #include #include #include -#include #include #include #include -#include #include -#include -#include #include -#include -#include -#include -#include +#include #include -#include #include #include #include @@ -765,41 +795,27 @@ #include #include #include -#include -#include -#include #include #include #include -#include #include #include #include #include -#include #include #include #include #include -#include -#include +#include #include #include #include -#include -#include #include #include -#include #include -#include #include -#include #include #include -#include -#include -#include #include #include /* End of service model headers required in EC2Client header */ @@ -890,6 +906,7 @@ namespace Aws class CancelCapacityReservationRequest; class CancelCapacityReservationFleetsRequest; class CancelConversionTaskRequest; + class CancelDeclarativePoliciesReportRequest; class CancelExportTaskRequest; class CancelImageLaunchPermissionRequest; class CancelImportTaskRequest; @@ -1094,6 +1111,7 @@ namespace Aws class DescribeCoipPoolsRequest; class DescribeConversionTasksRequest; class DescribeCustomerGatewaysRequest; + class DescribeDeclarativePoliciesReportsRequest; class DescribeDhcpOptionsRequest; class DescribeEgressOnlyInternetGatewaysRequest; class DescribeElasticGpusRequest; @@ -1218,6 +1236,7 @@ namespace Aws class DescribeVpcBlockPublicAccessOptionsRequest; class DescribeVpcClassicLinkRequest; class DescribeVpcClassicLinkDnsSupportRequest; + class DescribeVpcEndpointAssociationsRequest; class DescribeVpcEndpointConnectionNotificationsRequest; class DescribeVpcEndpointConnectionsRequest; class DescribeVpcEndpointServiceConfigurationsRequest; @@ -1235,6 +1254,7 @@ namespace Aws class DetachVolumeRequest; class DetachVpnGatewayRequest; class DisableAddressTransferRequest; + class DisableAllowedImagesSettingsRequest; class DisableAwsNetworkPerformanceMetricSubscriptionRequest; class DisableEbsEncryptionByDefaultRequest; class DisableFastLaunchRequest; @@ -1268,6 +1288,7 @@ namespace Aws class DisassociateTrunkInterfaceRequest; class DisassociateVpcCidrBlockRequest; class EnableAddressTransferRequest; + class EnableAllowedImagesSettingsRequest; class EnableAwsNetworkPerformanceMetricSubscriptionRequest; class EnableEbsEncryptionByDefaultRequest; class EnableFastLaunchRequest; @@ -1289,6 +1310,8 @@ namespace Aws class ExportClientVpnClientConfigurationRequest; class ExportImageRequest; class ExportTransitGatewayRoutesRequest; + class ExportVerifiedAccessInstanceClientConfigurationRequest; + class GetAllowedImagesSettingsRequest; class GetAssociatedEnclaveCertificateIamRolesRequest; class GetAssociatedIpv6PoolCidrsRequest; class GetAwsNetworkPerformanceDataRequest; @@ -1296,6 +1319,7 @@ namespace Aws class GetCoipPoolUsageRequest; class GetConsoleOutputRequest; class GetConsoleScreenshotRequest; + class GetDeclarativePoliciesReportSummaryRequest; class GetDefaultCreditSpecificationRequest; class GetEbsDefaultKmsKeyIdRequest; class GetEbsEncryptionByDefaultRequest; @@ -1334,6 +1358,7 @@ namespace Aws class GetTransitGatewayRouteTableAssociationsRequest; class GetTransitGatewayRouteTablePropagationsRequest; class GetVerifiedAccessEndpointPolicyRequest; + class GetVerifiedAccessEndpointTargetsRequest; class GetVerifiedAccessGroupPolicyRequest; class GetVpnConnectionDeviceSampleConfigurationRequest; class GetVpnConnectionDeviceTypesRequest; @@ -1443,6 +1468,7 @@ namespace Aws class ReleaseHostsRequest; class ReleaseIpamPoolAllocationRequest; class ReplaceIamInstanceProfileAssociationRequest; + class ReplaceImageCriteriaInAllowedImagesSettingsRequest; class ReplaceNetworkAclAssociationRequest; class ReplaceNetworkAclEntryRequest; class ReplaceRouteRequest; @@ -1473,6 +1499,7 @@ namespace Aws class SearchTransitGatewayMulticastGroupsRequest; class SearchTransitGatewayRoutesRequest; class SendDiagnosticInterruptRequest; + class StartDeclarativePoliciesReportRequest; class StartInstancesRequest; class StartNetworkInsightsAccessScopeAnalysisRequest; class StartNetworkInsightsAnalysisRequest; @@ -1539,6 +1566,7 @@ namespace Aws typedef Aws::Utils::Outcome CancelCapacityReservationOutcome; typedef Aws::Utils::Outcome CancelCapacityReservationFleetsOutcome; typedef Aws::Utils::Outcome CancelConversionTaskOutcome; + typedef Aws::Utils::Outcome CancelDeclarativePoliciesReportOutcome; typedef Aws::Utils::Outcome CancelExportTaskOutcome; typedef Aws::Utils::Outcome CancelImageLaunchPermissionOutcome; typedef Aws::Utils::Outcome CancelImportTaskOutcome; @@ -1743,6 +1771,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribeCoipPoolsOutcome; typedef Aws::Utils::Outcome DescribeConversionTasksOutcome; typedef Aws::Utils::Outcome DescribeCustomerGatewaysOutcome; + typedef Aws::Utils::Outcome DescribeDeclarativePoliciesReportsOutcome; typedef Aws::Utils::Outcome DescribeDhcpOptionsOutcome; typedef Aws::Utils::Outcome DescribeEgressOnlyInternetGatewaysOutcome; typedef Aws::Utils::Outcome DescribeElasticGpusOutcome; @@ -1867,6 +1896,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribeVpcBlockPublicAccessOptionsOutcome; typedef Aws::Utils::Outcome DescribeVpcClassicLinkOutcome; typedef Aws::Utils::Outcome DescribeVpcClassicLinkDnsSupportOutcome; + typedef Aws::Utils::Outcome DescribeVpcEndpointAssociationsOutcome; typedef Aws::Utils::Outcome DescribeVpcEndpointConnectionNotificationsOutcome; typedef Aws::Utils::Outcome DescribeVpcEndpointConnectionsOutcome; typedef Aws::Utils::Outcome DescribeVpcEndpointServiceConfigurationsOutcome; @@ -1884,6 +1914,7 @@ namespace Aws typedef Aws::Utils::Outcome DetachVolumeOutcome; typedef Aws::Utils::Outcome DetachVpnGatewayOutcome; typedef Aws::Utils::Outcome DisableAddressTransferOutcome; + typedef Aws::Utils::Outcome DisableAllowedImagesSettingsOutcome; typedef Aws::Utils::Outcome DisableAwsNetworkPerformanceMetricSubscriptionOutcome; typedef Aws::Utils::Outcome DisableEbsEncryptionByDefaultOutcome; typedef Aws::Utils::Outcome DisableFastLaunchOutcome; @@ -1917,6 +1948,7 @@ namespace Aws typedef Aws::Utils::Outcome DisassociateTrunkInterfaceOutcome; typedef Aws::Utils::Outcome DisassociateVpcCidrBlockOutcome; typedef Aws::Utils::Outcome EnableAddressTransferOutcome; + typedef Aws::Utils::Outcome EnableAllowedImagesSettingsOutcome; typedef Aws::Utils::Outcome EnableAwsNetworkPerformanceMetricSubscriptionOutcome; typedef Aws::Utils::Outcome EnableEbsEncryptionByDefaultOutcome; typedef Aws::Utils::Outcome EnableFastLaunchOutcome; @@ -1938,6 +1970,8 @@ namespace Aws typedef Aws::Utils::Outcome ExportClientVpnClientConfigurationOutcome; typedef Aws::Utils::Outcome ExportImageOutcome; typedef Aws::Utils::Outcome ExportTransitGatewayRoutesOutcome; + typedef Aws::Utils::Outcome ExportVerifiedAccessInstanceClientConfigurationOutcome; + typedef Aws::Utils::Outcome GetAllowedImagesSettingsOutcome; typedef Aws::Utils::Outcome GetAssociatedEnclaveCertificateIamRolesOutcome; typedef Aws::Utils::Outcome GetAssociatedIpv6PoolCidrsOutcome; typedef Aws::Utils::Outcome GetAwsNetworkPerformanceDataOutcome; @@ -1945,6 +1979,7 @@ namespace Aws typedef Aws::Utils::Outcome GetCoipPoolUsageOutcome; typedef Aws::Utils::Outcome GetConsoleOutputOutcome; typedef Aws::Utils::Outcome GetConsoleScreenshotOutcome; + typedef Aws::Utils::Outcome GetDeclarativePoliciesReportSummaryOutcome; typedef Aws::Utils::Outcome GetDefaultCreditSpecificationOutcome; typedef Aws::Utils::Outcome GetEbsDefaultKmsKeyIdOutcome; typedef Aws::Utils::Outcome GetEbsEncryptionByDefaultOutcome; @@ -1983,6 +2018,7 @@ namespace Aws typedef Aws::Utils::Outcome GetTransitGatewayRouteTableAssociationsOutcome; typedef Aws::Utils::Outcome GetTransitGatewayRouteTablePropagationsOutcome; typedef Aws::Utils::Outcome GetVerifiedAccessEndpointPolicyOutcome; + typedef Aws::Utils::Outcome GetVerifiedAccessEndpointTargetsOutcome; typedef Aws::Utils::Outcome GetVerifiedAccessGroupPolicyOutcome; typedef Aws::Utils::Outcome GetVpnConnectionDeviceSampleConfigurationOutcome; typedef Aws::Utils::Outcome GetVpnConnectionDeviceTypesOutcome; @@ -2092,6 +2128,7 @@ namespace Aws typedef Aws::Utils::Outcome ReleaseHostsOutcome; typedef Aws::Utils::Outcome ReleaseIpamPoolAllocationOutcome; typedef Aws::Utils::Outcome ReplaceIamInstanceProfileAssociationOutcome; + typedef Aws::Utils::Outcome ReplaceImageCriteriaInAllowedImagesSettingsOutcome; typedef Aws::Utils::Outcome ReplaceNetworkAclAssociationOutcome; typedef Aws::Utils::Outcome ReplaceNetworkAclEntryOutcome; typedef Aws::Utils::Outcome ReplaceRouteOutcome; @@ -2122,6 +2159,7 @@ namespace Aws typedef Aws::Utils::Outcome SearchTransitGatewayMulticastGroupsOutcome; typedef Aws::Utils::Outcome SearchTransitGatewayRoutesOutcome; typedef Aws::Utils::Outcome SendDiagnosticInterruptOutcome; + typedef Aws::Utils::Outcome StartDeclarativePoliciesReportOutcome; typedef Aws::Utils::Outcome StartInstancesOutcome; typedef Aws::Utils::Outcome StartNetworkInsightsAccessScopeAnalysisOutcome; typedef Aws::Utils::Outcome StartNetworkInsightsAnalysisOutcome; @@ -2188,6 +2226,7 @@ namespace Aws typedef std::future CancelCapacityReservationOutcomeCallable; typedef std::future CancelCapacityReservationFleetsOutcomeCallable; typedef std::future CancelConversionTaskOutcomeCallable; + typedef std::future CancelDeclarativePoliciesReportOutcomeCallable; typedef std::future CancelExportTaskOutcomeCallable; typedef std::future CancelImageLaunchPermissionOutcomeCallable; typedef std::future CancelImportTaskOutcomeCallable; @@ -2392,6 +2431,7 @@ namespace Aws typedef std::future DescribeCoipPoolsOutcomeCallable; typedef std::future DescribeConversionTasksOutcomeCallable; typedef std::future DescribeCustomerGatewaysOutcomeCallable; + typedef std::future DescribeDeclarativePoliciesReportsOutcomeCallable; typedef std::future DescribeDhcpOptionsOutcomeCallable; typedef std::future DescribeEgressOnlyInternetGatewaysOutcomeCallable; typedef std::future DescribeElasticGpusOutcomeCallable; @@ -2516,6 +2556,7 @@ namespace Aws typedef std::future DescribeVpcBlockPublicAccessOptionsOutcomeCallable; typedef std::future DescribeVpcClassicLinkOutcomeCallable; typedef std::future DescribeVpcClassicLinkDnsSupportOutcomeCallable; + typedef std::future DescribeVpcEndpointAssociationsOutcomeCallable; typedef std::future DescribeVpcEndpointConnectionNotificationsOutcomeCallable; typedef std::future DescribeVpcEndpointConnectionsOutcomeCallable; typedef std::future DescribeVpcEndpointServiceConfigurationsOutcomeCallable; @@ -2533,6 +2574,7 @@ namespace Aws typedef std::future DetachVolumeOutcomeCallable; typedef std::future DetachVpnGatewayOutcomeCallable; typedef std::future DisableAddressTransferOutcomeCallable; + typedef std::future DisableAllowedImagesSettingsOutcomeCallable; typedef std::future DisableAwsNetworkPerformanceMetricSubscriptionOutcomeCallable; typedef std::future DisableEbsEncryptionByDefaultOutcomeCallable; typedef std::future DisableFastLaunchOutcomeCallable; @@ -2566,6 +2608,7 @@ namespace Aws typedef std::future DisassociateTrunkInterfaceOutcomeCallable; typedef std::future DisassociateVpcCidrBlockOutcomeCallable; typedef std::future EnableAddressTransferOutcomeCallable; + typedef std::future EnableAllowedImagesSettingsOutcomeCallable; typedef std::future EnableAwsNetworkPerformanceMetricSubscriptionOutcomeCallable; typedef std::future EnableEbsEncryptionByDefaultOutcomeCallable; typedef std::future EnableFastLaunchOutcomeCallable; @@ -2587,6 +2630,8 @@ namespace Aws typedef std::future ExportClientVpnClientConfigurationOutcomeCallable; typedef std::future ExportImageOutcomeCallable; typedef std::future ExportTransitGatewayRoutesOutcomeCallable; + typedef std::future ExportVerifiedAccessInstanceClientConfigurationOutcomeCallable; + typedef std::future GetAllowedImagesSettingsOutcomeCallable; typedef std::future GetAssociatedEnclaveCertificateIamRolesOutcomeCallable; typedef std::future GetAssociatedIpv6PoolCidrsOutcomeCallable; typedef std::future GetAwsNetworkPerformanceDataOutcomeCallable; @@ -2594,6 +2639,7 @@ namespace Aws typedef std::future GetCoipPoolUsageOutcomeCallable; typedef std::future GetConsoleOutputOutcomeCallable; typedef std::future GetConsoleScreenshotOutcomeCallable; + typedef std::future GetDeclarativePoliciesReportSummaryOutcomeCallable; typedef std::future GetDefaultCreditSpecificationOutcomeCallable; typedef std::future GetEbsDefaultKmsKeyIdOutcomeCallable; typedef std::future GetEbsEncryptionByDefaultOutcomeCallable; @@ -2632,6 +2678,7 @@ namespace Aws typedef std::future GetTransitGatewayRouteTableAssociationsOutcomeCallable; typedef std::future GetTransitGatewayRouteTablePropagationsOutcomeCallable; typedef std::future GetVerifiedAccessEndpointPolicyOutcomeCallable; + typedef std::future GetVerifiedAccessEndpointTargetsOutcomeCallable; typedef std::future GetVerifiedAccessGroupPolicyOutcomeCallable; typedef std::future GetVpnConnectionDeviceSampleConfigurationOutcomeCallable; typedef std::future GetVpnConnectionDeviceTypesOutcomeCallable; @@ -2741,6 +2788,7 @@ namespace Aws typedef std::future ReleaseHostsOutcomeCallable; typedef std::future ReleaseIpamPoolAllocationOutcomeCallable; typedef std::future ReplaceIamInstanceProfileAssociationOutcomeCallable; + typedef std::future ReplaceImageCriteriaInAllowedImagesSettingsOutcomeCallable; typedef std::future ReplaceNetworkAclAssociationOutcomeCallable; typedef std::future ReplaceNetworkAclEntryOutcomeCallable; typedef std::future ReplaceRouteOutcomeCallable; @@ -2771,6 +2819,7 @@ namespace Aws typedef std::future SearchTransitGatewayMulticastGroupsOutcomeCallable; typedef std::future SearchTransitGatewayRoutesOutcomeCallable; typedef std::future SendDiagnosticInterruptOutcomeCallable; + typedef std::future StartDeclarativePoliciesReportOutcomeCallable; typedef std::future StartInstancesOutcomeCallable; typedef std::future StartNetworkInsightsAccessScopeAnalysisOutcomeCallable; typedef std::future StartNetworkInsightsAnalysisOutcomeCallable; @@ -2840,6 +2889,7 @@ namespace Aws typedef std::function&) > CancelCapacityReservationResponseReceivedHandler; typedef std::function&) > CancelCapacityReservationFleetsResponseReceivedHandler; typedef std::function&) > CancelConversionTaskResponseReceivedHandler; + typedef std::function&) > CancelDeclarativePoliciesReportResponseReceivedHandler; typedef std::function&) > CancelExportTaskResponseReceivedHandler; typedef std::function&) > CancelImageLaunchPermissionResponseReceivedHandler; typedef std::function&) > CancelImportTaskResponseReceivedHandler; @@ -3044,6 +3094,7 @@ namespace Aws typedef std::function&) > DescribeCoipPoolsResponseReceivedHandler; typedef std::function&) > DescribeConversionTasksResponseReceivedHandler; typedef std::function&) > DescribeCustomerGatewaysResponseReceivedHandler; + typedef std::function&) > DescribeDeclarativePoliciesReportsResponseReceivedHandler; typedef std::function&) > DescribeDhcpOptionsResponseReceivedHandler; typedef std::function&) > DescribeEgressOnlyInternetGatewaysResponseReceivedHandler; typedef std::function&) > DescribeElasticGpusResponseReceivedHandler; @@ -3168,6 +3219,7 @@ namespace Aws typedef std::function&) > DescribeVpcBlockPublicAccessOptionsResponseReceivedHandler; typedef std::function&) > DescribeVpcClassicLinkResponseReceivedHandler; typedef std::function&) > DescribeVpcClassicLinkDnsSupportResponseReceivedHandler; + typedef std::function&) > DescribeVpcEndpointAssociationsResponseReceivedHandler; typedef std::function&) > DescribeVpcEndpointConnectionNotificationsResponseReceivedHandler; typedef std::function&) > DescribeVpcEndpointConnectionsResponseReceivedHandler; typedef std::function&) > DescribeVpcEndpointServiceConfigurationsResponseReceivedHandler; @@ -3185,6 +3237,7 @@ namespace Aws typedef std::function&) > DetachVolumeResponseReceivedHandler; typedef std::function&) > DetachVpnGatewayResponseReceivedHandler; typedef std::function&) > DisableAddressTransferResponseReceivedHandler; + typedef std::function&) > DisableAllowedImagesSettingsResponseReceivedHandler; typedef std::function&) > DisableAwsNetworkPerformanceMetricSubscriptionResponseReceivedHandler; typedef std::function&) > DisableEbsEncryptionByDefaultResponseReceivedHandler; typedef std::function&) > DisableFastLaunchResponseReceivedHandler; @@ -3218,6 +3271,7 @@ namespace Aws typedef std::function&) > DisassociateTrunkInterfaceResponseReceivedHandler; typedef std::function&) > DisassociateVpcCidrBlockResponseReceivedHandler; typedef std::function&) > EnableAddressTransferResponseReceivedHandler; + typedef std::function&) > EnableAllowedImagesSettingsResponseReceivedHandler; typedef std::function&) > EnableAwsNetworkPerformanceMetricSubscriptionResponseReceivedHandler; typedef std::function&) > EnableEbsEncryptionByDefaultResponseReceivedHandler; typedef std::function&) > EnableFastLaunchResponseReceivedHandler; @@ -3239,6 +3293,8 @@ namespace Aws typedef std::function&) > ExportClientVpnClientConfigurationResponseReceivedHandler; typedef std::function&) > ExportImageResponseReceivedHandler; typedef std::function&) > ExportTransitGatewayRoutesResponseReceivedHandler; + typedef std::function&) > ExportVerifiedAccessInstanceClientConfigurationResponseReceivedHandler; + typedef std::function&) > GetAllowedImagesSettingsResponseReceivedHandler; typedef std::function&) > GetAssociatedEnclaveCertificateIamRolesResponseReceivedHandler; typedef std::function&) > GetAssociatedIpv6PoolCidrsResponseReceivedHandler; typedef std::function&) > GetAwsNetworkPerformanceDataResponseReceivedHandler; @@ -3246,6 +3302,7 @@ namespace Aws typedef std::function&) > GetCoipPoolUsageResponseReceivedHandler; typedef std::function&) > GetConsoleOutputResponseReceivedHandler; typedef std::function&) > GetConsoleScreenshotResponseReceivedHandler; + typedef std::function&) > GetDeclarativePoliciesReportSummaryResponseReceivedHandler; typedef std::function&) > GetDefaultCreditSpecificationResponseReceivedHandler; typedef std::function&) > GetEbsDefaultKmsKeyIdResponseReceivedHandler; typedef std::function&) > GetEbsEncryptionByDefaultResponseReceivedHandler; @@ -3284,6 +3341,7 @@ namespace Aws typedef std::function&) > GetTransitGatewayRouteTableAssociationsResponseReceivedHandler; typedef std::function&) > GetTransitGatewayRouteTablePropagationsResponseReceivedHandler; typedef std::function&) > GetVerifiedAccessEndpointPolicyResponseReceivedHandler; + typedef std::function&) > GetVerifiedAccessEndpointTargetsResponseReceivedHandler; typedef std::function&) > GetVerifiedAccessGroupPolicyResponseReceivedHandler; typedef std::function&) > GetVpnConnectionDeviceSampleConfigurationResponseReceivedHandler; typedef std::function&) > GetVpnConnectionDeviceTypesResponseReceivedHandler; @@ -3393,6 +3451,7 @@ namespace Aws typedef std::function&) > ReleaseHostsResponseReceivedHandler; typedef std::function&) > ReleaseIpamPoolAllocationResponseReceivedHandler; typedef std::function&) > ReplaceIamInstanceProfileAssociationResponseReceivedHandler; + typedef std::function&) > ReplaceImageCriteriaInAllowedImagesSettingsResponseReceivedHandler; typedef std::function&) > ReplaceNetworkAclAssociationResponseReceivedHandler; typedef std::function&) > ReplaceNetworkAclEntryResponseReceivedHandler; typedef std::function&) > ReplaceRouteResponseReceivedHandler; @@ -3423,6 +3482,7 @@ namespace Aws typedef std::function&) > SearchTransitGatewayMulticastGroupsResponseReceivedHandler; typedef std::function&) > SearchTransitGatewayRoutesResponseReceivedHandler; typedef std::function&) > SendDiagnosticInterruptResponseReceivedHandler; + typedef std::function&) > StartDeclarativePoliciesReportResponseReceivedHandler; typedef std::function&) > StartInstancesResponseReceivedHandler; typedef std::function&) > StartNetworkInsightsAccessScopeAnalysisResponseReceivedHandler; typedef std::function&) > StartNetworkInsightsAnalysisResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AllowedImagesSettingsDisabledState.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AllowedImagesSettingsDisabledState.h new file mode 100644 index 00000000000..8ca34e06822 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AllowedImagesSettingsDisabledState.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + enum class AllowedImagesSettingsDisabledState + { + NOT_SET, + disabled + }; + +namespace AllowedImagesSettingsDisabledStateMapper +{ +AWS_EC2_API AllowedImagesSettingsDisabledState GetAllowedImagesSettingsDisabledStateForName(const Aws::String& name); + +AWS_EC2_API Aws::String GetNameForAllowedImagesSettingsDisabledState(AllowedImagesSettingsDisabledState value); +} // namespace AllowedImagesSettingsDisabledStateMapper +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AllowedImagesSettingsEnabledState.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AllowedImagesSettingsEnabledState.h new file mode 100644 index 00000000000..ddaae5278a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AllowedImagesSettingsEnabledState.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + enum class AllowedImagesSettingsEnabledState + { + NOT_SET, + enabled, + audit_mode + }; + +namespace AllowedImagesSettingsEnabledStateMapper +{ +AWS_EC2_API AllowedImagesSettingsEnabledState GetAllowedImagesSettingsEnabledStateForName(const Aws::String& name); + +AWS_EC2_API Aws::String GetNameForAllowedImagesSettingsEnabledState(AllowedImagesSettingsEnabledState value); +} // namespace AllowedImagesSettingsEnabledStateMapper +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AttributeSummary.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AttributeSummary.h new file mode 100644 index 00000000000..d002098a673 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AttributeSummary.h @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    A summary report for the attribute across all Regions.

    See + * Also:

    AWS + * API Reference

    + */ + class AttributeSummary + { + public: + AWS_EC2_API AttributeSummary(); + AWS_EC2_API AttributeSummary(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API AttributeSummary& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The name of the attribute.

    + */ + inline const Aws::String& GetAttributeName() const{ return m_attributeName; } + inline bool AttributeNameHasBeenSet() const { return m_attributeNameHasBeenSet; } + inline void SetAttributeName(const Aws::String& value) { m_attributeNameHasBeenSet = true; m_attributeName = value; } + inline void SetAttributeName(Aws::String&& value) { m_attributeNameHasBeenSet = true; m_attributeName = std::move(value); } + inline void SetAttributeName(const char* value) { m_attributeNameHasBeenSet = true; m_attributeName.assign(value); } + inline AttributeSummary& WithAttributeName(const Aws::String& value) { SetAttributeName(value); return *this;} + inline AttributeSummary& WithAttributeName(Aws::String&& value) { SetAttributeName(std::move(value)); return *this;} + inline AttributeSummary& WithAttributeName(const char* value) { SetAttributeName(value); return *this;} + ///@} + + ///@{ + /** + *

    The configuration value that is most frequently observed for the + * attribute.

    + */ + inline const Aws::String& GetMostFrequentValue() const{ return m_mostFrequentValue; } + inline bool MostFrequentValueHasBeenSet() const { return m_mostFrequentValueHasBeenSet; } + inline void SetMostFrequentValue(const Aws::String& value) { m_mostFrequentValueHasBeenSet = true; m_mostFrequentValue = value; } + inline void SetMostFrequentValue(Aws::String&& value) { m_mostFrequentValueHasBeenSet = true; m_mostFrequentValue = std::move(value); } + inline void SetMostFrequentValue(const char* value) { m_mostFrequentValueHasBeenSet = true; m_mostFrequentValue.assign(value); } + inline AttributeSummary& WithMostFrequentValue(const Aws::String& value) { SetMostFrequentValue(value); return *this;} + inline AttributeSummary& WithMostFrequentValue(Aws::String&& value) { SetMostFrequentValue(std::move(value)); return *this;} + inline AttributeSummary& WithMostFrequentValue(const char* value) { SetMostFrequentValue(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of accounts with the same configuration value for the attribute + * that is most frequently observed.

    + */ + inline int GetNumberOfMatchedAccounts() const{ return m_numberOfMatchedAccounts; } + inline bool NumberOfMatchedAccountsHasBeenSet() const { return m_numberOfMatchedAccountsHasBeenSet; } + inline void SetNumberOfMatchedAccounts(int value) { m_numberOfMatchedAccountsHasBeenSet = true; m_numberOfMatchedAccounts = value; } + inline AttributeSummary& WithNumberOfMatchedAccounts(int value) { SetNumberOfMatchedAccounts(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of accounts with a configuration value different from the most + * frequently observed value for the attribute.

    + */ + inline int GetNumberOfUnmatchedAccounts() const{ return m_numberOfUnmatchedAccounts; } + inline bool NumberOfUnmatchedAccountsHasBeenSet() const { return m_numberOfUnmatchedAccountsHasBeenSet; } + inline void SetNumberOfUnmatchedAccounts(int value) { m_numberOfUnmatchedAccountsHasBeenSet = true; m_numberOfUnmatchedAccounts = value; } + inline AttributeSummary& WithNumberOfUnmatchedAccounts(int value) { SetNumberOfUnmatchedAccounts(value); return *this;} + ///@} + + ///@{ + /** + *

    The summary report for each Region for the attribute.

    + */ + inline const Aws::Vector& GetRegionalSummaries() const{ return m_regionalSummaries; } + inline bool RegionalSummariesHasBeenSet() const { return m_regionalSummariesHasBeenSet; } + inline void SetRegionalSummaries(const Aws::Vector& value) { m_regionalSummariesHasBeenSet = true; m_regionalSummaries = value; } + inline void SetRegionalSummaries(Aws::Vector&& value) { m_regionalSummariesHasBeenSet = true; m_regionalSummaries = std::move(value); } + inline AttributeSummary& WithRegionalSummaries(const Aws::Vector& value) { SetRegionalSummaries(value); return *this;} + inline AttributeSummary& WithRegionalSummaries(Aws::Vector&& value) { SetRegionalSummaries(std::move(value)); return *this;} + inline AttributeSummary& AddRegionalSummaries(const RegionalSummary& value) { m_regionalSummariesHasBeenSet = true; m_regionalSummaries.push_back(value); return *this; } + inline AttributeSummary& AddRegionalSummaries(RegionalSummary&& value) { m_regionalSummariesHasBeenSet = true; m_regionalSummaries.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_attributeName; + bool m_attributeNameHasBeenSet = false; + + Aws::String m_mostFrequentValue; + bool m_mostFrequentValueHasBeenSet = false; + + int m_numberOfMatchedAccounts; + bool m_numberOfMatchedAccountsHasBeenSet = false; + + int m_numberOfUnmatchedAccounts; + bool m_numberOfUnmatchedAccountsHasBeenSet = false; + + Aws::Vector m_regionalSummaries; + bool m_regionalSummariesHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CancelDeclarativePoliciesReportRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CancelDeclarativePoliciesReportRequest.h new file mode 100644 index 00000000000..d9f087fc5b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CancelDeclarativePoliciesReportRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class CancelDeclarativePoliciesReportRequest : public EC2Request + { + public: + AWS_EC2_API CancelDeclarativePoliciesReportRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CancelDeclarativePoliciesReport"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline CancelDeclarativePoliciesReportRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the report.

    + */ + inline const Aws::String& GetReportId() const{ return m_reportId; } + inline bool ReportIdHasBeenSet() const { return m_reportIdHasBeenSet; } + inline void SetReportId(const Aws::String& value) { m_reportIdHasBeenSet = true; m_reportId = value; } + inline void SetReportId(Aws::String&& value) { m_reportIdHasBeenSet = true; m_reportId = std::move(value); } + inline void SetReportId(const char* value) { m_reportIdHasBeenSet = true; m_reportId.assign(value); } + inline CancelDeclarativePoliciesReportRequest& WithReportId(const Aws::String& value) { SetReportId(value); return *this;} + inline CancelDeclarativePoliciesReportRequest& WithReportId(Aws::String&& value) { SetReportId(std::move(value)); return *this;} + inline CancelDeclarativePoliciesReportRequest& WithReportId(const char* value) { SetReportId(value); return *this;} + ///@} + private: + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + + Aws::String m_reportId; + bool m_reportIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CancelDeclarativePoliciesReportResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CancelDeclarativePoliciesReportResponse.h new file mode 100644 index 00000000000..479c36ac79a --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CancelDeclarativePoliciesReportResponse.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class CancelDeclarativePoliciesReportResponse + { + public: + AWS_EC2_API CancelDeclarativePoliciesReportResponse(); + AWS_EC2_API CancelDeclarativePoliciesReportResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API CancelDeclarativePoliciesReportResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    Is true if the request succeeds, and an error otherwise.

    + */ + inline bool GetReturn() const{ return m_return; } + inline void SetReturn(bool value) { m_return = value; } + inline CancelDeclarativePoliciesReportResponse& WithReturn(bool value) { SetReturn(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline CancelDeclarativePoliciesReportResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline CancelDeclarativePoliciesReportResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + bool m_return; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointCidrOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointCidrOptions.h new file mode 100644 index 00000000000..b7b1ad334f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointCidrOptions.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the CIDR options for a Verified Access endpoint.

    See + * Also:

    AWS + * API Reference

    + */ + class CreateVerifiedAccessEndpointCidrOptions + { + public: + AWS_EC2_API CreateVerifiedAccessEndpointCidrOptions(); + AWS_EC2_API CreateVerifiedAccessEndpointCidrOptions(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API CreateVerifiedAccessEndpointCidrOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The protocol.

    + */ + inline const VerifiedAccessEndpointProtocol& GetProtocol() const{ return m_protocol; } + inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } + inline void SetProtocol(const VerifiedAccessEndpointProtocol& value) { m_protocolHasBeenSet = true; m_protocol = value; } + inline void SetProtocol(VerifiedAccessEndpointProtocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } + inline CreateVerifiedAccessEndpointCidrOptions& WithProtocol(const VerifiedAccessEndpointProtocol& value) { SetProtocol(value); return *this;} + inline CreateVerifiedAccessEndpointCidrOptions& WithProtocol(VerifiedAccessEndpointProtocol&& value) { SetProtocol(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The IDs of the subnets.

    + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline CreateVerifiedAccessEndpointCidrOptions& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline CreateVerifiedAccessEndpointCidrOptions& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline CreateVerifiedAccessEndpointCidrOptions& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline CreateVerifiedAccessEndpointCidrOptions& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline CreateVerifiedAccessEndpointCidrOptions& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    The CIDR.

    + */ + inline const Aws::String& GetCidr() const{ return m_cidr; } + inline bool CidrHasBeenSet() const { return m_cidrHasBeenSet; } + inline void SetCidr(const Aws::String& value) { m_cidrHasBeenSet = true; m_cidr = value; } + inline void SetCidr(Aws::String&& value) { m_cidrHasBeenSet = true; m_cidr = std::move(value); } + inline void SetCidr(const char* value) { m_cidrHasBeenSet = true; m_cidr.assign(value); } + inline CreateVerifiedAccessEndpointCidrOptions& WithCidr(const Aws::String& value) { SetCidr(value); return *this;} + inline CreateVerifiedAccessEndpointCidrOptions& WithCidr(Aws::String&& value) { SetCidr(std::move(value)); return *this;} + inline CreateVerifiedAccessEndpointCidrOptions& WithCidr(const char* value) { SetCidr(value); return *this;} + ///@} + + ///@{ + /** + *

    The port ranges.

    + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } + inline CreateVerifiedAccessEndpointCidrOptions& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline CreateVerifiedAccessEndpointCidrOptions& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline CreateVerifiedAccessEndpointCidrOptions& AddPortRanges(const CreateVerifiedAccessEndpointPortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + inline CreateVerifiedAccessEndpointCidrOptions& AddPortRanges(CreateVerifiedAccessEndpointPortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } + ///@} + private: + + VerifiedAccessEndpointProtocol m_protocol; + bool m_protocolHasBeenSet = false; + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + + Aws::String m_cidr; + bool m_cidrHasBeenSet = false; + + Aws::Vector m_portRanges; + bool m_portRangesHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointEniOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointEniOptions.h index 33978f86af3..a0363437bb0 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointEniOptions.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointEniOptions.h @@ -8,6 +8,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -77,6 +79,20 @@ namespace Model inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } inline CreateVerifiedAccessEndpointEniOptions& WithPort(int value) { SetPort(value); return *this;} ///@} + + ///@{ + /** + *

    The port ranges.

    + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } + inline CreateVerifiedAccessEndpointEniOptions& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline CreateVerifiedAccessEndpointEniOptions& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline CreateVerifiedAccessEndpointEniOptions& AddPortRanges(const CreateVerifiedAccessEndpointPortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + inline CreateVerifiedAccessEndpointEniOptions& AddPortRanges(CreateVerifiedAccessEndpointPortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } + ///@} private: Aws::String m_networkInterfaceId; @@ -87,6 +103,9 @@ namespace Model int m_port; bool m_portHasBeenSet = false; + + Aws::Vector m_portRanges; + bool m_portRangesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointLoadBalancerOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointLoadBalancerOptions.h index c2dae3d82a7..f2716c7fa46 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointLoadBalancerOptions.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointLoadBalancerOptions.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -93,6 +94,20 @@ namespace Model inline CreateVerifiedAccessEndpointLoadBalancerOptions& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } inline CreateVerifiedAccessEndpointLoadBalancerOptions& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } ///@} + + ///@{ + /** + *

    The port ranges.

    + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } + inline CreateVerifiedAccessEndpointLoadBalancerOptions& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline CreateVerifiedAccessEndpointLoadBalancerOptions& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline CreateVerifiedAccessEndpointLoadBalancerOptions& AddPortRanges(const CreateVerifiedAccessEndpointPortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + inline CreateVerifiedAccessEndpointLoadBalancerOptions& AddPortRanges(CreateVerifiedAccessEndpointPortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } + ///@} private: VerifiedAccessEndpointProtocol m_protocol; @@ -106,6 +121,9 @@ namespace Model Aws::Vector m_subnetIds; bool m_subnetIdsHasBeenSet = false; + + Aws::Vector m_portRanges; + bool m_portRangesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointPortRange.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointPortRange.h new file mode 100644 index 00000000000..8739d2f4971 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointPortRange.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the port range for a Verified Access endpoint.

    See + * Also:

    AWS + * API Reference

    + */ + class CreateVerifiedAccessEndpointPortRange + { + public: + AWS_EC2_API CreateVerifiedAccessEndpointPortRange(); + AWS_EC2_API CreateVerifiedAccessEndpointPortRange(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API CreateVerifiedAccessEndpointPortRange& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The start of the port range.

    + */ + inline int GetFromPort() const{ return m_fromPort; } + inline bool FromPortHasBeenSet() const { return m_fromPortHasBeenSet; } + inline void SetFromPort(int value) { m_fromPortHasBeenSet = true; m_fromPort = value; } + inline CreateVerifiedAccessEndpointPortRange& WithFromPort(int value) { SetFromPort(value); return *this;} + ///@} + + ///@{ + /** + *

    The end of the port range.

    + */ + inline int GetToPort() const{ return m_toPort; } + inline bool ToPortHasBeenSet() const { return m_toPortHasBeenSet; } + inline void SetToPort(int value) { m_toPortHasBeenSet = true; m_toPort = value; } + inline CreateVerifiedAccessEndpointPortRange& WithToPort(int value) { SetToPort(value); return *this;} + ///@} + private: + + int m_fromPort; + bool m_fromPortHasBeenSet = false; + + int m_toPort; + bool m_toPortHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointRdsOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointRdsOptions.h new file mode 100644 index 00000000000..889f74f1351 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointRdsOptions.h @@ -0,0 +1,163 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the RDS options for a Verified Access endpoint.

    See + * Also:

    AWS + * API Reference

    + */ + class CreateVerifiedAccessEndpointRdsOptions + { + public: + AWS_EC2_API CreateVerifiedAccessEndpointRdsOptions(); + AWS_EC2_API CreateVerifiedAccessEndpointRdsOptions(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API CreateVerifiedAccessEndpointRdsOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The protocol.

    + */ + inline const VerifiedAccessEndpointProtocol& GetProtocol() const{ return m_protocol; } + inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } + inline void SetProtocol(const VerifiedAccessEndpointProtocol& value) { m_protocolHasBeenSet = true; m_protocol = value; } + inline void SetProtocol(VerifiedAccessEndpointProtocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } + inline CreateVerifiedAccessEndpointRdsOptions& WithProtocol(const VerifiedAccessEndpointProtocol& value) { SetProtocol(value); return *this;} + inline CreateVerifiedAccessEndpointRdsOptions& WithProtocol(VerifiedAccessEndpointProtocol&& value) { SetProtocol(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The port.

    + */ + inline int GetPort() const{ return m_port; } + inline bool PortHasBeenSet() const { return m_portHasBeenSet; } + inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } + inline CreateVerifiedAccessEndpointRdsOptions& WithPort(int value) { SetPort(value); return *this;} + ///@} + + ///@{ + /** + *

    The ARN of the RDS instance.

    + */ + inline const Aws::String& GetRdsDbInstanceArn() const{ return m_rdsDbInstanceArn; } + inline bool RdsDbInstanceArnHasBeenSet() const { return m_rdsDbInstanceArnHasBeenSet; } + inline void SetRdsDbInstanceArn(const Aws::String& value) { m_rdsDbInstanceArnHasBeenSet = true; m_rdsDbInstanceArn = value; } + inline void SetRdsDbInstanceArn(Aws::String&& value) { m_rdsDbInstanceArnHasBeenSet = true; m_rdsDbInstanceArn = std::move(value); } + inline void SetRdsDbInstanceArn(const char* value) { m_rdsDbInstanceArnHasBeenSet = true; m_rdsDbInstanceArn.assign(value); } + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsDbInstanceArn(const Aws::String& value) { SetRdsDbInstanceArn(value); return *this;} + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsDbInstanceArn(Aws::String&& value) { SetRdsDbInstanceArn(std::move(value)); return *this;} + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsDbInstanceArn(const char* value) { SetRdsDbInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The ARN of the DB cluster.

    + */ + inline const Aws::String& GetRdsDbClusterArn() const{ return m_rdsDbClusterArn; } + inline bool RdsDbClusterArnHasBeenSet() const { return m_rdsDbClusterArnHasBeenSet; } + inline void SetRdsDbClusterArn(const Aws::String& value) { m_rdsDbClusterArnHasBeenSet = true; m_rdsDbClusterArn = value; } + inline void SetRdsDbClusterArn(Aws::String&& value) { m_rdsDbClusterArnHasBeenSet = true; m_rdsDbClusterArn = std::move(value); } + inline void SetRdsDbClusterArn(const char* value) { m_rdsDbClusterArnHasBeenSet = true; m_rdsDbClusterArn.assign(value); } + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsDbClusterArn(const Aws::String& value) { SetRdsDbClusterArn(value); return *this;} + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsDbClusterArn(Aws::String&& value) { SetRdsDbClusterArn(std::move(value)); return *this;} + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsDbClusterArn(const char* value) { SetRdsDbClusterArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The ARN of the RDS proxy.

    + */ + inline const Aws::String& GetRdsDbProxyArn() const{ return m_rdsDbProxyArn; } + inline bool RdsDbProxyArnHasBeenSet() const { return m_rdsDbProxyArnHasBeenSet; } + inline void SetRdsDbProxyArn(const Aws::String& value) { m_rdsDbProxyArnHasBeenSet = true; m_rdsDbProxyArn = value; } + inline void SetRdsDbProxyArn(Aws::String&& value) { m_rdsDbProxyArnHasBeenSet = true; m_rdsDbProxyArn = std::move(value); } + inline void SetRdsDbProxyArn(const char* value) { m_rdsDbProxyArnHasBeenSet = true; m_rdsDbProxyArn.assign(value); } + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsDbProxyArn(const Aws::String& value) { SetRdsDbProxyArn(value); return *this;} + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsDbProxyArn(Aws::String&& value) { SetRdsDbProxyArn(std::move(value)); return *this;} + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsDbProxyArn(const char* value) { SetRdsDbProxyArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The RDS endpoint.

    + */ + inline const Aws::String& GetRdsEndpoint() const{ return m_rdsEndpoint; } + inline bool RdsEndpointHasBeenSet() const { return m_rdsEndpointHasBeenSet; } + inline void SetRdsEndpoint(const Aws::String& value) { m_rdsEndpointHasBeenSet = true; m_rdsEndpoint = value; } + inline void SetRdsEndpoint(Aws::String&& value) { m_rdsEndpointHasBeenSet = true; m_rdsEndpoint = std::move(value); } + inline void SetRdsEndpoint(const char* value) { m_rdsEndpointHasBeenSet = true; m_rdsEndpoint.assign(value); } + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsEndpoint(const Aws::String& value) { SetRdsEndpoint(value); return *this;} + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsEndpoint(Aws::String&& value) { SetRdsEndpoint(std::move(value)); return *this;} + inline CreateVerifiedAccessEndpointRdsOptions& WithRdsEndpoint(const char* value) { SetRdsEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The IDs of the subnets.

    + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline CreateVerifiedAccessEndpointRdsOptions& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline CreateVerifiedAccessEndpointRdsOptions& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline CreateVerifiedAccessEndpointRdsOptions& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline CreateVerifiedAccessEndpointRdsOptions& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline CreateVerifiedAccessEndpointRdsOptions& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + private: + + VerifiedAccessEndpointProtocol m_protocol; + bool m_protocolHasBeenSet = false; + + int m_port; + bool m_portHasBeenSet = false; + + Aws::String m_rdsDbInstanceArn; + bool m_rdsDbInstanceArnHasBeenSet = false; + + Aws::String m_rdsDbClusterArn; + bool m_rdsDbClusterArnHasBeenSet = false; + + Aws::String m_rdsDbProxyArn; + bool m_rdsDbProxyArnHasBeenSet = false; + + Aws::String m_rdsEndpoint; + bool m_rdsEndpointHasBeenSet = false; + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointRequest.h index 272bd0a752b..7977b4fb2b8 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessEndpointRequest.h @@ -13,6 +13,8 @@ #include #include #include +#include +#include #include #include #include @@ -253,6 +255,32 @@ namespace Model inline CreateVerifiedAccessEndpointRequest& WithSseSpecification(const VerifiedAccessSseSpecificationRequest& value) { SetSseSpecification(value); return *this;} inline CreateVerifiedAccessEndpointRequest& WithSseSpecification(VerifiedAccessSseSpecificationRequest&& value) { SetSseSpecification(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    The RDS details. This parameter is required if the endpoint type is + * rds.

    + */ + inline const CreateVerifiedAccessEndpointRdsOptions& GetRdsOptions() const{ return m_rdsOptions; } + inline bool RdsOptionsHasBeenSet() const { return m_rdsOptionsHasBeenSet; } + inline void SetRdsOptions(const CreateVerifiedAccessEndpointRdsOptions& value) { m_rdsOptionsHasBeenSet = true; m_rdsOptions = value; } + inline void SetRdsOptions(CreateVerifiedAccessEndpointRdsOptions&& value) { m_rdsOptionsHasBeenSet = true; m_rdsOptions = std::move(value); } + inline CreateVerifiedAccessEndpointRequest& WithRdsOptions(const CreateVerifiedAccessEndpointRdsOptions& value) { SetRdsOptions(value); return *this;} + inline CreateVerifiedAccessEndpointRequest& WithRdsOptions(CreateVerifiedAccessEndpointRdsOptions&& value) { SetRdsOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The CIDR options. This parameter is required if the endpoint type is + * cidr.

    + */ + inline const CreateVerifiedAccessEndpointCidrOptions& GetCidrOptions() const{ return m_cidrOptions; } + inline bool CidrOptionsHasBeenSet() const { return m_cidrOptionsHasBeenSet; } + inline void SetCidrOptions(const CreateVerifiedAccessEndpointCidrOptions& value) { m_cidrOptionsHasBeenSet = true; m_cidrOptions = value; } + inline void SetCidrOptions(CreateVerifiedAccessEndpointCidrOptions&& value) { m_cidrOptionsHasBeenSet = true; m_cidrOptions = std::move(value); } + inline CreateVerifiedAccessEndpointRequest& WithCidrOptions(const CreateVerifiedAccessEndpointCidrOptions& value) { SetCidrOptions(value); return *this;} + inline CreateVerifiedAccessEndpointRequest& WithCidrOptions(CreateVerifiedAccessEndpointCidrOptions&& value) { SetCidrOptions(std::move(value)); return *this;} + ///@} private: Aws::String m_verifiedAccessGroupId; @@ -299,6 +327,12 @@ namespace Model VerifiedAccessSseSpecificationRequest m_sseSpecification; bool m_sseSpecificationHasBeenSet = false; + + CreateVerifiedAccessEndpointRdsOptions m_rdsOptions; + bool m_rdsOptionsHasBeenSet = false; + + CreateVerifiedAccessEndpointCidrOptions m_cidrOptions; + bool m_cidrOptionsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessInstanceRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessInstanceRequest.h index 98f6241f577..9cbc8ecf8ab 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessInstanceRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessInstanceRequest.h @@ -107,6 +107,20 @@ namespace Model inline void SetFIPSEnabled(bool value) { m_fIPSEnabledHasBeenSet = true; m_fIPSEnabled = value; } inline CreateVerifiedAccessInstanceRequest& WithFIPSEnabled(bool value) { SetFIPSEnabled(value); return *this;} ///@} + + ///@{ + /** + *

    The custom subdomain.

    + */ + inline const Aws::String& GetCidrEndpointsCustomSubDomain() const{ return m_cidrEndpointsCustomSubDomain; } + inline bool CidrEndpointsCustomSubDomainHasBeenSet() const { return m_cidrEndpointsCustomSubDomainHasBeenSet; } + inline void SetCidrEndpointsCustomSubDomain(const Aws::String& value) { m_cidrEndpointsCustomSubDomainHasBeenSet = true; m_cidrEndpointsCustomSubDomain = value; } + inline void SetCidrEndpointsCustomSubDomain(Aws::String&& value) { m_cidrEndpointsCustomSubDomainHasBeenSet = true; m_cidrEndpointsCustomSubDomain = std::move(value); } + inline void SetCidrEndpointsCustomSubDomain(const char* value) { m_cidrEndpointsCustomSubDomainHasBeenSet = true; m_cidrEndpointsCustomSubDomain.assign(value); } + inline CreateVerifiedAccessInstanceRequest& WithCidrEndpointsCustomSubDomain(const Aws::String& value) { SetCidrEndpointsCustomSubDomain(value); return *this;} + inline CreateVerifiedAccessInstanceRequest& WithCidrEndpointsCustomSubDomain(Aws::String&& value) { SetCidrEndpointsCustomSubDomain(std::move(value)); return *this;} + inline CreateVerifiedAccessInstanceRequest& WithCidrEndpointsCustomSubDomain(const char* value) { SetCidrEndpointsCustomSubDomain(value); return *this;} + ///@} private: Aws::String m_description; @@ -123,6 +137,9 @@ namespace Model bool m_fIPSEnabled; bool m_fIPSEnabledHasBeenSet = false; + + Aws::String m_cidrEndpointsCustomSubDomain; + bool m_cidrEndpointsCustomSubDomainHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessNativeApplicationOidcOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessNativeApplicationOidcOptions.h new file mode 100644 index 00000000000..093e21025be --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessNativeApplicationOidcOptions.h @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the OpenID Connect (OIDC) options.

    See Also:

    AWS + * API Reference

    + */ + class CreateVerifiedAccessNativeApplicationOidcOptions + { + public: + AWS_EC2_API CreateVerifiedAccessNativeApplicationOidcOptions(); + AWS_EC2_API CreateVerifiedAccessNativeApplicationOidcOptions(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API CreateVerifiedAccessNativeApplicationOidcOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The public signing key endpoint.

    + */ + inline const Aws::String& GetPublicSigningKeyEndpoint() const{ return m_publicSigningKeyEndpoint; } + inline bool PublicSigningKeyEndpointHasBeenSet() const { return m_publicSigningKeyEndpointHasBeenSet; } + inline void SetPublicSigningKeyEndpoint(const Aws::String& value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint = value; } + inline void SetPublicSigningKeyEndpoint(Aws::String&& value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint = std::move(value); } + inline void SetPublicSigningKeyEndpoint(const char* value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint.assign(value); } + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithPublicSigningKeyEndpoint(const Aws::String& value) { SetPublicSigningKeyEndpoint(value); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithPublicSigningKeyEndpoint(Aws::String&& value) { SetPublicSigningKeyEndpoint(std::move(value)); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithPublicSigningKeyEndpoint(const char* value) { SetPublicSigningKeyEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The OIDC issuer identifier of the IdP.

    + */ + inline const Aws::String& GetIssuer() const{ return m_issuer; } + inline bool IssuerHasBeenSet() const { return m_issuerHasBeenSet; } + inline void SetIssuer(const Aws::String& value) { m_issuerHasBeenSet = true; m_issuer = value; } + inline void SetIssuer(Aws::String&& value) { m_issuerHasBeenSet = true; m_issuer = std::move(value); } + inline void SetIssuer(const char* value) { m_issuerHasBeenSet = true; m_issuer.assign(value); } + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithIssuer(const Aws::String& value) { SetIssuer(value); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithIssuer(Aws::String&& value) { SetIssuer(std::move(value)); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithIssuer(const char* value) { SetIssuer(value); return *this;} + ///@} + + ///@{ + /** + *

    The authorization endpoint of the IdP.

    + */ + inline const Aws::String& GetAuthorizationEndpoint() const{ return m_authorizationEndpoint; } + inline bool AuthorizationEndpointHasBeenSet() const { return m_authorizationEndpointHasBeenSet; } + inline void SetAuthorizationEndpoint(const Aws::String& value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint = value; } + inline void SetAuthorizationEndpoint(Aws::String&& value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint = std::move(value); } + inline void SetAuthorizationEndpoint(const char* value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint.assign(value); } + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithAuthorizationEndpoint(const Aws::String& value) { SetAuthorizationEndpoint(value); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithAuthorizationEndpoint(Aws::String&& value) { SetAuthorizationEndpoint(std::move(value)); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithAuthorizationEndpoint(const char* value) { SetAuthorizationEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The token endpoint of the IdP.

    + */ + inline const Aws::String& GetTokenEndpoint() const{ return m_tokenEndpoint; } + inline bool TokenEndpointHasBeenSet() const { return m_tokenEndpointHasBeenSet; } + inline void SetTokenEndpoint(const Aws::String& value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint = value; } + inline void SetTokenEndpoint(Aws::String&& value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint = std::move(value); } + inline void SetTokenEndpoint(const char* value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint.assign(value); } + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithTokenEndpoint(const Aws::String& value) { SetTokenEndpoint(value); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithTokenEndpoint(Aws::String&& value) { SetTokenEndpoint(std::move(value)); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithTokenEndpoint(const char* value) { SetTokenEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The user info endpoint of the IdP.

    + */ + inline const Aws::String& GetUserInfoEndpoint() const{ return m_userInfoEndpoint; } + inline bool UserInfoEndpointHasBeenSet() const { return m_userInfoEndpointHasBeenSet; } + inline void SetUserInfoEndpoint(const Aws::String& value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint = value; } + inline void SetUserInfoEndpoint(Aws::String&& value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint = std::move(value); } + inline void SetUserInfoEndpoint(const char* value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint.assign(value); } + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithUserInfoEndpoint(const Aws::String& value) { SetUserInfoEndpoint(value); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithUserInfoEndpoint(Aws::String&& value) { SetUserInfoEndpoint(std::move(value)); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithUserInfoEndpoint(const char* value) { SetUserInfoEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The OAuth 2.0 client identifier.

    + */ + inline const Aws::String& GetClientId() const{ return m_clientId; } + inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } + inline void SetClientId(const Aws::String& value) { m_clientIdHasBeenSet = true; m_clientId = value; } + inline void SetClientId(Aws::String&& value) { m_clientIdHasBeenSet = true; m_clientId = std::move(value); } + inline void SetClientId(const char* value) { m_clientIdHasBeenSet = true; m_clientId.assign(value); } + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithClientId(const Aws::String& value) { SetClientId(value); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithClientId(Aws::String&& value) { SetClientId(std::move(value)); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithClientId(const char* value) { SetClientId(value); return *this;} + ///@} + + ///@{ + /** + *

    The OAuth 2.0 client secret.

    + */ + inline const Aws::String& GetClientSecret() const{ return m_clientSecret; } + inline bool ClientSecretHasBeenSet() const { return m_clientSecretHasBeenSet; } + inline void SetClientSecret(const Aws::String& value) { m_clientSecretHasBeenSet = true; m_clientSecret = value; } + inline void SetClientSecret(Aws::String&& value) { m_clientSecretHasBeenSet = true; m_clientSecret = std::move(value); } + inline void SetClientSecret(const char* value) { m_clientSecretHasBeenSet = true; m_clientSecret.assign(value); } + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithClientSecret(const Aws::String& value) { SetClientSecret(value); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithClientSecret(Aws::String&& value) { SetClientSecret(std::move(value)); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithClientSecret(const char* value) { SetClientSecret(value); return *this;} + ///@} + + ///@{ + /** + *

    The set of user claims to be requested from the IdP.

    + */ + inline const Aws::String& GetScope() const{ return m_scope; } + inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; } + inline void SetScope(const Aws::String& value) { m_scopeHasBeenSet = true; m_scope = value; } + inline void SetScope(Aws::String&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); } + inline void SetScope(const char* value) { m_scopeHasBeenSet = true; m_scope.assign(value); } + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithScope(const Aws::String& value) { SetScope(value); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithScope(Aws::String&& value) { SetScope(std::move(value)); return *this;} + inline CreateVerifiedAccessNativeApplicationOidcOptions& WithScope(const char* value) { SetScope(value); return *this;} + ///@} + private: + + Aws::String m_publicSigningKeyEndpoint; + bool m_publicSigningKeyEndpointHasBeenSet = false; + + Aws::String m_issuer; + bool m_issuerHasBeenSet = false; + + Aws::String m_authorizationEndpoint; + bool m_authorizationEndpointHasBeenSet = false; + + Aws::String m_tokenEndpoint; + bool m_tokenEndpointHasBeenSet = false; + + Aws::String m_userInfoEndpoint; + bool m_userInfoEndpointHasBeenSet = false; + + Aws::String m_clientId; + bool m_clientIdHasBeenSet = false; + + Aws::String m_clientSecret; + bool m_clientSecretHasBeenSet = false; + + Aws::String m_scope; + bool m_scopeHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessTrustProviderRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessTrustProviderRequest.h index 50fdb985d68..26e79e11748 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessTrustProviderRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVerifiedAccessTrustProviderRequest.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -192,6 +193,18 @@ namespace Model inline CreateVerifiedAccessTrustProviderRequest& WithSseSpecification(const VerifiedAccessSseSpecificationRequest& value) { SetSseSpecification(value); return *this;} inline CreateVerifiedAccessTrustProviderRequest& WithSseSpecification(VerifiedAccessSseSpecificationRequest&& value) { SetSseSpecification(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    The OpenID Connect (OIDC) options.

    + */ + inline const CreateVerifiedAccessNativeApplicationOidcOptions& GetNativeApplicationOidcOptions() const{ return m_nativeApplicationOidcOptions; } + inline bool NativeApplicationOidcOptionsHasBeenSet() const { return m_nativeApplicationOidcOptionsHasBeenSet; } + inline void SetNativeApplicationOidcOptions(const CreateVerifiedAccessNativeApplicationOidcOptions& value) { m_nativeApplicationOidcOptionsHasBeenSet = true; m_nativeApplicationOidcOptions = value; } + inline void SetNativeApplicationOidcOptions(CreateVerifiedAccessNativeApplicationOidcOptions&& value) { m_nativeApplicationOidcOptionsHasBeenSet = true; m_nativeApplicationOidcOptions = std::move(value); } + inline CreateVerifiedAccessTrustProviderRequest& WithNativeApplicationOidcOptions(const CreateVerifiedAccessNativeApplicationOidcOptions& value) { SetNativeApplicationOidcOptions(value); return *this;} + inline CreateVerifiedAccessTrustProviderRequest& WithNativeApplicationOidcOptions(CreateVerifiedAccessNativeApplicationOidcOptions&& value) { SetNativeApplicationOidcOptions(std::move(value)); return *this;} + ///@} private: TrustProviderType m_trustProviderType; @@ -226,6 +239,9 @@ namespace Model VerifiedAccessSseSpecificationRequest m_sseSpecification; bool m_sseSpecificationHasBeenSet = false; + + CreateVerifiedAccessNativeApplicationOidcOptions m_nativeApplicationOidcOptions; + bool m_nativeApplicationOidcOptionsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVolumeResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVolumeResponse.h index 6c3f1856a33..e9200455eb5 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVolumeResponse.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVolumeResponse.h @@ -138,7 +138,7 @@ namespace Model ///@{ /** - *

    The entity that manages the volume.

    + *

    The service provider that manages the volume.

    */ inline const OperatorResponse& GetOperator() const{ return m_operator; } inline void SetOperator(const OperatorResponse& value) { m_operator = value; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVpcEndpointRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVpcEndpointRequest.h index ecd07db824b..4c378ab664b 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVpcEndpointRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateVpcEndpointRequest.h @@ -250,6 +250,36 @@ namespace Model inline CreateVpcEndpointRequest& AddSubnetConfigurations(SubnetConfiguration&& value) { m_subnetConfigurationsHasBeenSet = true; m_subnetConfigurations.push_back(std::move(value)); return *this; } ///@} + ///@{ + /** + *

    The Amazon Resource Name (ARN) of a service network that will be associated + * with the VPC endpoint of type service-network.

    + */ + inline const Aws::String& GetServiceNetworkArn() const{ return m_serviceNetworkArn; } + inline bool ServiceNetworkArnHasBeenSet() const { return m_serviceNetworkArnHasBeenSet; } + inline void SetServiceNetworkArn(const Aws::String& value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn = value; } + inline void SetServiceNetworkArn(Aws::String&& value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn = std::move(value); } + inline void SetServiceNetworkArn(const char* value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn.assign(value); } + inline CreateVpcEndpointRequest& WithServiceNetworkArn(const Aws::String& value) { SetServiceNetworkArn(value); return *this;} + inline CreateVpcEndpointRequest& WithServiceNetworkArn(Aws::String&& value) { SetServiceNetworkArn(std::move(value)); return *this;} + inline CreateVpcEndpointRequest& WithServiceNetworkArn(const char* value) { SetServiceNetworkArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of a resource configuration that will be + * associated with the VPC endpoint of type resource.

    + */ + inline const Aws::String& GetResourceConfigurationArn() const{ return m_resourceConfigurationArn; } + inline bool ResourceConfigurationArnHasBeenSet() const { return m_resourceConfigurationArnHasBeenSet; } + inline void SetResourceConfigurationArn(const Aws::String& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = value; } + inline void SetResourceConfigurationArn(Aws::String&& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = std::move(value); } + inline void SetResourceConfigurationArn(const char* value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn.assign(value); } + inline CreateVpcEndpointRequest& WithResourceConfigurationArn(const Aws::String& value) { SetResourceConfigurationArn(value); return *this;} + inline CreateVpcEndpointRequest& WithResourceConfigurationArn(Aws::String&& value) { SetResourceConfigurationArn(std::move(value)); return *this;} + inline CreateVpcEndpointRequest& WithResourceConfigurationArn(const char* value) { SetResourceConfigurationArn(value); return *this;} + ///@} + ///@{ /** *

    The Region where the service is hosted. The default is the current @@ -308,6 +338,12 @@ namespace Model Aws::Vector m_subnetConfigurations; bool m_subnetConfigurationsHasBeenSet = false; + Aws::String m_serviceNetworkArn; + bool m_serviceNetworkArnHasBeenSet = false; + + Aws::String m_resourceConfigurationArn; + bool m_resourceConfigurationArnHasBeenSet = false; + Aws::String m_serviceRegion; bool m_serviceRegionHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DeclarativePoliciesReport.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DeclarativePoliciesReport.h new file mode 100644 index 00000000000..0c3e69968ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DeclarativePoliciesReport.h @@ -0,0 +1,184 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the metadata of the account status report.

    See Also:

    + * AWS + * API Reference

    + */ + class DeclarativePoliciesReport + { + public: + AWS_EC2_API DeclarativePoliciesReport(); + AWS_EC2_API DeclarativePoliciesReport(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API DeclarativePoliciesReport& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The ID of the report.

    + */ + inline const Aws::String& GetReportId() const{ return m_reportId; } + inline bool ReportIdHasBeenSet() const { return m_reportIdHasBeenSet; } + inline void SetReportId(const Aws::String& value) { m_reportIdHasBeenSet = true; m_reportId = value; } + inline void SetReportId(Aws::String&& value) { m_reportIdHasBeenSet = true; m_reportId = std::move(value); } + inline void SetReportId(const char* value) { m_reportIdHasBeenSet = true; m_reportId.assign(value); } + inline DeclarativePoliciesReport& WithReportId(const Aws::String& value) { SetReportId(value); return *this;} + inline DeclarativePoliciesReport& WithReportId(Aws::String&& value) { SetReportId(std::move(value)); return *this;} + inline DeclarativePoliciesReport& WithReportId(const char* value) { SetReportId(value); return *this;} + ///@} + + ///@{ + /** + *

    The name of the Amazon S3 bucket where the report is located.

    + */ + inline const Aws::String& GetS3Bucket() const{ return m_s3Bucket; } + inline bool S3BucketHasBeenSet() const { return m_s3BucketHasBeenSet; } + inline void SetS3Bucket(const Aws::String& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = value; } + inline void SetS3Bucket(Aws::String&& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = std::move(value); } + inline void SetS3Bucket(const char* value) { m_s3BucketHasBeenSet = true; m_s3Bucket.assign(value); } + inline DeclarativePoliciesReport& WithS3Bucket(const Aws::String& value) { SetS3Bucket(value); return *this;} + inline DeclarativePoliciesReport& WithS3Bucket(Aws::String&& value) { SetS3Bucket(std::move(value)); return *this;} + inline DeclarativePoliciesReport& WithS3Bucket(const char* value) { SetS3Bucket(value); return *this;} + ///@} + + ///@{ + /** + *

    The prefix for your S3 object.

    + */ + inline const Aws::String& GetS3Prefix() const{ return m_s3Prefix; } + inline bool S3PrefixHasBeenSet() const { return m_s3PrefixHasBeenSet; } + inline void SetS3Prefix(const Aws::String& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = value; } + inline void SetS3Prefix(Aws::String&& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = std::move(value); } + inline void SetS3Prefix(const char* value) { m_s3PrefixHasBeenSet = true; m_s3Prefix.assign(value); } + inline DeclarativePoliciesReport& WithS3Prefix(const Aws::String& value) { SetS3Prefix(value); return *this;} + inline DeclarativePoliciesReport& WithS3Prefix(Aws::String&& value) { SetS3Prefix(std::move(value)); return *this;} + inline DeclarativePoliciesReport& WithS3Prefix(const char* value) { SetS3Prefix(value); return *this;} + ///@} + + ///@{ + /** + *

    The root ID, organizational unit ID, or account ID.

    Format:

      + *
    • For root: r-ab12

    • For OU: + * ou-ab12-cdef1234

    • For account: + * 123456789012

    + */ + inline const Aws::String& GetTargetId() const{ return m_targetId; } + inline bool TargetIdHasBeenSet() const { return m_targetIdHasBeenSet; } + inline void SetTargetId(const Aws::String& value) { m_targetIdHasBeenSet = true; m_targetId = value; } + inline void SetTargetId(Aws::String&& value) { m_targetIdHasBeenSet = true; m_targetId = std::move(value); } + inline void SetTargetId(const char* value) { m_targetIdHasBeenSet = true; m_targetId.assign(value); } + inline DeclarativePoliciesReport& WithTargetId(const Aws::String& value) { SetTargetId(value); return *this;} + inline DeclarativePoliciesReport& WithTargetId(Aws::String&& value) { SetTargetId(std::move(value)); return *this;} + inline DeclarativePoliciesReport& WithTargetId(const char* value) { SetTargetId(value); return *this;} + ///@} + + ///@{ + /** + *

    The time when the report generation started.

    + */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + inline DeclarativePoliciesReport& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + inline DeclarativePoliciesReport& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The time when the report generation ended.

    + */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } + inline DeclarativePoliciesReport& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + inline DeclarativePoliciesReport& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The current status of the report.

    + */ + inline const ReportState& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ReportState& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ReportState&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline DeclarativePoliciesReport& WithStatus(const ReportState& value) { SetStatus(value); return *this;} + inline DeclarativePoliciesReport& WithStatus(ReportState&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Any tags assigned to the report.

    + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline DeclarativePoliciesReport& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + inline DeclarativePoliciesReport& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + inline DeclarativePoliciesReport& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + inline DeclarativePoliciesReport& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_reportId; + bool m_reportIdHasBeenSet = false; + + Aws::String m_s3Bucket; + bool m_s3BucketHasBeenSet = false; + + Aws::String m_s3Prefix; + bool m_s3PrefixHasBeenSet = false; + + Aws::String m_targetId; + bool m_targetIdHasBeenSet = false; + + Aws::Utils::DateTime m_startTime; + bool m_startTimeHasBeenSet = false; + + Aws::Utils::DateTime m_endTime; + bool m_endTimeHasBeenSet = false; + + ReportState m_status; + bool m_statusHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeDeclarativePoliciesReportsRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeDeclarativePoliciesReportsRequest.h new file mode 100644 index 00000000000..54c5716cc38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeDeclarativePoliciesReportsRequest.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class DescribeDeclarativePoliciesReportsRequest : public EC2Request + { + public: + AWS_EC2_API DescribeDeclarativePoliciesReportsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DescribeDeclarativePoliciesReports"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline DescribeDeclarativePoliciesReportsRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + + ///@{ + /** + *

    The token returned from a previous paginated request. Pagination continues + * from the end of the items returned by the previous request.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline DescribeDeclarativePoliciesReportsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline DescribeDeclarativePoliciesReportsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline DescribeDeclarativePoliciesReportsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    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.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline DescribeDeclarativePoliciesReportsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

    One or more report IDs.

    + */ + inline const Aws::Vector& GetReportIds() const{ return m_reportIds; } + inline bool ReportIdsHasBeenSet() const { return m_reportIdsHasBeenSet; } + inline void SetReportIds(const Aws::Vector& value) { m_reportIdsHasBeenSet = true; m_reportIds = value; } + inline void SetReportIds(Aws::Vector&& value) { m_reportIdsHasBeenSet = true; m_reportIds = std::move(value); } + inline DescribeDeclarativePoliciesReportsRequest& WithReportIds(const Aws::Vector& value) { SetReportIds(value); return *this;} + inline DescribeDeclarativePoliciesReportsRequest& WithReportIds(Aws::Vector&& value) { SetReportIds(std::move(value)); return *this;} + inline DescribeDeclarativePoliciesReportsRequest& AddReportIds(const Aws::String& value) { m_reportIdsHasBeenSet = true; m_reportIds.push_back(value); return *this; } + inline DescribeDeclarativePoliciesReportsRequest& AddReportIds(Aws::String&& value) { m_reportIdsHasBeenSet = true; m_reportIds.push_back(std::move(value)); return *this; } + inline DescribeDeclarativePoliciesReportsRequest& AddReportIds(const char* value) { m_reportIdsHasBeenSet = true; m_reportIds.push_back(value); return *this; } + ///@} + private: + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::Vector m_reportIds; + bool m_reportIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeDeclarativePoliciesReportsResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeDeclarativePoliciesReportsResponse.h new file mode 100644 index 00000000000..ef052918e90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeDeclarativePoliciesReportsResponse.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class DescribeDeclarativePoliciesReportsResponse + { + public: + AWS_EC2_API DescribeDeclarativePoliciesReportsResponse(); + AWS_EC2_API DescribeDeclarativePoliciesReportsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API DescribeDeclarativePoliciesReportsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    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.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline DescribeDeclarativePoliciesReportsResponse& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline DescribeDeclarativePoliciesReportsResponse& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline DescribeDeclarativePoliciesReportsResponse& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The report metadata.

    + */ + inline const Aws::Vector& GetReports() const{ return m_reports; } + inline void SetReports(const Aws::Vector& value) { m_reports = value; } + inline void SetReports(Aws::Vector&& value) { m_reports = std::move(value); } + inline DescribeDeclarativePoliciesReportsResponse& WithReports(const Aws::Vector& value) { SetReports(value); return *this;} + inline DescribeDeclarativePoliciesReportsResponse& WithReports(Aws::Vector&& value) { SetReports(std::move(value)); return *this;} + inline DescribeDeclarativePoliciesReportsResponse& AddReports(const DeclarativePoliciesReport& value) { m_reports.push_back(value); return *this; } + inline DescribeDeclarativePoliciesReportsResponse& AddReports(DeclarativePoliciesReport&& value) { m_reports.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline DescribeDeclarativePoliciesReportsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline DescribeDeclarativePoliciesReportsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_reports; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeImagesRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeImagesRequest.h index e85960b122a..bd15f07e080 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeImagesRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeImagesRequest.h @@ -190,10 +190,12 @@ namespace Model * during image creation).

  • ena-support - A Boolean * that indicates whether enhanced networking with ENA is enabled.

  • *

    hypervisor - The hypervisor type (ovm | - * xen).

  • image-id - The ID of the - * image.

  • image-type - The image type - * (machine | kernel | ramdisk).

  • - *
  • is-public - A Boolean that indicates whether the image is + * xen).

  • image-allowed - A Boolean + * that indicates whether the image meets the criteria specified for Allowed + * AMIs.

  • image-id - The ID of the image.

  • + *
  • image-type - The image type (machine | + * kernel | ramdisk).

  • + * is-public - A Boolean that indicates whether the image is * public.

  • kernel-id - The kernel ID.

  • *
  • manifest-location - The location of the image * manifest.

  • name - The name of the AMI (provided @@ -214,9 +216,11 @@ namespace Model * the root device volume (for example, /dev/sda1).

  • * root-device-type - The type of the root device volume * (ebs | instance-store).

  • - * source-instance-id - The ID of the instance that the AMI was - * created from if the AMI was created using CreateImage. This filter is applicable - * only if the AMI was created using source-image-id - The ID of the source AMI from which the AMI was + * created.

  • source-image-region - The Region of the + * source AMI.

  • source-instance-id - The ID of the + * instance that the AMI was created from if the AMI was created using CreateImage. + * This filter is applicable only if the AMI was created using CreateImage.

    *
  • state - The state of the image * (available | pending | failed).

  • diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeInstanceImageMetadataRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeInstanceImageMetadataRequest.h index 6b9b69244bd..4c6afc377e7 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeInstanceImageMetadataRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeInstanceImageMetadataRequest.h @@ -44,6 +44,8 @@ namespace Model * the Availability Zone (for example, us-west-2a) or Local Zone (for * example, us-west-2-lax-1b) of the instance.

  • * instance-id - The ID of the instance.

  • + * image-allowed - A Boolean that indicates whether the image meets + * the criteria specified for Allowed AMIs.

  • * instance-state-name - The state of the instance * (pending | running | shutting-down | * terminated | stopping | stopped).

    @@ -52,10 +54,18 @@ namespace Model * when the instance was launched, in the ISO 8601 format in the UTC time zone * (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2023-09-29T11:04:43.305Z. * You can use a wildcard (*), for example, 2023-09-29T*, - * which matches an entire day.

  • tag:<key> - - * 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 + * which matches an entire day.

  • owner-alias - The + * owner alias (amazon | aws-marketplace | + * aws-backup-vault). The valid aliases are defined in an + * Amazon-maintained list. This is not the Amazon Web Services account alias that + * can be set using the IAM console. We recommend that you use the + * Owner request parameter instead of this filter.

  • + * owner-id - The Amazon Web Services account ID of the owner. We + * recommend that you use the Owner request parameter instead of this + * filter.

  • tag:<key> - 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 diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeSnapshotsRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeSnapshotsRequest.h index f767652328d..8a786346ab3 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeSnapshotsRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeSnapshotsRequest.h @@ -146,10 +146,12 @@ namespace Model * the snapshot (pending | completed | * error).

  • storage-tier - The storage * tier of the snapshot (archive | standard).

  • - *
  • tag:<key> - 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 + *

  • transfer-type - The type of operation used to create the + * snapshot (time-based | standard).

  • + * tag:<key> - 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 diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeVpcEndpointAssociationsRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeVpcEndpointAssociationsRequest.h new file mode 100644 index 00000000000..2080d37cfc9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeVpcEndpointAssociationsRequest.h @@ -0,0 +1,139 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class DescribeVpcEndpointAssociationsRequest : public EC2Request + { + public: + AWS_EC2_API DescribeVpcEndpointAssociationsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DescribeVpcEndpointAssociations"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline DescribeVpcEndpointAssociationsRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + + ///@{ + /** + *

    The IDs of the VPC endpoints.

    + */ + inline const Aws::Vector& GetVpcEndpointIds() const{ return m_vpcEndpointIds; } + inline bool VpcEndpointIdsHasBeenSet() const { return m_vpcEndpointIdsHasBeenSet; } + inline void SetVpcEndpointIds(const Aws::Vector& value) { m_vpcEndpointIdsHasBeenSet = true; m_vpcEndpointIds = value; } + inline void SetVpcEndpointIds(Aws::Vector&& value) { m_vpcEndpointIdsHasBeenSet = true; m_vpcEndpointIds = std::move(value); } + inline DescribeVpcEndpointAssociationsRequest& WithVpcEndpointIds(const Aws::Vector& value) { SetVpcEndpointIds(value); return *this;} + inline DescribeVpcEndpointAssociationsRequest& WithVpcEndpointIds(Aws::Vector&& value) { SetVpcEndpointIds(std::move(value)); return *this;} + inline DescribeVpcEndpointAssociationsRequest& AddVpcEndpointIds(const Aws::String& value) { m_vpcEndpointIdsHasBeenSet = true; m_vpcEndpointIds.push_back(value); return *this; } + inline DescribeVpcEndpointAssociationsRequest& AddVpcEndpointIds(Aws::String&& value) { m_vpcEndpointIdsHasBeenSet = true; m_vpcEndpointIds.push_back(std::move(value)); return *this; } + inline DescribeVpcEndpointAssociationsRequest& AddVpcEndpointIds(const char* value) { m_vpcEndpointIdsHasBeenSet = true; m_vpcEndpointIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    The filters.

    • vpc-endpoint-id - The ID of the + * VPC endpoint.

    • associated-resource-accessibility + * - The association state. When the state is accessible, it returns + * AVAILABLE. When the state is inaccessible, it returns + * PENDING or FAILED.

    • + * association-id - The ID of the VPC endpoint association.

    • + *
    • associated-resource-id - The ID of the associated resource + * configuration.

    • service-network-arn - The Amazon + * Resource Name (ARN) of the associated service network. Only VPC endpoints of + * type service network will be returned.

    • + * resource-configuration-group-arn - The Amazon Resource Name (ARN) + * of the resource configuration of type GROUP.

    • + * service-network-resource-association-id - The ID of the + * association.

    + */ + inline const Aws::Vector& GetFilters() const{ return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + inline void SetFilters(const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } + inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } + inline DescribeVpcEndpointAssociationsRequest& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} + inline DescribeVpcEndpointAssociationsRequest& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} + inline DescribeVpcEndpointAssociationsRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } + inline DescribeVpcEndpointAssociationsRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The maximum page size.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline DescribeVpcEndpointAssociationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

    The pagination token.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline DescribeVpcEndpointAssociationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline DescribeVpcEndpointAssociationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline DescribeVpcEndpointAssociationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + private: + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + + Aws::Vector m_vpcEndpointIds; + bool m_vpcEndpointIdsHasBeenSet = false; + + Aws::Vector m_filters; + bool m_filtersHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeVpcEndpointAssociationsResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeVpcEndpointAssociationsResponse.h new file mode 100644 index 00000000000..12ac51f0827 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeVpcEndpointAssociationsResponse.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class DescribeVpcEndpointAssociationsResponse + { + public: + AWS_EC2_API DescribeVpcEndpointAssociationsResponse(); + AWS_EC2_API DescribeVpcEndpointAssociationsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API DescribeVpcEndpointAssociationsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    Details of the endpoint associations.

    + */ + inline const Aws::Vector& GetVpcEndpointAssociations() const{ return m_vpcEndpointAssociations; } + inline void SetVpcEndpointAssociations(const Aws::Vector& value) { m_vpcEndpointAssociations = value; } + inline void SetVpcEndpointAssociations(Aws::Vector&& value) { m_vpcEndpointAssociations = std::move(value); } + inline DescribeVpcEndpointAssociationsResponse& WithVpcEndpointAssociations(const Aws::Vector& value) { SetVpcEndpointAssociations(value); return *this;} + inline DescribeVpcEndpointAssociationsResponse& WithVpcEndpointAssociations(Aws::Vector&& value) { SetVpcEndpointAssociations(std::move(value)); return *this;} + inline DescribeVpcEndpointAssociationsResponse& AddVpcEndpointAssociations(const VpcEndpointAssociation& value) { m_vpcEndpointAssociations.push_back(value); return *this; } + inline DescribeVpcEndpointAssociationsResponse& AddVpcEndpointAssociations(VpcEndpointAssociation&& value) { m_vpcEndpointAssociations.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The pagination token.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline DescribeVpcEndpointAssociationsResponse& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline DescribeVpcEndpointAssociationsResponse& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline DescribeVpcEndpointAssociationsResponse& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline DescribeVpcEndpointAssociationsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline DescribeVpcEndpointAssociationsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_vpcEndpointAssociations; + + Aws::String m_nextToken; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisableAllowedImagesSettingsRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisableAllowedImagesSettingsRequest.h new file mode 100644 index 00000000000..6da8be939a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisableAllowedImagesSettingsRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class DisableAllowedImagesSettingsRequest : public EC2Request + { + public: + AWS_EC2_API DisableAllowedImagesSettingsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DisableAllowedImagesSettings"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline DisableAllowedImagesSettingsRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + private: + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisableAllowedImagesSettingsResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisableAllowedImagesSettingsResponse.h new file mode 100644 index 00000000000..b41ef5fb523 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisableAllowedImagesSettingsResponse.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class DisableAllowedImagesSettingsResponse + { + public: + AWS_EC2_API DisableAllowedImagesSettingsResponse(); + AWS_EC2_API DisableAllowedImagesSettingsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API DisableAllowedImagesSettingsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    Returns disabled if the request succeeds; otherwise, it returns + * an error.

    + */ + inline const AllowedImagesSettingsDisabledState& GetAllowedImagesSettingsState() const{ return m_allowedImagesSettingsState; } + inline void SetAllowedImagesSettingsState(const AllowedImagesSettingsDisabledState& value) { m_allowedImagesSettingsState = value; } + inline void SetAllowedImagesSettingsState(AllowedImagesSettingsDisabledState&& value) { m_allowedImagesSettingsState = std::move(value); } + inline DisableAllowedImagesSettingsResponse& WithAllowedImagesSettingsState(const AllowedImagesSettingsDisabledState& value) { SetAllowedImagesSettingsState(value); return *this;} + inline DisableAllowedImagesSettingsResponse& WithAllowedImagesSettingsState(AllowedImagesSettingsDisabledState&& value) { SetAllowedImagesSettingsState(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline DisableAllowedImagesSettingsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline DisableAllowedImagesSettingsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + AllowedImagesSettingsDisabledState m_allowedImagesSettingsState; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EbsInstanceBlockDevice.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EbsInstanceBlockDevice.h index 797f0cd6e5b..e319fc0dc17 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EbsInstanceBlockDevice.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EbsInstanceBlockDevice.h @@ -123,7 +123,7 @@ namespace Model ///@{ /** - *

    The entity that manages the EBS volume.

    + *

    The service provider that manages the EBS volume.

    */ inline const OperatorResponse& GetOperator() const{ return m_operator; } inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EnableAllowedImagesSettingsRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EnableAllowedImagesSettingsRequest.h new file mode 100644 index 00000000000..f0f30b55e7d --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EnableAllowedImagesSettingsRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class EnableAllowedImagesSettingsRequest : public EC2Request + { + public: + AWS_EC2_API EnableAllowedImagesSettingsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EnableAllowedImagesSettings"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    Specify enabled to apply the image criteria specified by the + * Allowed AMIs settings. Specify audit-mode so that you can check + * which AMIs will be allowed or not allowed by the image criteria.

    + */ + inline const AllowedImagesSettingsEnabledState& GetAllowedImagesSettingsState() const{ return m_allowedImagesSettingsState; } + inline bool AllowedImagesSettingsStateHasBeenSet() const { return m_allowedImagesSettingsStateHasBeenSet; } + inline void SetAllowedImagesSettingsState(const AllowedImagesSettingsEnabledState& value) { m_allowedImagesSettingsStateHasBeenSet = true; m_allowedImagesSettingsState = value; } + inline void SetAllowedImagesSettingsState(AllowedImagesSettingsEnabledState&& value) { m_allowedImagesSettingsStateHasBeenSet = true; m_allowedImagesSettingsState = std::move(value); } + inline EnableAllowedImagesSettingsRequest& WithAllowedImagesSettingsState(const AllowedImagesSettingsEnabledState& value) { SetAllowedImagesSettingsState(value); return *this;} + inline EnableAllowedImagesSettingsRequest& WithAllowedImagesSettingsState(AllowedImagesSettingsEnabledState&& value) { SetAllowedImagesSettingsState(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline EnableAllowedImagesSettingsRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + private: + + AllowedImagesSettingsEnabledState m_allowedImagesSettingsState; + bool m_allowedImagesSettingsStateHasBeenSet = false; + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EnableAllowedImagesSettingsResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EnableAllowedImagesSettingsResponse.h new file mode 100644 index 00000000000..c223e4560fb --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EnableAllowedImagesSettingsResponse.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class EnableAllowedImagesSettingsResponse + { + public: + AWS_EC2_API EnableAllowedImagesSettingsResponse(); + AWS_EC2_API EnableAllowedImagesSettingsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API EnableAllowedImagesSettingsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    Returns enabled or audit-mode if the request + * succeeds; otherwise, it returns an error.

    + */ + inline const AllowedImagesSettingsEnabledState& GetAllowedImagesSettingsState() const{ return m_allowedImagesSettingsState; } + inline void SetAllowedImagesSettingsState(const AllowedImagesSettingsEnabledState& value) { m_allowedImagesSettingsState = value; } + inline void SetAllowedImagesSettingsState(AllowedImagesSettingsEnabledState&& value) { m_allowedImagesSettingsState = std::move(value); } + inline EnableAllowedImagesSettingsResponse& WithAllowedImagesSettingsState(const AllowedImagesSettingsEnabledState& value) { SetAllowedImagesSettingsState(value); return *this;} + inline EnableAllowedImagesSettingsResponse& WithAllowedImagesSettingsState(AllowedImagesSettingsEnabledState&& value) { SetAllowedImagesSettingsState(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline EnableAllowedImagesSettingsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline EnableAllowedImagesSettingsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + AllowedImagesSettingsEnabledState m_allowedImagesSettingsState; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ExportVerifiedAccessInstanceClientConfigurationRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ExportVerifiedAccessInstanceClientConfigurationRequest.h new file mode 100644 index 00000000000..b1aebd8a01d --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ExportVerifiedAccessInstanceClientConfigurationRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class ExportVerifiedAccessInstanceClientConfigurationRequest : public EC2Request + { + public: + AWS_EC2_API ExportVerifiedAccessInstanceClientConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ExportVerifiedAccessInstanceClientConfiguration"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    The ID of the Verified Access instance.

    + */ + inline const Aws::String& GetVerifiedAccessInstanceId() const{ return m_verifiedAccessInstanceId; } + inline bool VerifiedAccessInstanceIdHasBeenSet() const { return m_verifiedAccessInstanceIdHasBeenSet; } + inline void SetVerifiedAccessInstanceId(const Aws::String& value) { m_verifiedAccessInstanceIdHasBeenSet = true; m_verifiedAccessInstanceId = value; } + inline void SetVerifiedAccessInstanceId(Aws::String&& value) { m_verifiedAccessInstanceIdHasBeenSet = true; m_verifiedAccessInstanceId = std::move(value); } + inline void SetVerifiedAccessInstanceId(const char* value) { m_verifiedAccessInstanceIdHasBeenSet = true; m_verifiedAccessInstanceId.assign(value); } + inline ExportVerifiedAccessInstanceClientConfigurationRequest& WithVerifiedAccessInstanceId(const Aws::String& value) { SetVerifiedAccessInstanceId(value); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationRequest& WithVerifiedAccessInstanceId(Aws::String&& value) { SetVerifiedAccessInstanceId(std::move(value)); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationRequest& WithVerifiedAccessInstanceId(const char* value) { SetVerifiedAccessInstanceId(value); return *this;} + ///@} + + ///@{ + /** + *

    Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline ExportVerifiedAccessInstanceClientConfigurationRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + private: + + Aws::String m_verifiedAccessInstanceId; + bool m_verifiedAccessInstanceIdHasBeenSet = false; + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ExportVerifiedAccessInstanceClientConfigurationResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ExportVerifiedAccessInstanceClientConfigurationResponse.h new file mode 100644 index 00000000000..e8502bf8ed2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ExportVerifiedAccessInstanceClientConfigurationResponse.h @@ -0,0 +1,143 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class ExportVerifiedAccessInstanceClientConfigurationResponse + { + public: + AWS_EC2_API ExportVerifiedAccessInstanceClientConfigurationResponse(); + AWS_EC2_API ExportVerifiedAccessInstanceClientConfigurationResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API ExportVerifiedAccessInstanceClientConfigurationResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The version.

    + */ + inline const Aws::String& GetVersion() const{ return m_version; } + inline void SetVersion(const Aws::String& value) { m_version = value; } + inline void SetVersion(Aws::String&& value) { m_version = std::move(value); } + inline void SetVersion(const char* value) { m_version.assign(value); } + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithVersion(const char* value) { SetVersion(value); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the Verified Access instance.

    + */ + inline const Aws::String& GetVerifiedAccessInstanceId() const{ return m_verifiedAccessInstanceId; } + inline void SetVerifiedAccessInstanceId(const Aws::String& value) { m_verifiedAccessInstanceId = value; } + inline void SetVerifiedAccessInstanceId(Aws::String&& value) { m_verifiedAccessInstanceId = std::move(value); } + inline void SetVerifiedAccessInstanceId(const char* value) { m_verifiedAccessInstanceId.assign(value); } + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithVerifiedAccessInstanceId(const Aws::String& value) { SetVerifiedAccessInstanceId(value); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithVerifiedAccessInstanceId(Aws::String&& value) { SetVerifiedAccessInstanceId(std::move(value)); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithVerifiedAccessInstanceId(const char* value) { SetVerifiedAccessInstanceId(value); return *this;} + ///@} + + ///@{ + /** + *

    The Region.

    + */ + inline const Aws::String& GetRegion() const{ return m_region; } + inline void SetRegion(const Aws::String& value) { m_region = value; } + inline void SetRegion(Aws::String&& value) { m_region = std::move(value); } + inline void SetRegion(const char* value) { m_region.assign(value); } + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithRegion(const char* value) { SetRegion(value); return *this;} + ///@} + + ///@{ + /** + *

    The device trust providers.

    + */ + inline const Aws::Vector& GetDeviceTrustProviders() const{ return m_deviceTrustProviders; } + inline void SetDeviceTrustProviders(const Aws::Vector& value) { m_deviceTrustProviders = value; } + inline void SetDeviceTrustProviders(Aws::Vector&& value) { m_deviceTrustProviders = std::move(value); } + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithDeviceTrustProviders(const Aws::Vector& value) { SetDeviceTrustProviders(value); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithDeviceTrustProviders(Aws::Vector&& value) { SetDeviceTrustProviders(std::move(value)); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& AddDeviceTrustProviders(const DeviceTrustProviderType& value) { m_deviceTrustProviders.push_back(value); return *this; } + inline ExportVerifiedAccessInstanceClientConfigurationResponse& AddDeviceTrustProviders(DeviceTrustProviderType&& value) { m_deviceTrustProviders.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The user identity trust provider.

    + */ + inline const VerifiedAccessInstanceUserTrustProviderClientConfiguration& GetUserTrustProvider() const{ return m_userTrustProvider; } + inline void SetUserTrustProvider(const VerifiedAccessInstanceUserTrustProviderClientConfiguration& value) { m_userTrustProvider = value; } + inline void SetUserTrustProvider(VerifiedAccessInstanceUserTrustProviderClientConfiguration&& value) { m_userTrustProvider = std::move(value); } + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithUserTrustProvider(const VerifiedAccessInstanceUserTrustProviderClientConfiguration& value) { SetUserTrustProvider(value); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithUserTrustProvider(VerifiedAccessInstanceUserTrustProviderClientConfiguration&& value) { SetUserTrustProvider(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Open VPN configuration.

    + */ + inline const Aws::Vector& GetOpenVpnConfigurations() const{ return m_openVpnConfigurations; } + inline void SetOpenVpnConfigurations(const Aws::Vector& value) { m_openVpnConfigurations = value; } + inline void SetOpenVpnConfigurations(Aws::Vector&& value) { m_openVpnConfigurations = std::move(value); } + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithOpenVpnConfigurations(const Aws::Vector& value) { SetOpenVpnConfigurations(value); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithOpenVpnConfigurations(Aws::Vector&& value) { SetOpenVpnConfigurations(std::move(value)); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& AddOpenVpnConfigurations(const VerifiedAccessInstanceOpenVpnClientConfiguration& value) { m_openVpnConfigurations.push_back(value); return *this; } + inline ExportVerifiedAccessInstanceClientConfigurationResponse& AddOpenVpnConfigurations(VerifiedAccessInstanceOpenVpnClientConfiguration&& value) { m_openVpnConfigurations.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline ExportVerifiedAccessInstanceClientConfigurationResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_version; + + Aws::String m_verifiedAccessInstanceId; + + Aws::String m_region; + + Aws::Vector m_deviceTrustProviders; + + VerifiedAccessInstanceUserTrustProviderClientConfiguration m_userTrustProvider; + + Aws::Vector m_openVpnConfigurations; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetAllowedImagesSettingsRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetAllowedImagesSettingsRequest.h new file mode 100644 index 00000000000..c0f070eee9e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetAllowedImagesSettingsRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class GetAllowedImagesSettingsRequest : public EC2Request + { + public: + AWS_EC2_API GetAllowedImagesSettingsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetAllowedImagesSettings"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline GetAllowedImagesSettingsRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + private: + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetAllowedImagesSettingsResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetAllowedImagesSettingsResponse.h new file mode 100644 index 00000000000..8678cd8910e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetAllowedImagesSettingsResponse.h @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class GetAllowedImagesSettingsResponse + { + public: + AWS_EC2_API GetAllowedImagesSettingsResponse(); + AWS_EC2_API GetAllowedImagesSettingsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API GetAllowedImagesSettingsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The current state of the Allowed AMIs setting at the account level in the + * specified Amazon Web Services Region.

    Possible values:

    • + * disabled: All AMIs are allowed.

    • + * audit-mode: All AMIs are allowed, but the ImageAllowed + * field is set to true if the AMI would be allowed with the current + * list of criteria if allowed AMIs was enabled.

    • + * enabled: Only AMIs matching the image criteria are discoverable and + * available for use.

    + */ + inline const Aws::String& GetState() const{ return m_state; } + inline void SetState(const Aws::String& value) { m_state = value; } + inline void SetState(Aws::String&& value) { m_state = std::move(value); } + inline void SetState(const char* value) { m_state.assign(value); } + inline GetAllowedImagesSettingsResponse& WithState(const Aws::String& value) { SetState(value); return *this;} + inline GetAllowedImagesSettingsResponse& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;} + inline GetAllowedImagesSettingsResponse& WithState(const char* value) { SetState(value); return *this;} + ///@} + + ///@{ + /** + *

    The list of criteria for images that are discoverable and usable in the + * account in the specified Amazon Web Services Region.

    + */ + inline const Aws::Vector& GetImageCriteria() const{ return m_imageCriteria; } + inline void SetImageCriteria(const Aws::Vector& value) { m_imageCriteria = value; } + inline void SetImageCriteria(Aws::Vector&& value) { m_imageCriteria = std::move(value); } + inline GetAllowedImagesSettingsResponse& WithImageCriteria(const Aws::Vector& value) { SetImageCriteria(value); return *this;} + inline GetAllowedImagesSettingsResponse& WithImageCriteria(Aws::Vector&& value) { SetImageCriteria(std::move(value)); return *this;} + inline GetAllowedImagesSettingsResponse& AddImageCriteria(const ImageCriterion& value) { m_imageCriteria.push_back(value); return *this; } + inline GetAllowedImagesSettingsResponse& AddImageCriteria(ImageCriterion&& value) { m_imageCriteria.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The entity that manages the Allowed AMIs settings. Possible values + * include:

    • account - The Allowed AMIs settings is + * managed by the account.

    • declarative-policy - The + * Allowed AMIs settings is managed by a declarative policy and can't be modified + * by the account.

    + */ + inline const ManagedBy& GetManagedBy() const{ return m_managedBy; } + inline void SetManagedBy(const ManagedBy& value) { m_managedBy = value; } + inline void SetManagedBy(ManagedBy&& value) { m_managedBy = std::move(value); } + inline GetAllowedImagesSettingsResponse& WithManagedBy(const ManagedBy& value) { SetManagedBy(value); return *this;} + inline GetAllowedImagesSettingsResponse& WithManagedBy(ManagedBy&& value) { SetManagedBy(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline GetAllowedImagesSettingsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline GetAllowedImagesSettingsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_state; + + Aws::Vector m_imageCriteria; + + ManagedBy m_managedBy; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetDeclarativePoliciesReportSummaryRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetDeclarativePoliciesReportSummaryRequest.h new file mode 100644 index 00000000000..f36042a1441 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetDeclarativePoliciesReportSummaryRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class GetDeclarativePoliciesReportSummaryRequest : public EC2Request + { + public: + AWS_EC2_API GetDeclarativePoliciesReportSummaryRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetDeclarativePoliciesReportSummary"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline GetDeclarativePoliciesReportSummaryRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the report.

    + */ + inline const Aws::String& GetReportId() const{ return m_reportId; } + inline bool ReportIdHasBeenSet() const { return m_reportIdHasBeenSet; } + inline void SetReportId(const Aws::String& value) { m_reportIdHasBeenSet = true; m_reportId = value; } + inline void SetReportId(Aws::String&& value) { m_reportIdHasBeenSet = true; m_reportId = std::move(value); } + inline void SetReportId(const char* value) { m_reportIdHasBeenSet = true; m_reportId.assign(value); } + inline GetDeclarativePoliciesReportSummaryRequest& WithReportId(const Aws::String& value) { SetReportId(value); return *this;} + inline GetDeclarativePoliciesReportSummaryRequest& WithReportId(Aws::String&& value) { SetReportId(std::move(value)); return *this;} + inline GetDeclarativePoliciesReportSummaryRequest& WithReportId(const char* value) { SetReportId(value); return *this;} + ///@} + private: + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + + Aws::String m_reportId; + bool m_reportIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetDeclarativePoliciesReportSummaryResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetDeclarativePoliciesReportSummaryResponse.h new file mode 100644 index 00000000000..08fcdb7ce18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetDeclarativePoliciesReportSummaryResponse.h @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class GetDeclarativePoliciesReportSummaryResponse + { + public: + AWS_EC2_API GetDeclarativePoliciesReportSummaryResponse(); + AWS_EC2_API GetDeclarativePoliciesReportSummaryResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API GetDeclarativePoliciesReportSummaryResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ID of the report.

    + */ + inline const Aws::String& GetReportId() const{ return m_reportId; } + inline void SetReportId(const Aws::String& value) { m_reportId = value; } + inline void SetReportId(Aws::String&& value) { m_reportId = std::move(value); } + inline void SetReportId(const char* value) { m_reportId.assign(value); } + inline GetDeclarativePoliciesReportSummaryResponse& WithReportId(const Aws::String& value) { SetReportId(value); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithReportId(Aws::String&& value) { SetReportId(std::move(value)); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithReportId(const char* value) { SetReportId(value); return *this;} + ///@} + + ///@{ + /** + *

    The name of the Amazon S3 bucket where the report is located.

    + */ + inline const Aws::String& GetS3Bucket() const{ return m_s3Bucket; } + inline void SetS3Bucket(const Aws::String& value) { m_s3Bucket = value; } + inline void SetS3Bucket(Aws::String&& value) { m_s3Bucket = std::move(value); } + inline void SetS3Bucket(const char* value) { m_s3Bucket.assign(value); } + inline GetDeclarativePoliciesReportSummaryResponse& WithS3Bucket(const Aws::String& value) { SetS3Bucket(value); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithS3Bucket(Aws::String&& value) { SetS3Bucket(std::move(value)); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithS3Bucket(const char* value) { SetS3Bucket(value); return *this;} + ///@} + + ///@{ + /** + *

    The prefix for your S3 object.

    + */ + inline const Aws::String& GetS3Prefix() const{ return m_s3Prefix; } + inline void SetS3Prefix(const Aws::String& value) { m_s3Prefix = value; } + inline void SetS3Prefix(Aws::String&& value) { m_s3Prefix = std::move(value); } + inline void SetS3Prefix(const char* value) { m_s3Prefix.assign(value); } + inline GetDeclarativePoliciesReportSummaryResponse& WithS3Prefix(const Aws::String& value) { SetS3Prefix(value); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithS3Prefix(Aws::String&& value) { SetS3Prefix(std::move(value)); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithS3Prefix(const char* value) { SetS3Prefix(value); return *this;} + ///@} + + ///@{ + /** + *

    The root ID, organizational unit ID, or account ID.

    Format:

      + *
    • For root: r-ab12

    • For OU: + * ou-ab12-cdef1234

    • For account: + * 123456789012

    + */ + inline const Aws::String& GetTargetId() const{ return m_targetId; } + inline void SetTargetId(const Aws::String& value) { m_targetId = value; } + inline void SetTargetId(Aws::String&& value) { m_targetId = std::move(value); } + inline void SetTargetId(const char* value) { m_targetId.assign(value); } + inline GetDeclarativePoliciesReportSummaryResponse& WithTargetId(const Aws::String& value) { SetTargetId(value); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithTargetId(Aws::String&& value) { SetTargetId(std::move(value)); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithTargetId(const char* value) { SetTargetId(value); return *this;} + ///@} + + ///@{ + /** + *

    The time when the report generation started.

    + */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } + inline GetDeclarativePoliciesReportSummaryResponse& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The time when the report generation ended.

    + */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTime = std::move(value); } + inline GetDeclarativePoliciesReportSummaryResponse& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The total number of accounts associated with the specified + * targetId.

    + */ + inline int GetNumberOfAccounts() const{ return m_numberOfAccounts; } + inline void SetNumberOfAccounts(int value) { m_numberOfAccounts = value; } + inline GetDeclarativePoliciesReportSummaryResponse& WithNumberOfAccounts(int value) { SetNumberOfAccounts(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of accounts where attributes could not be retrieved in any + * Region.

    + */ + inline int GetNumberOfFailedAccounts() const{ return m_numberOfFailedAccounts; } + inline void SetNumberOfFailedAccounts(int value) { m_numberOfFailedAccounts = value; } + inline GetDeclarativePoliciesReportSummaryResponse& WithNumberOfFailedAccounts(int value) { SetNumberOfFailedAccounts(value); return *this;} + ///@} + + ///@{ + /** + *

    The attributes described in the report.

    + */ + inline const Aws::Vector& GetAttributeSummaries() const{ return m_attributeSummaries; } + inline void SetAttributeSummaries(const Aws::Vector& value) { m_attributeSummaries = value; } + inline void SetAttributeSummaries(Aws::Vector&& value) { m_attributeSummaries = std::move(value); } + inline GetDeclarativePoliciesReportSummaryResponse& WithAttributeSummaries(const Aws::Vector& value) { SetAttributeSummaries(value); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithAttributeSummaries(Aws::Vector&& value) { SetAttributeSummaries(std::move(value)); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& AddAttributeSummaries(const AttributeSummary& value) { m_attributeSummaries.push_back(value); return *this; } + inline GetDeclarativePoliciesReportSummaryResponse& AddAttributeSummaries(AttributeSummary&& value) { m_attributeSummaries.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline GetDeclarativePoliciesReportSummaryResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline GetDeclarativePoliciesReportSummaryResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_reportId; + + Aws::String m_s3Bucket; + + Aws::String m_s3Prefix; + + Aws::String m_targetId; + + Aws::Utils::DateTime m_startTime; + + Aws::Utils::DateTime m_endTime; + + int m_numberOfAccounts; + + int m_numberOfFailedAccounts; + + Aws::Vector m_attributeSummaries; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetImageBlockPublicAccessStateResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetImageBlockPublicAccessStateResponse.h index 18f4c38285f..6dda94dba72 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetImageBlockPublicAccessStateResponse.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetImageBlockPublicAccessStateResponse.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -50,6 +51,21 @@ namespace Model inline GetImageBlockPublicAccessStateResponse& WithImageBlockPublicAccessState(const char* value) { SetImageBlockPublicAccessState(value); return *this;} ///@} + ///@{ + /** + *

    The entity that manages the state for block public access for AMIs. Possible + * values include:

    • account - The state is managed by + * the account.

    • declarative-policy - The state is + * managed by a declarative policy and can't be modified by the account.

    • + *
    + */ + inline const ManagedBy& GetManagedBy() const{ return m_managedBy; } + inline void SetManagedBy(const ManagedBy& value) { m_managedBy = value; } + inline void SetManagedBy(ManagedBy&& value) { m_managedBy = std::move(value); } + inline GetImageBlockPublicAccessStateResponse& WithManagedBy(const ManagedBy& value) { SetManagedBy(value); return *this;} + inline GetImageBlockPublicAccessStateResponse& WithManagedBy(ManagedBy&& value) { SetManagedBy(std::move(value)); return *this;} + ///@} + ///@{ inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } @@ -62,6 +78,8 @@ namespace Model Aws::String m_imageBlockPublicAccessState; + ManagedBy m_managedBy; + ResponseMetadata m_responseMetadata; }; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetSerialConsoleAccessStatusResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetSerialConsoleAccessStatusResponse.h index 548c548b887..fed230236b6 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetSerialConsoleAccessStatusResponse.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetSerialConsoleAccessStatusResponse.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include @@ -43,6 +44,20 @@ namespace Model inline GetSerialConsoleAccessStatusResponse& WithSerialConsoleAccessEnabled(bool value) { SetSerialConsoleAccessEnabled(value); return *this;} ///@} + ///@{ + /** + *

    The entity that manages access to the serial console. Possible values + * include:

    • account - Access is managed by the + * account.

    • declarative-policy - Access is managed + * by a declarative policy and can't be modified by the account.

    + */ + inline const ManagedBy& GetManagedBy() const{ return m_managedBy; } + inline void SetManagedBy(const ManagedBy& value) { m_managedBy = value; } + inline void SetManagedBy(ManagedBy&& value) { m_managedBy = std::move(value); } + inline GetSerialConsoleAccessStatusResponse& WithManagedBy(const ManagedBy& value) { SetManagedBy(value); return *this;} + inline GetSerialConsoleAccessStatusResponse& WithManagedBy(ManagedBy&& value) { SetManagedBy(std::move(value)); return *this;} + ///@} + ///@{ inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } @@ -55,6 +70,8 @@ namespace Model bool m_serialConsoleAccessEnabled; + ManagedBy m_managedBy; + ResponseMetadata m_responseMetadata; }; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetSnapshotBlockPublicAccessStateResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetSnapshotBlockPublicAccessStateResponse.h index 92e668142aa..12f1242edcf 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetSnapshotBlockPublicAccessStateResponse.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetSnapshotBlockPublicAccessStateResponse.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -53,6 +54,21 @@ namespace Model inline GetSnapshotBlockPublicAccessStateResponse& WithState(SnapshotBlockPublicAccessState&& value) { SetState(std::move(value)); return *this;} ///@} + ///@{ + /** + *

    The entity that manages the state for block public access for snapshots. + * Possible values include:

    • account - The state is + * managed by the account.

    • declarative-policy - The + * state is managed by a declarative policy and can't be modified by the + * account.

    + */ + inline const ManagedBy& GetManagedBy() const{ return m_managedBy; } + inline void SetManagedBy(const ManagedBy& value) { m_managedBy = value; } + inline void SetManagedBy(ManagedBy&& value) { m_managedBy = std::move(value); } + inline GetSnapshotBlockPublicAccessStateResponse& WithManagedBy(const ManagedBy& value) { SetManagedBy(value); return *this;} + inline GetSnapshotBlockPublicAccessStateResponse& WithManagedBy(ManagedBy&& value) { SetManagedBy(std::move(value)); return *this;} + ///@} + ///@{ inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } @@ -65,6 +81,8 @@ namespace Model SnapshotBlockPublicAccessState m_state; + ManagedBy m_managedBy; + ResponseMetadata m_responseMetadata; }; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetVerifiedAccessEndpointTargetsRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetVerifiedAccessEndpointTargetsRequest.h new file mode 100644 index 00000000000..f93b200a099 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetVerifiedAccessEndpointTargetsRequest.h @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class GetVerifiedAccessEndpointTargetsRequest : public EC2Request + { + public: + AWS_EC2_API GetVerifiedAccessEndpointTargetsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetVerifiedAccessEndpointTargets"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    The ID of the network CIDR endpoint.

    + */ + inline const Aws::String& GetVerifiedAccessEndpointId() const{ return m_verifiedAccessEndpointId; } + inline bool VerifiedAccessEndpointIdHasBeenSet() const { return m_verifiedAccessEndpointIdHasBeenSet; } + inline void SetVerifiedAccessEndpointId(const Aws::String& value) { m_verifiedAccessEndpointIdHasBeenSet = true; m_verifiedAccessEndpointId = value; } + inline void SetVerifiedAccessEndpointId(Aws::String&& value) { m_verifiedAccessEndpointIdHasBeenSet = true; m_verifiedAccessEndpointId = std::move(value); } + inline void SetVerifiedAccessEndpointId(const char* value) { m_verifiedAccessEndpointIdHasBeenSet = true; m_verifiedAccessEndpointId.assign(value); } + inline GetVerifiedAccessEndpointTargetsRequest& WithVerifiedAccessEndpointId(const Aws::String& value) { SetVerifiedAccessEndpointId(value); return *this;} + inline GetVerifiedAccessEndpointTargetsRequest& WithVerifiedAccessEndpointId(Aws::String&& value) { SetVerifiedAccessEndpointId(std::move(value)); return *this;} + inline GetVerifiedAccessEndpointTargetsRequest& WithVerifiedAccessEndpointId(const char* value) { SetVerifiedAccessEndpointId(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to return with a single call. To retrieve the + * remaining results, make another call with the returned nextToken + * value.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline GetVerifiedAccessEndpointTargetsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

    The token for the next page of results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline GetVerifiedAccessEndpointTargetsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline GetVerifiedAccessEndpointTargetsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline GetVerifiedAccessEndpointTargetsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline GetVerifiedAccessEndpointTargetsRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + private: + + Aws::String m_verifiedAccessEndpointId; + bool m_verifiedAccessEndpointIdHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetVerifiedAccessEndpointTargetsResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetVerifiedAccessEndpointTargetsResponse.h new file mode 100644 index 00000000000..2faf5eb60e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/GetVerifiedAccessEndpointTargetsResponse.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class GetVerifiedAccessEndpointTargetsResponse + { + public: + AWS_EC2_API GetVerifiedAccessEndpointTargetsResponse(); + AWS_EC2_API GetVerifiedAccessEndpointTargetsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API GetVerifiedAccessEndpointTargetsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The Verified Access targets.

    + */ + inline const Aws::Vector& GetVerifiedAccessEndpointTargets() const{ return m_verifiedAccessEndpointTargets; } + inline void SetVerifiedAccessEndpointTargets(const Aws::Vector& value) { m_verifiedAccessEndpointTargets = value; } + inline void SetVerifiedAccessEndpointTargets(Aws::Vector&& value) { m_verifiedAccessEndpointTargets = std::move(value); } + inline GetVerifiedAccessEndpointTargetsResponse& WithVerifiedAccessEndpointTargets(const Aws::Vector& value) { SetVerifiedAccessEndpointTargets(value); return *this;} + inline GetVerifiedAccessEndpointTargetsResponse& WithVerifiedAccessEndpointTargets(Aws::Vector&& value) { SetVerifiedAccessEndpointTargets(std::move(value)); return *this;} + inline GetVerifiedAccessEndpointTargetsResponse& AddVerifiedAccessEndpointTargets(const VerifiedAccessEndpointTarget& value) { m_verifiedAccessEndpointTargets.push_back(value); return *this; } + inline GetVerifiedAccessEndpointTargetsResponse& AddVerifiedAccessEndpointTargets(VerifiedAccessEndpointTarget&& value) { m_verifiedAccessEndpointTargets.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline GetVerifiedAccessEndpointTargetsResponse& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline GetVerifiedAccessEndpointTargetsResponse& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline GetVerifiedAccessEndpointTargetsResponse& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline GetVerifiedAccessEndpointTargetsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline GetVerifiedAccessEndpointTargetsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_verifiedAccessEndpointTargets; + + Aws::String m_nextToken; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Image.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Image.h index 2067810f641..8e850817905 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Image.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Image.h @@ -370,6 +370,24 @@ namespace Model inline Image& WithLastLaunchedTime(const char* value) { SetLastLaunchedTime(value); return *this;} ///@} + ///@{ + /** + *

    If true, the AMI satisfies the criteria for Allowed AMIs and can + * be discovered and used in the account. If false and Allowed AMIs is + * set to enabled, the AMI can't be discovered or used in the account. + * If false and Allowed AMIs is set to audit-mode, the + * AMI can be discovered and used in the account.

    For more information, see + * Control + * the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon + * EC2 User Guide.

    + */ + inline bool GetImageAllowed() const{ return m_imageAllowed; } + inline bool ImageAllowedHasBeenSet() const { return m_imageAllowedHasBeenSet; } + inline void SetImageAllowed(bool value) { m_imageAllowedHasBeenSet = true; m_imageAllowed = value; } + inline Image& WithImageAllowed(bool value) { SetImageAllowed(value); return *this;} + ///@} + ///@{ /** *

    The ID of the source AMI from which the AMI was created.

    The ID only @@ -638,6 +656,9 @@ namespace Model Aws::String m_lastLaunchedTime; bool m_lastLaunchedTimeHasBeenSet = false; + bool m_imageAllowed; + bool m_imageAllowedHasBeenSet = false; + Aws::String m_sourceImageId; bool m_sourceImageIdHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageCriterion.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageCriterion.h new file mode 100644 index 00000000000..91b6682dc3b --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageCriterion.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    The list of criteria that are evaluated to determine whch AMIs are + * discoverable and usable in the account in the specified Amazon Web Services + * Region. Currently, the only criteria that can be specified are AMI providers. + *

    Up to 10 imageCriteria objects can be specified, and up to + * a total of 200 values for all imageProviders. For more information, + * see JSON + * configuration for the Allowed AMIs criteria in the Amazon EC2 User + * Guide.

    See Also:

    AWS + * API Reference

    + */ + class ImageCriterion + { + public: + AWS_EC2_API ImageCriterion(); + AWS_EC2_API ImageCriterion(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API ImageCriterion& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    A list of AMI providers whose AMIs are discoverable and useable in the + * account. Up to a total of 200 values can be specified.

    Possible + * values:

    amazon: Allow AMIs created by Amazon Web + * Services.

    aws-marketplace: Allow AMIs created by verified + * providers in the Amazon Web Services Marketplace.

    + * aws-backup-vault: Allow AMIs created by Amazon Web Services Backup. + *

    12-digit account ID: Allow AMIs created by this account. One or more + * account IDs can be specified.

    none: Allow AMIs created by + * your own account only.

    + */ + inline const Aws::Vector& GetImageProviders() const{ return m_imageProviders; } + inline bool ImageProvidersHasBeenSet() const { return m_imageProvidersHasBeenSet; } + inline void SetImageProviders(const Aws::Vector& value) { m_imageProvidersHasBeenSet = true; m_imageProviders = value; } + inline void SetImageProviders(Aws::Vector&& value) { m_imageProvidersHasBeenSet = true; m_imageProviders = std::move(value); } + inline ImageCriterion& WithImageProviders(const Aws::Vector& value) { SetImageProviders(value); return *this;} + inline ImageCriterion& WithImageProviders(Aws::Vector&& value) { SetImageProviders(std::move(value)); return *this;} + inline ImageCriterion& AddImageProviders(const Aws::String& value) { m_imageProvidersHasBeenSet = true; m_imageProviders.push_back(value); return *this; } + inline ImageCriterion& AddImageProviders(Aws::String&& value) { m_imageProvidersHasBeenSet = true; m_imageProviders.push_back(std::move(value)); return *this; } + inline ImageCriterion& AddImageProviders(const char* value) { m_imageProvidersHasBeenSet = true; m_imageProviders.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_imageProviders; + bool m_imageProvidersHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageCriterionRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageCriterionRequest.h new file mode 100644 index 00000000000..84cc915d54c --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageCriterionRequest.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    The list of criteria that are evaluated to determine whch AMIs are + * discoverable and usable in the account in the specified Amazon Web Services + * Region. Currently, the only criteria that can be specified are AMI providers. + *

    Up to 10 imageCriteria objects can be specified, and up to + * a total of 200 values for all imageProviders. For more information, + * see JSON + * configuration for the Allowed AMIs criteria in the Amazon EC2 User + * Guide.

    See Also:

    AWS + * API Reference

    + */ + class ImageCriterionRequest + { + public: + AWS_EC2_API ImageCriterionRequest(); + AWS_EC2_API ImageCriterionRequest(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API ImageCriterionRequest& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    A list of image providers whose AMIs are discoverable and useable in the + * account. Up to a total of 200 values can be specified.

    Possible + * values:

    amazon: Allow AMIs created by Amazon Web + * Services.

    aws-marketplace: Allow AMIs created by verified + * providers in the Amazon Web Services Marketplace.

    + * aws-backup-vault: Allow AMIs created by Amazon Web Services Backup. + *

    12-digit account ID: Allow AMIs created by this account. One or more + * account IDs can be specified.

    none: Allow AMIs created by + * your own account only. When none is specified, no other values can + * be specified.

    + */ + inline const Aws::Vector& GetImageProviders() const{ return m_imageProviders; } + inline bool ImageProvidersHasBeenSet() const { return m_imageProvidersHasBeenSet; } + inline void SetImageProviders(const Aws::Vector& value) { m_imageProvidersHasBeenSet = true; m_imageProviders = value; } + inline void SetImageProviders(Aws::Vector&& value) { m_imageProvidersHasBeenSet = true; m_imageProviders = std::move(value); } + inline ImageCriterionRequest& WithImageProviders(const Aws::Vector& value) { SetImageProviders(value); return *this;} + inline ImageCriterionRequest& WithImageProviders(Aws::Vector&& value) { SetImageProviders(std::move(value)); return *this;} + inline ImageCriterionRequest& AddImageProviders(const Aws::String& value) { m_imageProvidersHasBeenSet = true; m_imageProviders.push_back(value); return *this; } + inline ImageCriterionRequest& AddImageProviders(Aws::String&& value) { m_imageProvidersHasBeenSet = true; m_imageProviders.push_back(std::move(value)); return *this; } + inline ImageCriterionRequest& AddImageProviders(const char* value) { m_imageProvidersHasBeenSet = true; m_imageProviders.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_imageProviders; + bool m_imageProvidersHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageMetadata.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageMetadata.h index 5b82af96852..79a228dcb79 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageMetadata.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ImageMetadata.h @@ -139,6 +139,21 @@ namespace Model inline ImageMetadata& WithDeprecationTime(const char* value) { SetDeprecationTime(value); return *this;} ///@} + ///@{ + /** + *

    If true, the AMI satisfies the criteria for Allowed AMIs and can + * be discovered and used in the account. If false, the AMI can't be + * discovered or used in the account.

    For more information, see Control + * the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon + * EC2 User Guide.

    + */ + inline bool GetImageAllowed() const{ return m_imageAllowed; } + inline bool ImageAllowedHasBeenSet() const { return m_imageAllowedHasBeenSet; } + inline void SetImageAllowed(bool value) { m_imageAllowedHasBeenSet = true; m_imageAllowed = value; } + inline ImageMetadata& WithImageAllowed(bool value) { SetImageAllowed(value); return *this;} + ///@} + ///@{ /** *

    Indicates whether the AMI has public launch permissions. A value of @@ -174,6 +189,9 @@ namespace Model Aws::String m_deprecationTime; bool m_deprecationTimeHasBeenSet = false; + bool m_imageAllowed; + bool m_imageAllowedHasBeenSet = false; + bool m_isPublic; bool m_isPublicHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Instance.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Instance.h index c258677bdcf..0ac41c905e3 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Instance.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Instance.h @@ -575,7 +575,7 @@ namespace Model ///@{ /** - *

    The entity that manages the instance.

    + *

    The service provider that manages the instance.

    */ inline const OperatorResponse& GetOperator() const{ return m_operator; } inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceMetadataDefaultsResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceMetadataDefaultsResponse.h index c8aa0f780e9..4104dcdf7d6 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceMetadataDefaultsResponse.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceMetadataDefaultsResponse.h @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -96,6 +98,37 @@ namespace Model inline InstanceMetadataDefaultsResponse& WithInstanceMetadataTags(const InstanceMetadataTagsState& value) { SetInstanceMetadataTags(value); return *this;} inline InstanceMetadataDefaultsResponse& WithInstanceMetadataTags(InstanceMetadataTagsState&& value) { SetInstanceMetadataTags(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    The entity that manages the IMDS default settings. Possible values + * include:

    • account - The IMDS default settings are + * managed by the account.

    • declarative-policy - The + * IMDS default settings are managed by a declarative policy and can't be modified + * by the account.

    + */ + inline const ManagedBy& GetManagedBy() const{ return m_managedBy; } + inline bool ManagedByHasBeenSet() const { return m_managedByHasBeenSet; } + inline void SetManagedBy(const ManagedBy& value) { m_managedByHasBeenSet = true; m_managedBy = value; } + inline void SetManagedBy(ManagedBy&& value) { m_managedByHasBeenSet = true; m_managedBy = std::move(value); } + inline InstanceMetadataDefaultsResponse& WithManagedBy(const ManagedBy& value) { SetManagedBy(value); return *this;} + inline InstanceMetadataDefaultsResponse& WithManagedBy(ManagedBy&& value) { SetManagedBy(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The customized exception message that is specified in the declarative + * policy.

    + */ + inline const Aws::String& GetManagedExceptionMessage() const{ return m_managedExceptionMessage; } + inline bool ManagedExceptionMessageHasBeenSet() const { return m_managedExceptionMessageHasBeenSet; } + inline void SetManagedExceptionMessage(const Aws::String& value) { m_managedExceptionMessageHasBeenSet = true; m_managedExceptionMessage = value; } + inline void SetManagedExceptionMessage(Aws::String&& value) { m_managedExceptionMessageHasBeenSet = true; m_managedExceptionMessage = std::move(value); } + inline void SetManagedExceptionMessage(const char* value) { m_managedExceptionMessageHasBeenSet = true; m_managedExceptionMessage.assign(value); } + inline InstanceMetadataDefaultsResponse& WithManagedExceptionMessage(const Aws::String& value) { SetManagedExceptionMessage(value); return *this;} + inline InstanceMetadataDefaultsResponse& WithManagedExceptionMessage(Aws::String&& value) { SetManagedExceptionMessage(std::move(value)); return *this;} + inline InstanceMetadataDefaultsResponse& WithManagedExceptionMessage(const char* value) { SetManagedExceptionMessage(value); return *this;} + ///@} private: HttpTokensState m_httpTokens; @@ -109,6 +142,12 @@ namespace Model InstanceMetadataTagsState m_instanceMetadataTags; bool m_instanceMetadataTagsHasBeenSet = false; + + ManagedBy m_managedBy; + bool m_managedByHasBeenSet = false; + + Aws::String m_managedExceptionMessage; + bool m_managedExceptionMessageHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h index fe7870f14b4..c0f603a88d7 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h @@ -313,7 +313,7 @@ namespace Model ///@{ /** - *

    The entity that manages the network interface.

    + *

    The service provider that manages the network interface.

    */ inline const OperatorResponse& GetOperator() const{ return m_operator; } inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceStatus.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceStatus.h index 6a63bf151fd..b3524e0428f 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceStatus.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceStatus.h @@ -75,7 +75,7 @@ namespace Model ///@{ /** - *

    The entity that manages the instance.

    + *

    The service provider that manages the instance.

    */ inline const OperatorResponse& GetOperator() const{ return m_operator; } inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceType.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceType.h index 1ee7b9fe7b2..235cc58edf7 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceType.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceType.h @@ -879,7 +879,25 @@ namespace Model x8g_24xlarge, x8g_48xlarge, x8g_metal_24xl, - x8g_metal_48xl + x8g_metal_48xl, + i7ie_large, + i7ie_xlarge, + i7ie_2xlarge, + i7ie_3xlarge, + i7ie_6xlarge, + i7ie_12xlarge, + i7ie_18xlarge, + i7ie_24xlarge, + i7ie_48xlarge, + i8g_large, + i8g_xlarge, + i8g_2xlarge, + i8g_4xlarge, + i8g_8xlarge, + i8g_12xlarge, + i8g_16xlarge, + i8g_24xlarge, + i8g_metal_24xl }; namespace InstanceTypeMapper diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ManagedBy.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ManagedBy.h new file mode 100644 index 00000000000..da8366a301d --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ManagedBy.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + enum class ManagedBy + { + NOT_SET, + account, + declarative_policy + }; + +namespace ManagedByMapper +{ +AWS_EC2_API ManagedBy GetManagedByForName(const Aws::String& name); + +AWS_EC2_API Aws::String GetNameForManagedBy(ManagedBy value); +} // namespace ManagedByMapper +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointCidrOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointCidrOptions.h new file mode 100644 index 00000000000..d0bd633df25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointCidrOptions.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    The CIDR options for a Verified Access endpoint.

    See Also:

    + * AWS + * API Reference

    + */ + class ModifyVerifiedAccessEndpointCidrOptions + { + public: + AWS_EC2_API ModifyVerifiedAccessEndpointCidrOptions(); + AWS_EC2_API ModifyVerifiedAccessEndpointCidrOptions(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API ModifyVerifiedAccessEndpointCidrOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The port ranges.

    + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } + inline ModifyVerifiedAccessEndpointCidrOptions& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline ModifyVerifiedAccessEndpointCidrOptions& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline ModifyVerifiedAccessEndpointCidrOptions& AddPortRanges(const ModifyVerifiedAccessEndpointPortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + inline ModifyVerifiedAccessEndpointCidrOptions& AddPortRanges(ModifyVerifiedAccessEndpointPortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_portRanges; + bool m_portRangesHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointEniOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointEniOptions.h index 0184e23e570..5af82463e5f 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointEniOptions.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointEniOptions.h @@ -7,6 +7,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -61,6 +63,20 @@ namespace Model inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } inline ModifyVerifiedAccessEndpointEniOptions& WithPort(int value) { SetPort(value); return *this;} ///@} + + ///@{ + /** + *

    The port ranges.

    + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } + inline ModifyVerifiedAccessEndpointEniOptions& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline ModifyVerifiedAccessEndpointEniOptions& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline ModifyVerifiedAccessEndpointEniOptions& AddPortRanges(const ModifyVerifiedAccessEndpointPortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + inline ModifyVerifiedAccessEndpointEniOptions& AddPortRanges(ModifyVerifiedAccessEndpointPortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } + ///@} private: VerifiedAccessEndpointProtocol m_protocol; @@ -68,6 +84,9 @@ namespace Model int m_port; bool m_portHasBeenSet = false; + + Aws::Vector m_portRanges; + bool m_portRangesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointLoadBalancerOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointLoadBalancerOptions.h index 8aa2736f058..4d58e94d968 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointLoadBalancerOptions.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointLoadBalancerOptions.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -79,6 +80,20 @@ namespace Model inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } inline ModifyVerifiedAccessEndpointLoadBalancerOptions& WithPort(int value) { SetPort(value); return *this;} ///@} + + ///@{ + /** + *

    The port ranges.

    + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } + inline ModifyVerifiedAccessEndpointLoadBalancerOptions& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline ModifyVerifiedAccessEndpointLoadBalancerOptions& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline ModifyVerifiedAccessEndpointLoadBalancerOptions& AddPortRanges(const ModifyVerifiedAccessEndpointPortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + inline ModifyVerifiedAccessEndpointLoadBalancerOptions& AddPortRanges(ModifyVerifiedAccessEndpointPortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } + ///@} private: Aws::Vector m_subnetIds; @@ -89,6 +104,9 @@ namespace Model int m_port; bool m_portHasBeenSet = false; + + Aws::Vector m_portRanges; + bool m_portRangesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointPortRange.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointPortRange.h new file mode 100644 index 00000000000..979e8d6265e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointPortRange.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the port range for a Verified Access endpoint.

    See + * Also:

    AWS + * API Reference

    + */ + class ModifyVerifiedAccessEndpointPortRange + { + public: + AWS_EC2_API ModifyVerifiedAccessEndpointPortRange(); + AWS_EC2_API ModifyVerifiedAccessEndpointPortRange(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API ModifyVerifiedAccessEndpointPortRange& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The start of the port range.

    + */ + inline int GetFromPort() const{ return m_fromPort; } + inline bool FromPortHasBeenSet() const { return m_fromPortHasBeenSet; } + inline void SetFromPort(int value) { m_fromPortHasBeenSet = true; m_fromPort = value; } + inline ModifyVerifiedAccessEndpointPortRange& WithFromPort(int value) { SetFromPort(value); return *this;} + ///@} + + ///@{ + /** + *

    The end of the port range.

    + */ + inline int GetToPort() const{ return m_toPort; } + inline bool ToPortHasBeenSet() const { return m_toPortHasBeenSet; } + inline void SetToPort(int value) { m_toPortHasBeenSet = true; m_toPort = value; } + inline ModifyVerifiedAccessEndpointPortRange& WithToPort(int value) { SetToPort(value); return *this;} + ///@} + private: + + int m_fromPort; + bool m_fromPortHasBeenSet = false; + + int m_toPort; + bool m_toPortHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointRdsOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointRdsOptions.h new file mode 100644 index 00000000000..400bbbc5864 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointRdsOptions.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    The RDS options for a Verified Access endpoint.

    See Also:

    AWS + * API Reference

    + */ + class ModifyVerifiedAccessEndpointRdsOptions + { + public: + AWS_EC2_API ModifyVerifiedAccessEndpointRdsOptions(); + AWS_EC2_API ModifyVerifiedAccessEndpointRdsOptions(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API ModifyVerifiedAccessEndpointRdsOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The IDs of the subnets.

    + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline ModifyVerifiedAccessEndpointRdsOptions& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline ModifyVerifiedAccessEndpointRdsOptions& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline ModifyVerifiedAccessEndpointRdsOptions& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline ModifyVerifiedAccessEndpointRdsOptions& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline ModifyVerifiedAccessEndpointRdsOptions& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    The port.

    + */ + inline int GetPort() const{ return m_port; } + inline bool PortHasBeenSet() const { return m_portHasBeenSet; } + inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } + inline ModifyVerifiedAccessEndpointRdsOptions& WithPort(int value) { SetPort(value); return *this;} + ///@} + + ///@{ + /** + *

    The RDS endpoint.

    + */ + inline const Aws::String& GetRdsEndpoint() const{ return m_rdsEndpoint; } + inline bool RdsEndpointHasBeenSet() const { return m_rdsEndpointHasBeenSet; } + inline void SetRdsEndpoint(const Aws::String& value) { m_rdsEndpointHasBeenSet = true; m_rdsEndpoint = value; } + inline void SetRdsEndpoint(Aws::String&& value) { m_rdsEndpointHasBeenSet = true; m_rdsEndpoint = std::move(value); } + inline void SetRdsEndpoint(const char* value) { m_rdsEndpointHasBeenSet = true; m_rdsEndpoint.assign(value); } + inline ModifyVerifiedAccessEndpointRdsOptions& WithRdsEndpoint(const Aws::String& value) { SetRdsEndpoint(value); return *this;} + inline ModifyVerifiedAccessEndpointRdsOptions& WithRdsEndpoint(Aws::String&& value) { SetRdsEndpoint(std::move(value)); return *this;} + inline ModifyVerifiedAccessEndpointRdsOptions& WithRdsEndpoint(const char* value) { SetRdsEndpoint(value); return *this;} + ///@} + private: + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + + int m_port; + bool m_portHasBeenSet = false; + + Aws::String m_rdsEndpoint; + bool m_rdsEndpointHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointRequest.h index c285ed04c16..fe4b5336b43 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessEndpointRequest.h @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include #include @@ -135,6 +137,30 @@ namespace Model inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } inline ModifyVerifiedAccessEndpointRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} ///@} + + ///@{ + /** + *

    The RDS options.

    + */ + inline const ModifyVerifiedAccessEndpointRdsOptions& GetRdsOptions() const{ return m_rdsOptions; } + inline bool RdsOptionsHasBeenSet() const { return m_rdsOptionsHasBeenSet; } + inline void SetRdsOptions(const ModifyVerifiedAccessEndpointRdsOptions& value) { m_rdsOptionsHasBeenSet = true; m_rdsOptions = value; } + inline void SetRdsOptions(ModifyVerifiedAccessEndpointRdsOptions&& value) { m_rdsOptionsHasBeenSet = true; m_rdsOptions = std::move(value); } + inline ModifyVerifiedAccessEndpointRequest& WithRdsOptions(const ModifyVerifiedAccessEndpointRdsOptions& value) { SetRdsOptions(value); return *this;} + inline ModifyVerifiedAccessEndpointRequest& WithRdsOptions(ModifyVerifiedAccessEndpointRdsOptions&& value) { SetRdsOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The CIDR options.

    + */ + inline const ModifyVerifiedAccessEndpointCidrOptions& GetCidrOptions() const{ return m_cidrOptions; } + inline bool CidrOptionsHasBeenSet() const { return m_cidrOptionsHasBeenSet; } + inline void SetCidrOptions(const ModifyVerifiedAccessEndpointCidrOptions& value) { m_cidrOptionsHasBeenSet = true; m_cidrOptions = value; } + inline void SetCidrOptions(ModifyVerifiedAccessEndpointCidrOptions&& value) { m_cidrOptionsHasBeenSet = true; m_cidrOptions = std::move(value); } + inline ModifyVerifiedAccessEndpointRequest& WithCidrOptions(const ModifyVerifiedAccessEndpointCidrOptions& value) { SetCidrOptions(value); return *this;} + inline ModifyVerifiedAccessEndpointRequest& WithCidrOptions(ModifyVerifiedAccessEndpointCidrOptions&& value) { SetCidrOptions(std::move(value)); return *this;} + ///@} private: Aws::String m_verifiedAccessEndpointId; @@ -157,6 +183,12 @@ namespace Model bool m_dryRun; bool m_dryRunHasBeenSet = false; + + ModifyVerifiedAccessEndpointRdsOptions m_rdsOptions; + bool m_rdsOptionsHasBeenSet = false; + + ModifyVerifiedAccessEndpointCidrOptions m_cidrOptions; + bool m_cidrOptionsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessInstanceRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessInstanceRequest.h index 3eef083584e..852af86307a 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessInstanceRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessInstanceRequest.h @@ -94,6 +94,20 @@ namespace Model inline ModifyVerifiedAccessInstanceRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} inline ModifyVerifiedAccessInstanceRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} ///@} + + ///@{ + /** + *

    The custom subdomain.

    + */ + inline const Aws::String& GetCidrEndpointsCustomSubDomain() const{ return m_cidrEndpointsCustomSubDomain; } + inline bool CidrEndpointsCustomSubDomainHasBeenSet() const { return m_cidrEndpointsCustomSubDomainHasBeenSet; } + inline void SetCidrEndpointsCustomSubDomain(const Aws::String& value) { m_cidrEndpointsCustomSubDomainHasBeenSet = true; m_cidrEndpointsCustomSubDomain = value; } + inline void SetCidrEndpointsCustomSubDomain(Aws::String&& value) { m_cidrEndpointsCustomSubDomainHasBeenSet = true; m_cidrEndpointsCustomSubDomain = std::move(value); } + inline void SetCidrEndpointsCustomSubDomain(const char* value) { m_cidrEndpointsCustomSubDomainHasBeenSet = true; m_cidrEndpointsCustomSubDomain.assign(value); } + inline ModifyVerifiedAccessInstanceRequest& WithCidrEndpointsCustomSubDomain(const Aws::String& value) { SetCidrEndpointsCustomSubDomain(value); return *this;} + inline ModifyVerifiedAccessInstanceRequest& WithCidrEndpointsCustomSubDomain(Aws::String&& value) { SetCidrEndpointsCustomSubDomain(std::move(value)); return *this;} + inline ModifyVerifiedAccessInstanceRequest& WithCidrEndpointsCustomSubDomain(const char* value) { SetCidrEndpointsCustomSubDomain(value); return *this;} + ///@} private: Aws::String m_verifiedAccessInstanceId; @@ -107,6 +121,9 @@ namespace Model Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; + + Aws::String m_cidrEndpointsCustomSubDomain; + bool m_cidrEndpointsCustomSubDomainHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessNativeApplicationOidcOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessNativeApplicationOidcOptions.h new file mode 100644 index 00000000000..7d90f8e48af --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessNativeApplicationOidcOptions.h @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the OpenID Connect (OIDC) options.

    See Also:

    AWS + * API Reference

    + */ + class ModifyVerifiedAccessNativeApplicationOidcOptions + { + public: + AWS_EC2_API ModifyVerifiedAccessNativeApplicationOidcOptions(); + AWS_EC2_API ModifyVerifiedAccessNativeApplicationOidcOptions(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API ModifyVerifiedAccessNativeApplicationOidcOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The public signing key endpoint.

    + */ + inline const Aws::String& GetPublicSigningKeyEndpoint() const{ return m_publicSigningKeyEndpoint; } + inline bool PublicSigningKeyEndpointHasBeenSet() const { return m_publicSigningKeyEndpointHasBeenSet; } + inline void SetPublicSigningKeyEndpoint(const Aws::String& value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint = value; } + inline void SetPublicSigningKeyEndpoint(Aws::String&& value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint = std::move(value); } + inline void SetPublicSigningKeyEndpoint(const char* value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint.assign(value); } + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithPublicSigningKeyEndpoint(const Aws::String& value) { SetPublicSigningKeyEndpoint(value); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithPublicSigningKeyEndpoint(Aws::String&& value) { SetPublicSigningKeyEndpoint(std::move(value)); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithPublicSigningKeyEndpoint(const char* value) { SetPublicSigningKeyEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The OIDC issuer identifier of the IdP.

    + */ + inline const Aws::String& GetIssuer() const{ return m_issuer; } + inline bool IssuerHasBeenSet() const { return m_issuerHasBeenSet; } + inline void SetIssuer(const Aws::String& value) { m_issuerHasBeenSet = true; m_issuer = value; } + inline void SetIssuer(Aws::String&& value) { m_issuerHasBeenSet = true; m_issuer = std::move(value); } + inline void SetIssuer(const char* value) { m_issuerHasBeenSet = true; m_issuer.assign(value); } + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithIssuer(const Aws::String& value) { SetIssuer(value); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithIssuer(Aws::String&& value) { SetIssuer(std::move(value)); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithIssuer(const char* value) { SetIssuer(value); return *this;} + ///@} + + ///@{ + /** + *

    The authorization endpoint of the IdP.

    + */ + inline const Aws::String& GetAuthorizationEndpoint() const{ return m_authorizationEndpoint; } + inline bool AuthorizationEndpointHasBeenSet() const { return m_authorizationEndpointHasBeenSet; } + inline void SetAuthorizationEndpoint(const Aws::String& value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint = value; } + inline void SetAuthorizationEndpoint(Aws::String&& value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint = std::move(value); } + inline void SetAuthorizationEndpoint(const char* value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint.assign(value); } + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithAuthorizationEndpoint(const Aws::String& value) { SetAuthorizationEndpoint(value); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithAuthorizationEndpoint(Aws::String&& value) { SetAuthorizationEndpoint(std::move(value)); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithAuthorizationEndpoint(const char* value) { SetAuthorizationEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The token endpoint of the IdP.

    + */ + inline const Aws::String& GetTokenEndpoint() const{ return m_tokenEndpoint; } + inline bool TokenEndpointHasBeenSet() const { return m_tokenEndpointHasBeenSet; } + inline void SetTokenEndpoint(const Aws::String& value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint = value; } + inline void SetTokenEndpoint(Aws::String&& value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint = std::move(value); } + inline void SetTokenEndpoint(const char* value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint.assign(value); } + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithTokenEndpoint(const Aws::String& value) { SetTokenEndpoint(value); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithTokenEndpoint(Aws::String&& value) { SetTokenEndpoint(std::move(value)); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithTokenEndpoint(const char* value) { SetTokenEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The user info endpoint of the IdP.

    + */ + inline const Aws::String& GetUserInfoEndpoint() const{ return m_userInfoEndpoint; } + inline bool UserInfoEndpointHasBeenSet() const { return m_userInfoEndpointHasBeenSet; } + inline void SetUserInfoEndpoint(const Aws::String& value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint = value; } + inline void SetUserInfoEndpoint(Aws::String&& value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint = std::move(value); } + inline void SetUserInfoEndpoint(const char* value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint.assign(value); } + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithUserInfoEndpoint(const Aws::String& value) { SetUserInfoEndpoint(value); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithUserInfoEndpoint(Aws::String&& value) { SetUserInfoEndpoint(std::move(value)); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithUserInfoEndpoint(const char* value) { SetUserInfoEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The OAuth 2.0 client identifier.

    + */ + inline const Aws::String& GetClientId() const{ return m_clientId; } + inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } + inline void SetClientId(const Aws::String& value) { m_clientIdHasBeenSet = true; m_clientId = value; } + inline void SetClientId(Aws::String&& value) { m_clientIdHasBeenSet = true; m_clientId = std::move(value); } + inline void SetClientId(const char* value) { m_clientIdHasBeenSet = true; m_clientId.assign(value); } + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithClientId(const Aws::String& value) { SetClientId(value); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithClientId(Aws::String&& value) { SetClientId(std::move(value)); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithClientId(const char* value) { SetClientId(value); return *this;} + ///@} + + ///@{ + /** + *

    The OAuth 2.0 client secret.

    + */ + inline const Aws::String& GetClientSecret() const{ return m_clientSecret; } + inline bool ClientSecretHasBeenSet() const { return m_clientSecretHasBeenSet; } + inline void SetClientSecret(const Aws::String& value) { m_clientSecretHasBeenSet = true; m_clientSecret = value; } + inline void SetClientSecret(Aws::String&& value) { m_clientSecretHasBeenSet = true; m_clientSecret = std::move(value); } + inline void SetClientSecret(const char* value) { m_clientSecretHasBeenSet = true; m_clientSecret.assign(value); } + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithClientSecret(const Aws::String& value) { SetClientSecret(value); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithClientSecret(Aws::String&& value) { SetClientSecret(std::move(value)); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithClientSecret(const char* value) { SetClientSecret(value); return *this;} + ///@} + + ///@{ + /** + *

    The set of user claims to be requested from the IdP.

    + */ + inline const Aws::String& GetScope() const{ return m_scope; } + inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; } + inline void SetScope(const Aws::String& value) { m_scopeHasBeenSet = true; m_scope = value; } + inline void SetScope(Aws::String&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); } + inline void SetScope(const char* value) { m_scopeHasBeenSet = true; m_scope.assign(value); } + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithScope(const Aws::String& value) { SetScope(value); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithScope(Aws::String&& value) { SetScope(std::move(value)); return *this;} + inline ModifyVerifiedAccessNativeApplicationOidcOptions& WithScope(const char* value) { SetScope(value); return *this;} + ///@} + private: + + Aws::String m_publicSigningKeyEndpoint; + bool m_publicSigningKeyEndpointHasBeenSet = false; + + Aws::String m_issuer; + bool m_issuerHasBeenSet = false; + + Aws::String m_authorizationEndpoint; + bool m_authorizationEndpointHasBeenSet = false; + + Aws::String m_tokenEndpoint; + bool m_tokenEndpointHasBeenSet = false; + + Aws::String m_userInfoEndpoint; + bool m_userInfoEndpointHasBeenSet = false; + + Aws::String m_clientId; + bool m_clientIdHasBeenSet = false; + + Aws::String m_clientSecret; + bool m_clientSecretHasBeenSet = false; + + Aws::String m_scope; + bool m_scopeHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessTrustProviderDeviceOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessTrustProviderDeviceOptions.h index 51c7bbab91d..91f278c3ed6 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessTrustProviderDeviceOptions.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessTrustProviderDeviceOptions.h @@ -43,7 +43,7 @@ namespace Model ///@{ /** *

    The URL Amazon Web Services Verified Access will use to verify the - * authenticity of the device tokens.

    + * authenticity of the device tokens.

    */ inline const Aws::String& GetPublicSigningKeyUrl() const{ return m_publicSigningKeyUrl; } inline bool PublicSigningKeyUrlHasBeenSet() const { return m_publicSigningKeyUrlHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessTrustProviderRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessTrustProviderRequest.h index d673a710cee..286f47a59e1 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessTrustProviderRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyVerifiedAccessTrustProviderRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -135,6 +136,18 @@ namespace Model inline ModifyVerifiedAccessTrustProviderRequest& WithSseSpecification(const VerifiedAccessSseSpecificationRequest& value) { SetSseSpecification(value); return *this;} inline ModifyVerifiedAccessTrustProviderRequest& WithSseSpecification(VerifiedAccessSseSpecificationRequest&& value) { SetSseSpecification(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    The OpenID Connect (OIDC) options.

    + */ + inline const ModifyVerifiedAccessNativeApplicationOidcOptions& GetNativeApplicationOidcOptions() const{ return m_nativeApplicationOidcOptions; } + inline bool NativeApplicationOidcOptionsHasBeenSet() const { return m_nativeApplicationOidcOptionsHasBeenSet; } + inline void SetNativeApplicationOidcOptions(const ModifyVerifiedAccessNativeApplicationOidcOptions& value) { m_nativeApplicationOidcOptionsHasBeenSet = true; m_nativeApplicationOidcOptions = value; } + inline void SetNativeApplicationOidcOptions(ModifyVerifiedAccessNativeApplicationOidcOptions&& value) { m_nativeApplicationOidcOptionsHasBeenSet = true; m_nativeApplicationOidcOptions = std::move(value); } + inline ModifyVerifiedAccessTrustProviderRequest& WithNativeApplicationOidcOptions(const ModifyVerifiedAccessNativeApplicationOidcOptions& value) { SetNativeApplicationOidcOptions(value); return *this;} + inline ModifyVerifiedAccessTrustProviderRequest& WithNativeApplicationOidcOptions(ModifyVerifiedAccessNativeApplicationOidcOptions&& value) { SetNativeApplicationOidcOptions(std::move(value)); return *this;} + ///@} private: Aws::String m_verifiedAccessTrustProviderId; @@ -157,6 +170,9 @@ namespace Model VerifiedAccessSseSpecificationRequest m_sseSpecification; bool m_sseSpecificationHasBeenSet = false; + + ModifyVerifiedAccessNativeApplicationOidcOptions m_nativeApplicationOidcOptions; + bool m_nativeApplicationOidcOptionsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NativeApplicationOidcOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NativeApplicationOidcOptions.h new file mode 100644 index 00000000000..050d6f71692 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NativeApplicationOidcOptions.h @@ -0,0 +1,165 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the OpenID Connect (OIDC) options.

    See Also:

    AWS + * API Reference

    + */ + class NativeApplicationOidcOptions + { + public: + AWS_EC2_API NativeApplicationOidcOptions(); + AWS_EC2_API NativeApplicationOidcOptions(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API NativeApplicationOidcOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The public signing key endpoint.

    + */ + inline const Aws::String& GetPublicSigningKeyEndpoint() const{ return m_publicSigningKeyEndpoint; } + inline bool PublicSigningKeyEndpointHasBeenSet() const { return m_publicSigningKeyEndpointHasBeenSet; } + inline void SetPublicSigningKeyEndpoint(const Aws::String& value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint = value; } + inline void SetPublicSigningKeyEndpoint(Aws::String&& value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint = std::move(value); } + inline void SetPublicSigningKeyEndpoint(const char* value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint.assign(value); } + inline NativeApplicationOidcOptions& WithPublicSigningKeyEndpoint(const Aws::String& value) { SetPublicSigningKeyEndpoint(value); return *this;} + inline NativeApplicationOidcOptions& WithPublicSigningKeyEndpoint(Aws::String&& value) { SetPublicSigningKeyEndpoint(std::move(value)); return *this;} + inline NativeApplicationOidcOptions& WithPublicSigningKeyEndpoint(const char* value) { SetPublicSigningKeyEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The OIDC issuer identifier of the IdP.

    + */ + inline const Aws::String& GetIssuer() const{ return m_issuer; } + inline bool IssuerHasBeenSet() const { return m_issuerHasBeenSet; } + inline void SetIssuer(const Aws::String& value) { m_issuerHasBeenSet = true; m_issuer = value; } + inline void SetIssuer(Aws::String&& value) { m_issuerHasBeenSet = true; m_issuer = std::move(value); } + inline void SetIssuer(const char* value) { m_issuerHasBeenSet = true; m_issuer.assign(value); } + inline NativeApplicationOidcOptions& WithIssuer(const Aws::String& value) { SetIssuer(value); return *this;} + inline NativeApplicationOidcOptions& WithIssuer(Aws::String&& value) { SetIssuer(std::move(value)); return *this;} + inline NativeApplicationOidcOptions& WithIssuer(const char* value) { SetIssuer(value); return *this;} + ///@} + + ///@{ + /** + *

    The authorization endpoint of the IdP.

    + */ + inline const Aws::String& GetAuthorizationEndpoint() const{ return m_authorizationEndpoint; } + inline bool AuthorizationEndpointHasBeenSet() const { return m_authorizationEndpointHasBeenSet; } + inline void SetAuthorizationEndpoint(const Aws::String& value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint = value; } + inline void SetAuthorizationEndpoint(Aws::String&& value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint = std::move(value); } + inline void SetAuthorizationEndpoint(const char* value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint.assign(value); } + inline NativeApplicationOidcOptions& WithAuthorizationEndpoint(const Aws::String& value) { SetAuthorizationEndpoint(value); return *this;} + inline NativeApplicationOidcOptions& WithAuthorizationEndpoint(Aws::String&& value) { SetAuthorizationEndpoint(std::move(value)); return *this;} + inline NativeApplicationOidcOptions& WithAuthorizationEndpoint(const char* value) { SetAuthorizationEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The token endpoint of the IdP.

    + */ + inline const Aws::String& GetTokenEndpoint() const{ return m_tokenEndpoint; } + inline bool TokenEndpointHasBeenSet() const { return m_tokenEndpointHasBeenSet; } + inline void SetTokenEndpoint(const Aws::String& value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint = value; } + inline void SetTokenEndpoint(Aws::String&& value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint = std::move(value); } + inline void SetTokenEndpoint(const char* value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint.assign(value); } + inline NativeApplicationOidcOptions& WithTokenEndpoint(const Aws::String& value) { SetTokenEndpoint(value); return *this;} + inline NativeApplicationOidcOptions& WithTokenEndpoint(Aws::String&& value) { SetTokenEndpoint(std::move(value)); return *this;} + inline NativeApplicationOidcOptions& WithTokenEndpoint(const char* value) { SetTokenEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The user info endpoint of the IdP.

    + */ + inline const Aws::String& GetUserInfoEndpoint() const{ return m_userInfoEndpoint; } + inline bool UserInfoEndpointHasBeenSet() const { return m_userInfoEndpointHasBeenSet; } + inline void SetUserInfoEndpoint(const Aws::String& value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint = value; } + inline void SetUserInfoEndpoint(Aws::String&& value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint = std::move(value); } + inline void SetUserInfoEndpoint(const char* value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint.assign(value); } + inline NativeApplicationOidcOptions& WithUserInfoEndpoint(const Aws::String& value) { SetUserInfoEndpoint(value); return *this;} + inline NativeApplicationOidcOptions& WithUserInfoEndpoint(Aws::String&& value) { SetUserInfoEndpoint(std::move(value)); return *this;} + inline NativeApplicationOidcOptions& WithUserInfoEndpoint(const char* value) { SetUserInfoEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The OAuth 2.0 client identifier.

    + */ + inline const Aws::String& GetClientId() const{ return m_clientId; } + inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } + inline void SetClientId(const Aws::String& value) { m_clientIdHasBeenSet = true; m_clientId = value; } + inline void SetClientId(Aws::String&& value) { m_clientIdHasBeenSet = true; m_clientId = std::move(value); } + inline void SetClientId(const char* value) { m_clientIdHasBeenSet = true; m_clientId.assign(value); } + inline NativeApplicationOidcOptions& WithClientId(const Aws::String& value) { SetClientId(value); return *this;} + inline NativeApplicationOidcOptions& WithClientId(Aws::String&& value) { SetClientId(std::move(value)); return *this;} + inline NativeApplicationOidcOptions& WithClientId(const char* value) { SetClientId(value); return *this;} + ///@} + + ///@{ + /** + *

    The set of user claims to be requested from the IdP.

    + */ + inline const Aws::String& GetScope() const{ return m_scope; } + inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; } + inline void SetScope(const Aws::String& value) { m_scopeHasBeenSet = true; m_scope = value; } + inline void SetScope(Aws::String&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); } + inline void SetScope(const char* value) { m_scopeHasBeenSet = true; m_scope.assign(value); } + inline NativeApplicationOidcOptions& WithScope(const Aws::String& value) { SetScope(value); return *this;} + inline NativeApplicationOidcOptions& WithScope(Aws::String&& value) { SetScope(std::move(value)); return *this;} + inline NativeApplicationOidcOptions& WithScope(const char* value) { SetScope(value); return *this;} + ///@} + private: + + Aws::String m_publicSigningKeyEndpoint; + bool m_publicSigningKeyEndpointHasBeenSet = false; + + Aws::String m_issuer; + bool m_issuerHasBeenSet = false; + + Aws::String m_authorizationEndpoint; + bool m_authorizationEndpointHasBeenSet = false; + + Aws::String m_tokenEndpoint; + bool m_tokenEndpointHasBeenSet = false; + + Aws::String m_userInfoEndpoint; + bool m_userInfoEndpointHasBeenSet = false; + + Aws::String m_clientId; + bool m_clientIdHasBeenSet = false; + + Aws::String m_scope; + bool m_scopeHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NetworkInterface.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NetworkInterface.h index 95abb8bf820..f4e15384d2a 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NetworkInterface.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NetworkInterface.h @@ -418,7 +418,7 @@ namespace Model ///@{ /** - *

    The entity that manages the network interface.

    + *

    The service provider that manages the network interface.

    */ inline const OperatorResponse& GetOperator() const{ return m_operator; } inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/OperatorRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/OperatorRequest.h index 9c208a1d03f..bc45283a0dc 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/OperatorRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/OperatorRequest.h @@ -24,7 +24,7 @@ namespace Model { /** - *

    The entity that manages the resource.

    See Also:

    The service provider that manages the resource.

    See Also:

    AWS * API Reference

    */ @@ -41,7 +41,7 @@ namespace Model ///@{ /** - *

    The entity that manages the resource.

    + *

    The service provider that manages the resource.

    */ inline const Aws::String& GetPrincipal() const{ return m_principal; } inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/OperatorResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/OperatorResponse.h index a85ff696d68..53e2878df35 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/OperatorResponse.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/OperatorResponse.h @@ -24,8 +24,8 @@ namespace Model { /** - *

    Describes whether the resource is managed by an entity and, if so, describes - * the entity that manages it.

    See Also:

    Describes whether the resource is managed by an service provider and, if so, + * describes the service provider that manages it.

    See Also:

    AWS * API Reference

    */ @@ -42,7 +42,7 @@ namespace Model ///@{ /** - *

    If true, the resource is managed by an entity.

    + *

    If true, the resource is managed by an service provider.

    */ inline bool GetManaged() const{ return m_managed; } inline bool ManagedHasBeenSet() const { return m_managedHasBeenSet; } @@ -53,7 +53,7 @@ namespace Model ///@{ /** *

    If managed is true, then the principal is returned. - * The principal is the entity that manages the resource.

    + * The principal is the service provider that manages the resource.

    */ inline const Aws::String& GetPrincipal() const{ return m_principal; } inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RegionalSummary.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RegionalSummary.h new file mode 100644 index 00000000000..ea374711e36 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RegionalSummary.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    A summary report for the attribute for a Region.

    See Also:

    + * AWS + * API Reference

    + */ + class RegionalSummary + { + public: + AWS_EC2_API RegionalSummary(); + AWS_EC2_API RegionalSummary(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API RegionalSummary& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The Amazon Web Services Region.

    + */ + inline const Aws::String& GetRegionName() const{ return m_regionName; } + inline bool RegionNameHasBeenSet() const { return m_regionNameHasBeenSet; } + inline void SetRegionName(const Aws::String& value) { m_regionNameHasBeenSet = true; m_regionName = value; } + inline void SetRegionName(Aws::String&& value) { m_regionNameHasBeenSet = true; m_regionName = std::move(value); } + inline void SetRegionName(const char* value) { m_regionNameHasBeenSet = true; m_regionName.assign(value); } + inline RegionalSummary& WithRegionName(const Aws::String& value) { SetRegionName(value); return *this;} + inline RegionalSummary& WithRegionName(Aws::String&& value) { SetRegionName(std::move(value)); return *this;} + inline RegionalSummary& WithRegionName(const char* value) { SetRegionName(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of accounts in the Region with the same configuration value for + * the attribute that is most frequently observed.

    + */ + inline int GetNumberOfMatchedAccounts() const{ return m_numberOfMatchedAccounts; } + inline bool NumberOfMatchedAccountsHasBeenSet() const { return m_numberOfMatchedAccountsHasBeenSet; } + inline void SetNumberOfMatchedAccounts(int value) { m_numberOfMatchedAccountsHasBeenSet = true; m_numberOfMatchedAccounts = value; } + inline RegionalSummary& WithNumberOfMatchedAccounts(int value) { SetNumberOfMatchedAccounts(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of accounts in the Region with a configuration value different + * from the most frequently observed value for the attribute.

    + */ + inline int GetNumberOfUnmatchedAccounts() const{ return m_numberOfUnmatchedAccounts; } + inline bool NumberOfUnmatchedAccountsHasBeenSet() const { return m_numberOfUnmatchedAccountsHasBeenSet; } + inline void SetNumberOfUnmatchedAccounts(int value) { m_numberOfUnmatchedAccountsHasBeenSet = true; m_numberOfUnmatchedAccounts = value; } + inline RegionalSummary& WithNumberOfUnmatchedAccounts(int value) { SetNumberOfUnmatchedAccounts(value); return *this;} + ///@} + private: + + Aws::String m_regionName; + bool m_regionNameHasBeenSet = false; + + int m_numberOfMatchedAccounts; + bool m_numberOfMatchedAccountsHasBeenSet = false; + + int m_numberOfUnmatchedAccounts; + bool m_numberOfUnmatchedAccountsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReplaceImageCriteriaInAllowedImagesSettingsRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReplaceImageCriteriaInAllowedImagesSettingsRequest.h new file mode 100644 index 00000000000..6ebad755bdf --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReplaceImageCriteriaInAllowedImagesSettingsRequest.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class ReplaceImageCriteriaInAllowedImagesSettingsRequest : public EC2Request + { + public: + AWS_EC2_API ReplaceImageCriteriaInAllowedImagesSettingsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ReplaceImageCriteriaInAllowedImagesSettings"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    The list of criteria that are evaluated to determine whether AMIs are + * discoverable and usable in the account in the specified Amazon Web Services + * Region.

    + */ + inline const Aws::Vector& GetImageCriteria() const{ return m_imageCriteria; } + inline bool ImageCriteriaHasBeenSet() const { return m_imageCriteriaHasBeenSet; } + inline void SetImageCriteria(const Aws::Vector& value) { m_imageCriteriaHasBeenSet = true; m_imageCriteria = value; } + inline void SetImageCriteria(Aws::Vector&& value) { m_imageCriteriaHasBeenSet = true; m_imageCriteria = std::move(value); } + inline ReplaceImageCriteriaInAllowedImagesSettingsRequest& WithImageCriteria(const Aws::Vector& value) { SetImageCriteria(value); return *this;} + inline ReplaceImageCriteriaInAllowedImagesSettingsRequest& WithImageCriteria(Aws::Vector&& value) { SetImageCriteria(std::move(value)); return *this;} + inline ReplaceImageCriteriaInAllowedImagesSettingsRequest& AddImageCriteria(const ImageCriterionRequest& value) { m_imageCriteriaHasBeenSet = true; m_imageCriteria.push_back(value); return *this; } + inline ReplaceImageCriteriaInAllowedImagesSettingsRequest& AddImageCriteria(ImageCriterionRequest&& value) { m_imageCriteriaHasBeenSet = true; m_imageCriteria.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline ReplaceImageCriteriaInAllowedImagesSettingsRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + private: + + Aws::Vector m_imageCriteria; + bool m_imageCriteriaHasBeenSet = false; + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReplaceImageCriteriaInAllowedImagesSettingsResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReplaceImageCriteriaInAllowedImagesSettingsResponse.h new file mode 100644 index 00000000000..5c5c5cd6a77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReplaceImageCriteriaInAllowedImagesSettingsResponse.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class ReplaceImageCriteriaInAllowedImagesSettingsResponse + { + public: + AWS_EC2_API ReplaceImageCriteriaInAllowedImagesSettingsResponse(); + AWS_EC2_API ReplaceImageCriteriaInAllowedImagesSettingsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API ReplaceImageCriteriaInAllowedImagesSettingsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    Returns true if the request succeeds; otherwise, it returns an + * error.

    + */ + inline bool GetReturnValue() const{ return m_returnValue; } + inline void SetReturnValue(bool value) { m_returnValue = value; } + inline ReplaceImageCriteriaInAllowedImagesSettingsResponse& WithReturnValue(bool value) { SetReturnValue(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline ReplaceImageCriteriaInAllowedImagesSettingsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline ReplaceImageCriteriaInAllowedImagesSettingsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + bool m_returnValue; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReportState.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReportState.h new file mode 100644 index 00000000000..e7d28da50ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ReportState.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + enum class ReportState + { + NOT_SET, + running, + cancelled, + complete, + error + }; + +namespace ReportStateMapper +{ +AWS_EC2_API ReportState GetReportStateForName(const Aws::String& name); + +AWS_EC2_API Aws::String GetNameForReportState(ReportState value); +} // namespace ReportStateMapper +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ResourceType.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ResourceType.h index d7d3e5aef08..7ee0cf85992 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ResourceType.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ResourceType.h @@ -21,6 +21,7 @@ namespace Model customer_gateway, carrier_gateway, coip_pool, + declarative_policies_report, dedicated_host, dhcp_options, egress_only_internet_gateway, @@ -102,6 +103,7 @@ namespace Model ipam_resource_discovery, ipam_resource_discovery_association, instance_connect_endpoint, + verified_access_endpoint_target, ipam_external_resource_verification_token }; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/StartDeclarativePoliciesReportRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/StartDeclarativePoliciesReportRequest.h new file mode 100644 index 00000000000..303edbb47fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/StartDeclarativePoliciesReportRequest.h @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class StartDeclarativePoliciesReportRequest : public EC2Request + { + public: + AWS_EC2_API StartDeclarativePoliciesReportRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "StartDeclarativePoliciesReport"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

    Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

    + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline StartDeclarativePoliciesReportRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + + ///@{ + /** + *

    The name of the S3 bucket where the report will be saved.

    + */ + inline const Aws::String& GetS3Bucket() const{ return m_s3Bucket; } + inline bool S3BucketHasBeenSet() const { return m_s3BucketHasBeenSet; } + inline void SetS3Bucket(const Aws::String& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = value; } + inline void SetS3Bucket(Aws::String&& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = std::move(value); } + inline void SetS3Bucket(const char* value) { m_s3BucketHasBeenSet = true; m_s3Bucket.assign(value); } + inline StartDeclarativePoliciesReportRequest& WithS3Bucket(const Aws::String& value) { SetS3Bucket(value); return *this;} + inline StartDeclarativePoliciesReportRequest& WithS3Bucket(Aws::String&& value) { SetS3Bucket(std::move(value)); return *this;} + inline StartDeclarativePoliciesReportRequest& WithS3Bucket(const char* value) { SetS3Bucket(value); return *this;} + ///@} + + ///@{ + /** + *

    The prefix for your S3 object.

    + */ + inline const Aws::String& GetS3Prefix() const{ return m_s3Prefix; } + inline bool S3PrefixHasBeenSet() const { return m_s3PrefixHasBeenSet; } + inline void SetS3Prefix(const Aws::String& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = value; } + inline void SetS3Prefix(Aws::String&& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = std::move(value); } + inline void SetS3Prefix(const char* value) { m_s3PrefixHasBeenSet = true; m_s3Prefix.assign(value); } + inline StartDeclarativePoliciesReportRequest& WithS3Prefix(const Aws::String& value) { SetS3Prefix(value); return *this;} + inline StartDeclarativePoliciesReportRequest& WithS3Prefix(Aws::String&& value) { SetS3Prefix(std::move(value)); return *this;} + inline StartDeclarativePoliciesReportRequest& WithS3Prefix(const char* value) { SetS3Prefix(value); return *this;} + ///@} + + ///@{ + /** + *

    The root ID, organizational unit ID, or account ID.

    Format:

      + *
    • For root: r-ab12

    • For OU: + * ou-ab12-cdef1234

    • For account: + * 123456789012

    + */ + inline const Aws::String& GetTargetId() const{ return m_targetId; } + inline bool TargetIdHasBeenSet() const { return m_targetIdHasBeenSet; } + inline void SetTargetId(const Aws::String& value) { m_targetIdHasBeenSet = true; m_targetId = value; } + inline void SetTargetId(Aws::String&& value) { m_targetIdHasBeenSet = true; m_targetId = std::move(value); } + inline void SetTargetId(const char* value) { m_targetIdHasBeenSet = true; m_targetId.assign(value); } + inline StartDeclarativePoliciesReportRequest& WithTargetId(const Aws::String& value) { SetTargetId(value); return *this;} + inline StartDeclarativePoliciesReportRequest& WithTargetId(Aws::String&& value) { SetTargetId(std::move(value)); return *this;} + inline StartDeclarativePoliciesReportRequest& WithTargetId(const char* value) { SetTargetId(value); return *this;} + ///@} + + ///@{ + /** + *

    The tags to apply.

    + */ + inline const Aws::Vector& GetTagSpecifications() const{ return m_tagSpecifications; } + inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; } + inline void SetTagSpecifications(const Aws::Vector& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = value; } + inline void SetTagSpecifications(Aws::Vector&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::move(value); } + inline StartDeclarativePoliciesReportRequest& WithTagSpecifications(const Aws::Vector& value) { SetTagSpecifications(value); return *this;} + inline StartDeclarativePoliciesReportRequest& WithTagSpecifications(Aws::Vector&& value) { SetTagSpecifications(std::move(value)); return *this;} + inline StartDeclarativePoliciesReportRequest& AddTagSpecifications(const TagSpecification& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(value); return *this; } + inline StartDeclarativePoliciesReportRequest& AddTagSpecifications(TagSpecification&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(std::move(value)); return *this; } + ///@} + private: + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + + Aws::String m_s3Bucket; + bool m_s3BucketHasBeenSet = false; + + Aws::String m_s3Prefix; + bool m_s3PrefixHasBeenSet = false; + + Aws::String m_targetId; + bool m_targetIdHasBeenSet = false; + + Aws::Vector m_tagSpecifications; + bool m_tagSpecificationsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/StartDeclarativePoliciesReportResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/StartDeclarativePoliciesReportResponse.h new file mode 100644 index 00000000000..361b69e1e29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/StartDeclarativePoliciesReportResponse.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class StartDeclarativePoliciesReportResponse + { + public: + AWS_EC2_API StartDeclarativePoliciesReportResponse(); + AWS_EC2_API StartDeclarativePoliciesReportResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API StartDeclarativePoliciesReportResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ID of the report.

    + */ + inline const Aws::String& GetReportId() const{ return m_reportId; } + inline void SetReportId(const Aws::String& value) { m_reportId = value; } + inline void SetReportId(Aws::String&& value) { m_reportId = std::move(value); } + inline void SetReportId(const char* value) { m_reportId.assign(value); } + inline StartDeclarativePoliciesReportResponse& WithReportId(const Aws::String& value) { SetReportId(value); return *this;} + inline StartDeclarativePoliciesReportResponse& WithReportId(Aws::String&& value) { SetReportId(std::move(value)); return *this;} + inline StartDeclarativePoliciesReportResponse& WithReportId(const char* value) { SetReportId(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline StartDeclarativePoliciesReportResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline StartDeclarativePoliciesReportResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_reportId; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/State.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/State.h index f1bdbcc0101..ea92da33591 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/State.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/State.h @@ -23,7 +23,8 @@ namespace Model Deleted, Rejected, Failed, - Expired + Expired, + Partial }; namespace StateMapper diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SubnetIpPrefixes.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SubnetIpPrefixes.h new file mode 100644 index 00000000000..bb7ab1ecb0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SubnetIpPrefixes.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Prefixes of the subnet IP.

    See Also:

    AWS + * API Reference

    + */ + class SubnetIpPrefixes + { + public: + AWS_EC2_API SubnetIpPrefixes(); + AWS_EC2_API SubnetIpPrefixes(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API SubnetIpPrefixes& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    ID of the subnet.

    + */ + inline const Aws::String& GetSubnetId() const{ return m_subnetId; } + inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } + inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } + inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } + inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } + inline SubnetIpPrefixes& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} + inline SubnetIpPrefixes& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} + inline SubnetIpPrefixes& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} + ///@} + + ///@{ + /** + *

    Array of SubnetIpPrefixes objects.

    + */ + inline const Aws::Vector& GetIpPrefixes() const{ return m_ipPrefixes; } + inline bool IpPrefixesHasBeenSet() const { return m_ipPrefixesHasBeenSet; } + inline void SetIpPrefixes(const Aws::Vector& value) { m_ipPrefixesHasBeenSet = true; m_ipPrefixes = value; } + inline void SetIpPrefixes(Aws::Vector&& value) { m_ipPrefixesHasBeenSet = true; m_ipPrefixes = std::move(value); } + inline SubnetIpPrefixes& WithIpPrefixes(const Aws::Vector& value) { SetIpPrefixes(value); return *this;} + inline SubnetIpPrefixes& WithIpPrefixes(Aws::Vector&& value) { SetIpPrefixes(std::move(value)); return *this;} + inline SubnetIpPrefixes& AddIpPrefixes(const Aws::String& value) { m_ipPrefixesHasBeenSet = true; m_ipPrefixes.push_back(value); return *this; } + inline SubnetIpPrefixes& AddIpPrefixes(Aws::String&& value) { m_ipPrefixesHasBeenSet = true; m_ipPrefixes.push_back(std::move(value)); return *this; } + inline SubnetIpPrefixes& AddIpPrefixes(const char* value) { m_ipPrefixesHasBeenSet = true; m_ipPrefixes.push_back(value); return *this; } + ///@} + private: + + Aws::String m_subnetId; + bool m_subnetIdHasBeenSet = false; + + Aws::Vector m_ipPrefixes; + bool m_ipPrefixesHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpoint.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpoint.h index c9bc982135f..9fe6e7acd60 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpoint.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpoint.h @@ -14,6 +14,8 @@ #include #include #include +#include +#include #include #include @@ -310,6 +312,30 @@ namespace Model inline VerifiedAccessEndpoint& WithSseSpecification(const VerifiedAccessSseSpecificationResponse& value) { SetSseSpecification(value); return *this;} inline VerifiedAccessEndpoint& WithSseSpecification(VerifiedAccessSseSpecificationResponse&& value) { SetSseSpecification(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    The options for an RDS endpoint.

    + */ + inline const VerifiedAccessEndpointRdsOptions& GetRdsOptions() const{ return m_rdsOptions; } + inline bool RdsOptionsHasBeenSet() const { return m_rdsOptionsHasBeenSet; } + inline void SetRdsOptions(const VerifiedAccessEndpointRdsOptions& value) { m_rdsOptionsHasBeenSet = true; m_rdsOptions = value; } + inline void SetRdsOptions(VerifiedAccessEndpointRdsOptions&& value) { m_rdsOptionsHasBeenSet = true; m_rdsOptions = std::move(value); } + inline VerifiedAccessEndpoint& WithRdsOptions(const VerifiedAccessEndpointRdsOptions& value) { SetRdsOptions(value); return *this;} + inline VerifiedAccessEndpoint& WithRdsOptions(VerifiedAccessEndpointRdsOptions&& value) { SetRdsOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The options for a CIDR endpoint.

    + */ + inline const VerifiedAccessEndpointCidrOptions& GetCidrOptions() const{ return m_cidrOptions; } + inline bool CidrOptionsHasBeenSet() const { return m_cidrOptionsHasBeenSet; } + inline void SetCidrOptions(const VerifiedAccessEndpointCidrOptions& value) { m_cidrOptionsHasBeenSet = true; m_cidrOptions = value; } + inline void SetCidrOptions(VerifiedAccessEndpointCidrOptions&& value) { m_cidrOptionsHasBeenSet = true; m_cidrOptions = std::move(value); } + inline VerifiedAccessEndpoint& WithCidrOptions(const VerifiedAccessEndpointCidrOptions& value) { SetCidrOptions(value); return *this;} + inline VerifiedAccessEndpoint& WithCidrOptions(VerifiedAccessEndpointCidrOptions&& value) { SetCidrOptions(std::move(value)); return *this;} + ///@} private: Aws::String m_verifiedAccessInstanceId; @@ -368,6 +394,12 @@ namespace Model VerifiedAccessSseSpecificationResponse m_sseSpecification; bool m_sseSpecificationHasBeenSet = false; + + VerifiedAccessEndpointRdsOptions m_rdsOptions; + bool m_rdsOptionsHasBeenSet = false; + + VerifiedAccessEndpointCidrOptions m_cidrOptions; + bool m_cidrOptionsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointCidrOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointCidrOptions.h new file mode 100644 index 00000000000..ca9b42a0f45 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointCidrOptions.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the CIDR options for a Verified Access endpoint.

    See + * Also:

    AWS + * API Reference

    + */ + class VerifiedAccessEndpointCidrOptions + { + public: + AWS_EC2_API VerifiedAccessEndpointCidrOptions(); + AWS_EC2_API VerifiedAccessEndpointCidrOptions(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API VerifiedAccessEndpointCidrOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The CIDR.

    + */ + inline const Aws::String& GetCidr() const{ return m_cidr; } + inline bool CidrHasBeenSet() const { return m_cidrHasBeenSet; } + inline void SetCidr(const Aws::String& value) { m_cidrHasBeenSet = true; m_cidr = value; } + inline void SetCidr(Aws::String&& value) { m_cidrHasBeenSet = true; m_cidr = std::move(value); } + inline void SetCidr(const char* value) { m_cidrHasBeenSet = true; m_cidr.assign(value); } + inline VerifiedAccessEndpointCidrOptions& WithCidr(const Aws::String& value) { SetCidr(value); return *this;} + inline VerifiedAccessEndpointCidrOptions& WithCidr(Aws::String&& value) { SetCidr(std::move(value)); return *this;} + inline VerifiedAccessEndpointCidrOptions& WithCidr(const char* value) { SetCidr(value); return *this;} + ///@} + + ///@{ + /** + *

    The port ranges.

    + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } + inline VerifiedAccessEndpointCidrOptions& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline VerifiedAccessEndpointCidrOptions& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline VerifiedAccessEndpointCidrOptions& AddPortRanges(const VerifiedAccessEndpointPortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + inline VerifiedAccessEndpointCidrOptions& AddPortRanges(VerifiedAccessEndpointPortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The protocol.

    + */ + inline const VerifiedAccessEndpointProtocol& GetProtocol() const{ return m_protocol; } + inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } + inline void SetProtocol(const VerifiedAccessEndpointProtocol& value) { m_protocolHasBeenSet = true; m_protocol = value; } + inline void SetProtocol(VerifiedAccessEndpointProtocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } + inline VerifiedAccessEndpointCidrOptions& WithProtocol(const VerifiedAccessEndpointProtocol& value) { SetProtocol(value); return *this;} + inline VerifiedAccessEndpointCidrOptions& WithProtocol(VerifiedAccessEndpointProtocol&& value) { SetProtocol(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The IDs of the subnets.

    + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline VerifiedAccessEndpointCidrOptions& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline VerifiedAccessEndpointCidrOptions& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline VerifiedAccessEndpointCidrOptions& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline VerifiedAccessEndpointCidrOptions& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline VerifiedAccessEndpointCidrOptions& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + private: + + Aws::String m_cidr; + bool m_cidrHasBeenSet = false; + + Aws::Vector m_portRanges; + bool m_portRangesHasBeenSet = false; + + VerifiedAccessEndpointProtocol m_protocol; + bool m_protocolHasBeenSet = false; + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointEniOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointEniOptions.h index 85cdce4935c..bc0558ff123 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointEniOptions.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointEniOptions.h @@ -8,6 +8,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -75,6 +77,20 @@ namespace Model inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } inline VerifiedAccessEndpointEniOptions& WithPort(int value) { SetPort(value); return *this;} ///@} + + ///@{ + /** + *

    The port ranges.

    + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } + inline VerifiedAccessEndpointEniOptions& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline VerifiedAccessEndpointEniOptions& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline VerifiedAccessEndpointEniOptions& AddPortRanges(const VerifiedAccessEndpointPortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + inline VerifiedAccessEndpointEniOptions& AddPortRanges(VerifiedAccessEndpointPortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } + ///@} private: Aws::String m_networkInterfaceId; @@ -85,6 +101,9 @@ namespace Model int m_port; bool m_portHasBeenSet = false; + + Aws::Vector m_portRanges; + bool m_portRangesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointLoadBalancerOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointLoadBalancerOptions.h index 4d75cda35d1..bb1e837946c 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointLoadBalancerOptions.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointLoadBalancerOptions.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -93,6 +94,20 @@ namespace Model inline VerifiedAccessEndpointLoadBalancerOptions& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } inline VerifiedAccessEndpointLoadBalancerOptions& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } ///@} + + ///@{ + /** + *

    The port ranges.

    + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } + inline VerifiedAccessEndpointLoadBalancerOptions& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline VerifiedAccessEndpointLoadBalancerOptions& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline VerifiedAccessEndpointLoadBalancerOptions& AddPortRanges(const VerifiedAccessEndpointPortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + inline VerifiedAccessEndpointLoadBalancerOptions& AddPortRanges(VerifiedAccessEndpointPortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } + ///@} private: VerifiedAccessEndpointProtocol m_protocol; @@ -106,6 +121,9 @@ namespace Model Aws::Vector m_subnetIds; bool m_subnetIdsHasBeenSet = false; + + Aws::Vector m_portRanges; + bool m_portRangesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointPortRange.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointPortRange.h new file mode 100644 index 00000000000..bbb5b7eef41 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointPortRange.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes a port range.

    See Also:

    AWS + * API Reference

    + */ + class VerifiedAccessEndpointPortRange + { + public: + AWS_EC2_API VerifiedAccessEndpointPortRange(); + AWS_EC2_API VerifiedAccessEndpointPortRange(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API VerifiedAccessEndpointPortRange& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The start of the port range.

    + */ + inline int GetFromPort() const{ return m_fromPort; } + inline bool FromPortHasBeenSet() const { return m_fromPortHasBeenSet; } + inline void SetFromPort(int value) { m_fromPortHasBeenSet = true; m_fromPort = value; } + inline VerifiedAccessEndpointPortRange& WithFromPort(int value) { SetFromPort(value); return *this;} + ///@} + + ///@{ + /** + *

    The end of the port range.

    + */ + inline int GetToPort() const{ return m_toPort; } + inline bool ToPortHasBeenSet() const { return m_toPortHasBeenSet; } + inline void SetToPort(int value) { m_toPortHasBeenSet = true; m_toPort = value; } + inline VerifiedAccessEndpointPortRange& WithToPort(int value) { SetToPort(value); return *this;} + ///@} + private: + + int m_fromPort; + bool m_fromPortHasBeenSet = false; + + int m_toPort; + bool m_toPortHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointProtocol.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointProtocol.h index 766143ae811..d908b398551 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointProtocol.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointProtocol.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, http, - https + https, + tcp }; namespace VerifiedAccessEndpointProtocolMapper diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointRdsOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointRdsOptions.h new file mode 100644 index 00000000000..3bf458d5e4b --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointRdsOptions.h @@ -0,0 +1,163 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the RDS options for a Verified Access endpoint.

    See + * Also:

    AWS + * API Reference

    + */ + class VerifiedAccessEndpointRdsOptions + { + public: + AWS_EC2_API VerifiedAccessEndpointRdsOptions(); + AWS_EC2_API VerifiedAccessEndpointRdsOptions(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API VerifiedAccessEndpointRdsOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The protocol.

    + */ + inline const VerifiedAccessEndpointProtocol& GetProtocol() const{ return m_protocol; } + inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } + inline void SetProtocol(const VerifiedAccessEndpointProtocol& value) { m_protocolHasBeenSet = true; m_protocol = value; } + inline void SetProtocol(VerifiedAccessEndpointProtocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } + inline VerifiedAccessEndpointRdsOptions& WithProtocol(const VerifiedAccessEndpointProtocol& value) { SetProtocol(value); return *this;} + inline VerifiedAccessEndpointRdsOptions& WithProtocol(VerifiedAccessEndpointProtocol&& value) { SetProtocol(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The port.

    + */ + inline int GetPort() const{ return m_port; } + inline bool PortHasBeenSet() const { return m_portHasBeenSet; } + inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } + inline VerifiedAccessEndpointRdsOptions& WithPort(int value) { SetPort(value); return *this;} + ///@} + + ///@{ + /** + *

    The ARN of the RDS instance.

    + */ + inline const Aws::String& GetRdsDbInstanceArn() const{ return m_rdsDbInstanceArn; } + inline bool RdsDbInstanceArnHasBeenSet() const { return m_rdsDbInstanceArnHasBeenSet; } + inline void SetRdsDbInstanceArn(const Aws::String& value) { m_rdsDbInstanceArnHasBeenSet = true; m_rdsDbInstanceArn = value; } + inline void SetRdsDbInstanceArn(Aws::String&& value) { m_rdsDbInstanceArnHasBeenSet = true; m_rdsDbInstanceArn = std::move(value); } + inline void SetRdsDbInstanceArn(const char* value) { m_rdsDbInstanceArnHasBeenSet = true; m_rdsDbInstanceArn.assign(value); } + inline VerifiedAccessEndpointRdsOptions& WithRdsDbInstanceArn(const Aws::String& value) { SetRdsDbInstanceArn(value); return *this;} + inline VerifiedAccessEndpointRdsOptions& WithRdsDbInstanceArn(Aws::String&& value) { SetRdsDbInstanceArn(std::move(value)); return *this;} + inline VerifiedAccessEndpointRdsOptions& WithRdsDbInstanceArn(const char* value) { SetRdsDbInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The ARN of the DB cluster.

    + */ + inline const Aws::String& GetRdsDbClusterArn() const{ return m_rdsDbClusterArn; } + inline bool RdsDbClusterArnHasBeenSet() const { return m_rdsDbClusterArnHasBeenSet; } + inline void SetRdsDbClusterArn(const Aws::String& value) { m_rdsDbClusterArnHasBeenSet = true; m_rdsDbClusterArn = value; } + inline void SetRdsDbClusterArn(Aws::String&& value) { m_rdsDbClusterArnHasBeenSet = true; m_rdsDbClusterArn = std::move(value); } + inline void SetRdsDbClusterArn(const char* value) { m_rdsDbClusterArnHasBeenSet = true; m_rdsDbClusterArn.assign(value); } + inline VerifiedAccessEndpointRdsOptions& WithRdsDbClusterArn(const Aws::String& value) { SetRdsDbClusterArn(value); return *this;} + inline VerifiedAccessEndpointRdsOptions& WithRdsDbClusterArn(Aws::String&& value) { SetRdsDbClusterArn(std::move(value)); return *this;} + inline VerifiedAccessEndpointRdsOptions& WithRdsDbClusterArn(const char* value) { SetRdsDbClusterArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The ARN of the RDS proxy.

    + */ + inline const Aws::String& GetRdsDbProxyArn() const{ return m_rdsDbProxyArn; } + inline bool RdsDbProxyArnHasBeenSet() const { return m_rdsDbProxyArnHasBeenSet; } + inline void SetRdsDbProxyArn(const Aws::String& value) { m_rdsDbProxyArnHasBeenSet = true; m_rdsDbProxyArn = value; } + inline void SetRdsDbProxyArn(Aws::String&& value) { m_rdsDbProxyArnHasBeenSet = true; m_rdsDbProxyArn = std::move(value); } + inline void SetRdsDbProxyArn(const char* value) { m_rdsDbProxyArnHasBeenSet = true; m_rdsDbProxyArn.assign(value); } + inline VerifiedAccessEndpointRdsOptions& WithRdsDbProxyArn(const Aws::String& value) { SetRdsDbProxyArn(value); return *this;} + inline VerifiedAccessEndpointRdsOptions& WithRdsDbProxyArn(Aws::String&& value) { SetRdsDbProxyArn(std::move(value)); return *this;} + inline VerifiedAccessEndpointRdsOptions& WithRdsDbProxyArn(const char* value) { SetRdsDbProxyArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The RDS endpoint.

    + */ + inline const Aws::String& GetRdsEndpoint() const{ return m_rdsEndpoint; } + inline bool RdsEndpointHasBeenSet() const { return m_rdsEndpointHasBeenSet; } + inline void SetRdsEndpoint(const Aws::String& value) { m_rdsEndpointHasBeenSet = true; m_rdsEndpoint = value; } + inline void SetRdsEndpoint(Aws::String&& value) { m_rdsEndpointHasBeenSet = true; m_rdsEndpoint = std::move(value); } + inline void SetRdsEndpoint(const char* value) { m_rdsEndpointHasBeenSet = true; m_rdsEndpoint.assign(value); } + inline VerifiedAccessEndpointRdsOptions& WithRdsEndpoint(const Aws::String& value) { SetRdsEndpoint(value); return *this;} + inline VerifiedAccessEndpointRdsOptions& WithRdsEndpoint(Aws::String&& value) { SetRdsEndpoint(std::move(value)); return *this;} + inline VerifiedAccessEndpointRdsOptions& WithRdsEndpoint(const char* value) { SetRdsEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The IDs of the subnets.

    + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline VerifiedAccessEndpointRdsOptions& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline VerifiedAccessEndpointRdsOptions& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline VerifiedAccessEndpointRdsOptions& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline VerifiedAccessEndpointRdsOptions& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline VerifiedAccessEndpointRdsOptions& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + private: + + VerifiedAccessEndpointProtocol m_protocol; + bool m_protocolHasBeenSet = false; + + int m_port; + bool m_portHasBeenSet = false; + + Aws::String m_rdsDbInstanceArn; + bool m_rdsDbInstanceArnHasBeenSet = false; + + Aws::String m_rdsDbClusterArn; + bool m_rdsDbClusterArnHasBeenSet = false; + + Aws::String m_rdsDbProxyArn; + bool m_rdsDbProxyArnHasBeenSet = false; + + Aws::String m_rdsEndpoint; + bool m_rdsEndpointHasBeenSet = false; + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointTarget.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointTarget.h new file mode 100644 index 00000000000..4554e632b58 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointTarget.h @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the targets for the specified Verified Access + * endpoint.

    See Also:

    AWS + * API Reference

    + */ + class VerifiedAccessEndpointTarget + { + public: + AWS_EC2_API VerifiedAccessEndpointTarget(); + AWS_EC2_API VerifiedAccessEndpointTarget(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API VerifiedAccessEndpointTarget& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The ID of the Verified Access endpoint.

    + */ + inline const Aws::String& GetVerifiedAccessEndpointId() const{ return m_verifiedAccessEndpointId; } + inline bool VerifiedAccessEndpointIdHasBeenSet() const { return m_verifiedAccessEndpointIdHasBeenSet; } + inline void SetVerifiedAccessEndpointId(const Aws::String& value) { m_verifiedAccessEndpointIdHasBeenSet = true; m_verifiedAccessEndpointId = value; } + inline void SetVerifiedAccessEndpointId(Aws::String&& value) { m_verifiedAccessEndpointIdHasBeenSet = true; m_verifiedAccessEndpointId = std::move(value); } + inline void SetVerifiedAccessEndpointId(const char* value) { m_verifiedAccessEndpointIdHasBeenSet = true; m_verifiedAccessEndpointId.assign(value); } + inline VerifiedAccessEndpointTarget& WithVerifiedAccessEndpointId(const Aws::String& value) { SetVerifiedAccessEndpointId(value); return *this;} + inline VerifiedAccessEndpointTarget& WithVerifiedAccessEndpointId(Aws::String&& value) { SetVerifiedAccessEndpointId(std::move(value)); return *this;} + inline VerifiedAccessEndpointTarget& WithVerifiedAccessEndpointId(const char* value) { SetVerifiedAccessEndpointId(value); return *this;} + ///@} + + ///@{ + /** + *

    The IP address of the target.

    + */ + inline const Aws::String& GetVerifiedAccessEndpointTargetIpAddress() const{ return m_verifiedAccessEndpointTargetIpAddress; } + inline bool VerifiedAccessEndpointTargetIpAddressHasBeenSet() const { return m_verifiedAccessEndpointTargetIpAddressHasBeenSet; } + inline void SetVerifiedAccessEndpointTargetIpAddress(const Aws::String& value) { m_verifiedAccessEndpointTargetIpAddressHasBeenSet = true; m_verifiedAccessEndpointTargetIpAddress = value; } + inline void SetVerifiedAccessEndpointTargetIpAddress(Aws::String&& value) { m_verifiedAccessEndpointTargetIpAddressHasBeenSet = true; m_verifiedAccessEndpointTargetIpAddress = std::move(value); } + inline void SetVerifiedAccessEndpointTargetIpAddress(const char* value) { m_verifiedAccessEndpointTargetIpAddressHasBeenSet = true; m_verifiedAccessEndpointTargetIpAddress.assign(value); } + inline VerifiedAccessEndpointTarget& WithVerifiedAccessEndpointTargetIpAddress(const Aws::String& value) { SetVerifiedAccessEndpointTargetIpAddress(value); return *this;} + inline VerifiedAccessEndpointTarget& WithVerifiedAccessEndpointTargetIpAddress(Aws::String&& value) { SetVerifiedAccessEndpointTargetIpAddress(std::move(value)); return *this;} + inline VerifiedAccessEndpointTarget& WithVerifiedAccessEndpointTargetIpAddress(const char* value) { SetVerifiedAccessEndpointTargetIpAddress(value); return *this;} + ///@} + + ///@{ + /** + *

    The DNS name of the target.

    + */ + inline const Aws::String& GetVerifiedAccessEndpointTargetDns() const{ return m_verifiedAccessEndpointTargetDns; } + inline bool VerifiedAccessEndpointTargetDnsHasBeenSet() const { return m_verifiedAccessEndpointTargetDnsHasBeenSet; } + inline void SetVerifiedAccessEndpointTargetDns(const Aws::String& value) { m_verifiedAccessEndpointTargetDnsHasBeenSet = true; m_verifiedAccessEndpointTargetDns = value; } + inline void SetVerifiedAccessEndpointTargetDns(Aws::String&& value) { m_verifiedAccessEndpointTargetDnsHasBeenSet = true; m_verifiedAccessEndpointTargetDns = std::move(value); } + inline void SetVerifiedAccessEndpointTargetDns(const char* value) { m_verifiedAccessEndpointTargetDnsHasBeenSet = true; m_verifiedAccessEndpointTargetDns.assign(value); } + inline VerifiedAccessEndpointTarget& WithVerifiedAccessEndpointTargetDns(const Aws::String& value) { SetVerifiedAccessEndpointTargetDns(value); return *this;} + inline VerifiedAccessEndpointTarget& WithVerifiedAccessEndpointTargetDns(Aws::String&& value) { SetVerifiedAccessEndpointTargetDns(std::move(value)); return *this;} + inline VerifiedAccessEndpointTarget& WithVerifiedAccessEndpointTargetDns(const char* value) { SetVerifiedAccessEndpointTargetDns(value); return *this;} + ///@} + private: + + Aws::String m_verifiedAccessEndpointId; + bool m_verifiedAccessEndpointIdHasBeenSet = false; + + Aws::String m_verifiedAccessEndpointTargetIpAddress; + bool m_verifiedAccessEndpointTargetIpAddressHasBeenSet = false; + + Aws::String m_verifiedAccessEndpointTargetDns; + bool m_verifiedAccessEndpointTargetDnsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointType.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointType.h index dd933e6d265..f16180b3285 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointType.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessEndpointType.h @@ -17,7 +17,9 @@ namespace Model { NOT_SET, load_balancer, - network_interface + network_interface, + rds, + cidr }; namespace VerifiedAccessEndpointTypeMapper diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstance.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstance.h index 0b72d9284d1..d41921f5b40 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstance.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstance.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -136,6 +137,18 @@ namespace Model inline void SetFipsEnabled(bool value) { m_fipsEnabledHasBeenSet = true; m_fipsEnabled = value; } inline VerifiedAccessInstance& WithFipsEnabled(bool value) { SetFipsEnabled(value); return *this;} ///@} + + ///@{ + /** + *

    The custom subdomain.

    + */ + inline const VerifiedAccessInstanceCustomSubDomain& GetCidrEndpointsCustomSubDomain() const{ return m_cidrEndpointsCustomSubDomain; } + inline bool CidrEndpointsCustomSubDomainHasBeenSet() const { return m_cidrEndpointsCustomSubDomainHasBeenSet; } + inline void SetCidrEndpointsCustomSubDomain(const VerifiedAccessInstanceCustomSubDomain& value) { m_cidrEndpointsCustomSubDomainHasBeenSet = true; m_cidrEndpointsCustomSubDomain = value; } + inline void SetCidrEndpointsCustomSubDomain(VerifiedAccessInstanceCustomSubDomain&& value) { m_cidrEndpointsCustomSubDomainHasBeenSet = true; m_cidrEndpointsCustomSubDomain = std::move(value); } + inline VerifiedAccessInstance& WithCidrEndpointsCustomSubDomain(const VerifiedAccessInstanceCustomSubDomain& value) { SetCidrEndpointsCustomSubDomain(value); return *this;} + inline VerifiedAccessInstance& WithCidrEndpointsCustomSubDomain(VerifiedAccessInstanceCustomSubDomain&& value) { SetCidrEndpointsCustomSubDomain(std::move(value)); return *this;} + ///@} private: Aws::String m_verifiedAccessInstanceId; @@ -158,6 +171,9 @@ namespace Model bool m_fipsEnabled; bool m_fipsEnabledHasBeenSet = false; + + VerifiedAccessInstanceCustomSubDomain m_cidrEndpointsCustomSubDomain; + bool m_cidrEndpointsCustomSubDomainHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceCustomSubDomain.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceCustomSubDomain.h new file mode 100644 index 00000000000..1b287cf1f90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceCustomSubDomain.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes a custom subdomain for a network CIDR endpoint for Verified + * Access.

    See Also:

    AWS + * API Reference

    + */ + class VerifiedAccessInstanceCustomSubDomain + { + public: + AWS_EC2_API VerifiedAccessInstanceCustomSubDomain(); + AWS_EC2_API VerifiedAccessInstanceCustomSubDomain(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API VerifiedAccessInstanceCustomSubDomain& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The subdomain.

    + */ + inline const Aws::String& GetSubDomain() const{ return m_subDomain; } + inline bool SubDomainHasBeenSet() const { return m_subDomainHasBeenSet; } + inline void SetSubDomain(const Aws::String& value) { m_subDomainHasBeenSet = true; m_subDomain = value; } + inline void SetSubDomain(Aws::String&& value) { m_subDomainHasBeenSet = true; m_subDomain = std::move(value); } + inline void SetSubDomain(const char* value) { m_subDomainHasBeenSet = true; m_subDomain.assign(value); } + inline VerifiedAccessInstanceCustomSubDomain& WithSubDomain(const Aws::String& value) { SetSubDomain(value); return *this;} + inline VerifiedAccessInstanceCustomSubDomain& WithSubDomain(Aws::String&& value) { SetSubDomain(std::move(value)); return *this;} + inline VerifiedAccessInstanceCustomSubDomain& WithSubDomain(const char* value) { SetSubDomain(value); return *this;} + ///@} + + ///@{ + /** + *

    The name servers.

    + */ + inline const Aws::Vector& GetNameservers() const{ return m_nameservers; } + inline bool NameserversHasBeenSet() const { return m_nameserversHasBeenSet; } + inline void SetNameservers(const Aws::Vector& value) { m_nameserversHasBeenSet = true; m_nameservers = value; } + inline void SetNameservers(Aws::Vector&& value) { m_nameserversHasBeenSet = true; m_nameservers = std::move(value); } + inline VerifiedAccessInstanceCustomSubDomain& WithNameservers(const Aws::Vector& value) { SetNameservers(value); return *this;} + inline VerifiedAccessInstanceCustomSubDomain& WithNameservers(Aws::Vector&& value) { SetNameservers(std::move(value)); return *this;} + inline VerifiedAccessInstanceCustomSubDomain& AddNameservers(const Aws::String& value) { m_nameserversHasBeenSet = true; m_nameservers.push_back(value); return *this; } + inline VerifiedAccessInstanceCustomSubDomain& AddNameservers(Aws::String&& value) { m_nameserversHasBeenSet = true; m_nameservers.push_back(std::move(value)); return *this; } + inline VerifiedAccessInstanceCustomSubDomain& AddNameservers(const char* value) { m_nameserversHasBeenSet = true; m_nameservers.push_back(value); return *this; } + ///@} + private: + + Aws::String m_subDomain; + bool m_subDomainHasBeenSet = false; + + Aws::Vector m_nameservers; + bool m_nameserversHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceOpenVpnClientConfiguration.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceOpenVpnClientConfiguration.h new file mode 100644 index 00000000000..15762c0ab53 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceOpenVpnClientConfiguration.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes a set of routes.

    See Also:

    AWS + * API Reference

    + */ + class VerifiedAccessInstanceOpenVpnClientConfiguration + { + public: + AWS_EC2_API VerifiedAccessInstanceOpenVpnClientConfiguration(); + AWS_EC2_API VerifiedAccessInstanceOpenVpnClientConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API VerifiedAccessInstanceOpenVpnClientConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The base64-encoded Open VPN client configuration.

    + */ + inline const Aws::String& GetConfig() const{ return m_config; } + inline bool ConfigHasBeenSet() const { return m_configHasBeenSet; } + inline void SetConfig(const Aws::String& value) { m_configHasBeenSet = true; m_config = value; } + inline void SetConfig(Aws::String&& value) { m_configHasBeenSet = true; m_config = std::move(value); } + inline void SetConfig(const char* value) { m_configHasBeenSet = true; m_config.assign(value); } + inline VerifiedAccessInstanceOpenVpnClientConfiguration& WithConfig(const Aws::String& value) { SetConfig(value); return *this;} + inline VerifiedAccessInstanceOpenVpnClientConfiguration& WithConfig(Aws::String&& value) { SetConfig(std::move(value)); return *this;} + inline VerifiedAccessInstanceOpenVpnClientConfiguration& WithConfig(const char* value) { SetConfig(value); return *this;} + ///@} + + ///@{ + /** + *

    The routes.

    + */ + inline const Aws::Vector& GetRoutes() const{ return m_routes; } + inline bool RoutesHasBeenSet() const { return m_routesHasBeenSet; } + inline void SetRoutes(const Aws::Vector& value) { m_routesHasBeenSet = true; m_routes = value; } + inline void SetRoutes(Aws::Vector&& value) { m_routesHasBeenSet = true; m_routes = std::move(value); } + inline VerifiedAccessInstanceOpenVpnClientConfiguration& WithRoutes(const Aws::Vector& value) { SetRoutes(value); return *this;} + inline VerifiedAccessInstanceOpenVpnClientConfiguration& WithRoutes(Aws::Vector&& value) { SetRoutes(std::move(value)); return *this;} + inline VerifiedAccessInstanceOpenVpnClientConfiguration& AddRoutes(const VerifiedAccessInstanceOpenVpnClientConfigurationRoute& value) { m_routesHasBeenSet = true; m_routes.push_back(value); return *this; } + inline VerifiedAccessInstanceOpenVpnClientConfiguration& AddRoutes(VerifiedAccessInstanceOpenVpnClientConfigurationRoute&& value) { m_routesHasBeenSet = true; m_routes.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_config; + bool m_configHasBeenSet = false; + + Aws::Vector m_routes; + bool m_routesHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceOpenVpnClientConfigurationRoute.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceOpenVpnClientConfigurationRoute.h new file mode 100644 index 00000000000..bdd1544e463 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceOpenVpnClientConfigurationRoute.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes a route.

    See Also:

    AWS + * API Reference

    + */ + class VerifiedAccessInstanceOpenVpnClientConfigurationRoute + { + public: + AWS_EC2_API VerifiedAccessInstanceOpenVpnClientConfigurationRoute(); + AWS_EC2_API VerifiedAccessInstanceOpenVpnClientConfigurationRoute(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API VerifiedAccessInstanceOpenVpnClientConfigurationRoute& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The CIDR block.

    + */ + inline const Aws::String& GetCidr() const{ return m_cidr; } + inline bool CidrHasBeenSet() const { return m_cidrHasBeenSet; } + inline void SetCidr(const Aws::String& value) { m_cidrHasBeenSet = true; m_cidr = value; } + inline void SetCidr(Aws::String&& value) { m_cidrHasBeenSet = true; m_cidr = std::move(value); } + inline void SetCidr(const char* value) { m_cidrHasBeenSet = true; m_cidr.assign(value); } + inline VerifiedAccessInstanceOpenVpnClientConfigurationRoute& WithCidr(const Aws::String& value) { SetCidr(value); return *this;} + inline VerifiedAccessInstanceOpenVpnClientConfigurationRoute& WithCidr(Aws::String&& value) { SetCidr(std::move(value)); return *this;} + inline VerifiedAccessInstanceOpenVpnClientConfigurationRoute& WithCidr(const char* value) { SetCidr(value); return *this;} + ///@} + private: + + Aws::String m_cidr; + bool m_cidrHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceUserTrustProviderClientConfiguration.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceUserTrustProviderClientConfiguration.h new file mode 100644 index 00000000000..a9aa532d72f --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessInstanceUserTrustProviderClientConfiguration.h @@ -0,0 +1,211 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the trust provider.

    See Also:

    AWS + * API Reference

    + */ + class VerifiedAccessInstanceUserTrustProviderClientConfiguration + { + public: + AWS_EC2_API VerifiedAccessInstanceUserTrustProviderClientConfiguration(); + AWS_EC2_API VerifiedAccessInstanceUserTrustProviderClientConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API VerifiedAccessInstanceUserTrustProviderClientConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The trust provider type.

    + */ + inline const UserTrustProviderType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const UserTrustProviderType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(UserTrustProviderType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithType(const UserTrustProviderType& value) { SetType(value); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithType(UserTrustProviderType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The set of user claims to be requested from the IdP.

    + */ + inline const Aws::String& GetScopes() const{ return m_scopes; } + inline bool ScopesHasBeenSet() const { return m_scopesHasBeenSet; } + inline void SetScopes(const Aws::String& value) { m_scopesHasBeenSet = true; m_scopes = value; } + inline void SetScopes(Aws::String&& value) { m_scopesHasBeenSet = true; m_scopes = std::move(value); } + inline void SetScopes(const char* value) { m_scopesHasBeenSet = true; m_scopes.assign(value); } + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithScopes(const Aws::String& value) { SetScopes(value); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithScopes(Aws::String&& value) { SetScopes(std::move(value)); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithScopes(const char* value) { SetScopes(value); return *this;} + ///@} + + ///@{ + /** + *

    The OIDC issuer identifier of the IdP.

    + */ + inline const Aws::String& GetIssuer() const{ return m_issuer; } + inline bool IssuerHasBeenSet() const { return m_issuerHasBeenSet; } + inline void SetIssuer(const Aws::String& value) { m_issuerHasBeenSet = true; m_issuer = value; } + inline void SetIssuer(Aws::String&& value) { m_issuerHasBeenSet = true; m_issuer = std::move(value); } + inline void SetIssuer(const char* value) { m_issuerHasBeenSet = true; m_issuer.assign(value); } + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithIssuer(const Aws::String& value) { SetIssuer(value); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithIssuer(Aws::String&& value) { SetIssuer(std::move(value)); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithIssuer(const char* value) { SetIssuer(value); return *this;} + ///@} + + ///@{ + /** + *

    The authorization endpoint of the IdP.

    + */ + inline const Aws::String& GetAuthorizationEndpoint() const{ return m_authorizationEndpoint; } + inline bool AuthorizationEndpointHasBeenSet() const { return m_authorizationEndpointHasBeenSet; } + inline void SetAuthorizationEndpoint(const Aws::String& value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint = value; } + inline void SetAuthorizationEndpoint(Aws::String&& value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint = std::move(value); } + inline void SetAuthorizationEndpoint(const char* value) { m_authorizationEndpointHasBeenSet = true; m_authorizationEndpoint.assign(value); } + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithAuthorizationEndpoint(const Aws::String& value) { SetAuthorizationEndpoint(value); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithAuthorizationEndpoint(Aws::String&& value) { SetAuthorizationEndpoint(std::move(value)); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithAuthorizationEndpoint(const char* value) { SetAuthorizationEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The public signing key endpoint.

    + */ + inline const Aws::String& GetPublicSigningKeyEndpoint() const{ return m_publicSigningKeyEndpoint; } + inline bool PublicSigningKeyEndpointHasBeenSet() const { return m_publicSigningKeyEndpointHasBeenSet; } + inline void SetPublicSigningKeyEndpoint(const Aws::String& value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint = value; } + inline void SetPublicSigningKeyEndpoint(Aws::String&& value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint = std::move(value); } + inline void SetPublicSigningKeyEndpoint(const char* value) { m_publicSigningKeyEndpointHasBeenSet = true; m_publicSigningKeyEndpoint.assign(value); } + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithPublicSigningKeyEndpoint(const Aws::String& value) { SetPublicSigningKeyEndpoint(value); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithPublicSigningKeyEndpoint(Aws::String&& value) { SetPublicSigningKeyEndpoint(std::move(value)); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithPublicSigningKeyEndpoint(const char* value) { SetPublicSigningKeyEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The token endpoint of the IdP.

    + */ + inline const Aws::String& GetTokenEndpoint() const{ return m_tokenEndpoint; } + inline bool TokenEndpointHasBeenSet() const { return m_tokenEndpointHasBeenSet; } + inline void SetTokenEndpoint(const Aws::String& value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint = value; } + inline void SetTokenEndpoint(Aws::String&& value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint = std::move(value); } + inline void SetTokenEndpoint(const char* value) { m_tokenEndpointHasBeenSet = true; m_tokenEndpoint.assign(value); } + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithTokenEndpoint(const Aws::String& value) { SetTokenEndpoint(value); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithTokenEndpoint(Aws::String&& value) { SetTokenEndpoint(std::move(value)); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithTokenEndpoint(const char* value) { SetTokenEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The user info endpoint of the IdP.

    + */ + inline const Aws::String& GetUserInfoEndpoint() const{ return m_userInfoEndpoint; } + inline bool UserInfoEndpointHasBeenSet() const { return m_userInfoEndpointHasBeenSet; } + inline void SetUserInfoEndpoint(const Aws::String& value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint = value; } + inline void SetUserInfoEndpoint(Aws::String&& value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint = std::move(value); } + inline void SetUserInfoEndpoint(const char* value) { m_userInfoEndpointHasBeenSet = true; m_userInfoEndpoint.assign(value); } + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithUserInfoEndpoint(const Aws::String& value) { SetUserInfoEndpoint(value); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithUserInfoEndpoint(Aws::String&& value) { SetUserInfoEndpoint(std::move(value)); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithUserInfoEndpoint(const char* value) { SetUserInfoEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

    The OAuth 2.0 client identifier.

    + */ + inline const Aws::String& GetClientId() const{ return m_clientId; } + inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } + inline void SetClientId(const Aws::String& value) { m_clientIdHasBeenSet = true; m_clientId = value; } + inline void SetClientId(Aws::String&& value) { m_clientIdHasBeenSet = true; m_clientId = std::move(value); } + inline void SetClientId(const char* value) { m_clientIdHasBeenSet = true; m_clientId.assign(value); } + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithClientId(const Aws::String& value) { SetClientId(value); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithClientId(Aws::String&& value) { SetClientId(std::move(value)); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithClientId(const char* value) { SetClientId(value); return *this;} + ///@} + + ///@{ + /** + *

    The OAuth 2.0 client secret.

    + */ + inline const Aws::String& GetClientSecret() const{ return m_clientSecret; } + inline bool ClientSecretHasBeenSet() const { return m_clientSecretHasBeenSet; } + inline void SetClientSecret(const Aws::String& value) { m_clientSecretHasBeenSet = true; m_clientSecret = value; } + inline void SetClientSecret(Aws::String&& value) { m_clientSecretHasBeenSet = true; m_clientSecret = std::move(value); } + inline void SetClientSecret(const char* value) { m_clientSecretHasBeenSet = true; m_clientSecret.assign(value); } + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithClientSecret(const Aws::String& value) { SetClientSecret(value); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithClientSecret(Aws::String&& value) { SetClientSecret(std::move(value)); return *this;} + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithClientSecret(const char* value) { SetClientSecret(value); return *this;} + ///@} + + ///@{ + /** + *

    Indicates whether Proof of Key Code Exchange (PKCE) is enabled.

    + */ + inline bool GetPkceEnabled() const{ return m_pkceEnabled; } + inline bool PkceEnabledHasBeenSet() const { return m_pkceEnabledHasBeenSet; } + inline void SetPkceEnabled(bool value) { m_pkceEnabledHasBeenSet = true; m_pkceEnabled = value; } + inline VerifiedAccessInstanceUserTrustProviderClientConfiguration& WithPkceEnabled(bool value) { SetPkceEnabled(value); return *this;} + ///@} + private: + + UserTrustProviderType m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_scopes; + bool m_scopesHasBeenSet = false; + + Aws::String m_issuer; + bool m_issuerHasBeenSet = false; + + Aws::String m_authorizationEndpoint; + bool m_authorizationEndpointHasBeenSet = false; + + Aws::String m_publicSigningKeyEndpoint; + bool m_publicSigningKeyEndpointHasBeenSet = false; + + Aws::String m_tokenEndpoint; + bool m_tokenEndpointHasBeenSet = false; + + Aws::String m_userInfoEndpoint; + bool m_userInfoEndpointHasBeenSet = false; + + Aws::String m_clientId; + bool m_clientIdHasBeenSet = false; + + Aws::String m_clientSecret; + bool m_clientSecretHasBeenSet = false; + + bool m_pkceEnabled; + bool m_pkceEnabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessTrustProvider.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessTrustProvider.h index b06efc28565..9105f42453b 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessTrustProvider.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VerifiedAccessTrustProvider.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -203,6 +204,18 @@ namespace Model inline VerifiedAccessTrustProvider& WithSseSpecification(const VerifiedAccessSseSpecificationResponse& value) { SetSseSpecification(value); return *this;} inline VerifiedAccessTrustProvider& WithSseSpecification(VerifiedAccessSseSpecificationResponse&& value) { SetSseSpecification(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    The OpenID Connect (OIDC) options.

    + */ + inline const NativeApplicationOidcOptions& GetNativeApplicationOidcOptions() const{ return m_nativeApplicationOidcOptions; } + inline bool NativeApplicationOidcOptionsHasBeenSet() const { return m_nativeApplicationOidcOptionsHasBeenSet; } + inline void SetNativeApplicationOidcOptions(const NativeApplicationOidcOptions& value) { m_nativeApplicationOidcOptionsHasBeenSet = true; m_nativeApplicationOidcOptions = value; } + inline void SetNativeApplicationOidcOptions(NativeApplicationOidcOptions&& value) { m_nativeApplicationOidcOptionsHasBeenSet = true; m_nativeApplicationOidcOptions = std::move(value); } + inline VerifiedAccessTrustProvider& WithNativeApplicationOidcOptions(const NativeApplicationOidcOptions& value) { SetNativeApplicationOidcOptions(value); return *this;} + inline VerifiedAccessTrustProvider& WithNativeApplicationOidcOptions(NativeApplicationOidcOptions&& value) { SetNativeApplicationOidcOptions(std::move(value)); return *this;} + ///@} private: Aws::String m_verifiedAccessTrustProviderId; @@ -240,6 +253,9 @@ namespace Model VerifiedAccessSseSpecificationResponse m_sseSpecification; bool m_sseSpecificationHasBeenSet = false; + + NativeApplicationOidcOptions m_nativeApplicationOidcOptions; + bool m_nativeApplicationOidcOptionsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Volume.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Volume.h index 8b6d0fb192a..3ad08c81bd3 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Volume.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Volume.h @@ -148,7 +148,7 @@ namespace Model ///@{ /** - *

    The entity that manages the volume.

    + *

    The service provider that manages the volume.

    */ inline const OperatorResponse& GetOperator() const{ return m_operator; } inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcBlockPublicAccessExclusionsAllowed.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcBlockPublicAccessExclusionsAllowed.h new file mode 100644 index 00000000000..e73b267b151 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcBlockPublicAccessExclusionsAllowed.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + enum class VpcBlockPublicAccessExclusionsAllowed + { + NOT_SET, + allowed, + not_allowed + }; + +namespace VpcBlockPublicAccessExclusionsAllowedMapper +{ +AWS_EC2_API VpcBlockPublicAccessExclusionsAllowed GetVpcBlockPublicAccessExclusionsAllowedForName(const Aws::String& name); + +AWS_EC2_API Aws::String GetNameForVpcBlockPublicAccessExclusionsAllowed(VpcBlockPublicAccessExclusionsAllowed value); +} // namespace VpcBlockPublicAccessExclusionsAllowedMapper +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcBlockPublicAccessOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcBlockPublicAccessOptions.h index c0d1f014cf7..5073ad6f270 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcBlockPublicAccessOptions.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcBlockPublicAccessOptions.h @@ -10,6 +10,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -134,6 +136,36 @@ namespace Model inline VpcBlockPublicAccessOptions& WithLastUpdateTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdateTimestamp(value); return *this;} inline VpcBlockPublicAccessOptions& WithLastUpdateTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdateTimestamp(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    The entity that manages the state of VPC BPA. Possible values include:

    + *
    • account - The state is managed by the account.

      + *
    • declarative-policy - The state is managed by a + * declarative policy and can't be modified by the account.

    + */ + inline const ManagedBy& GetManagedBy() const{ return m_managedBy; } + inline bool ManagedByHasBeenSet() const { return m_managedByHasBeenSet; } + inline void SetManagedBy(const ManagedBy& value) { m_managedByHasBeenSet = true; m_managedBy = value; } + inline void SetManagedBy(ManagedBy&& value) { m_managedByHasBeenSet = true; m_managedBy = std::move(value); } + inline VpcBlockPublicAccessOptions& WithManagedBy(const ManagedBy& value) { SetManagedBy(value); return *this;} + inline VpcBlockPublicAccessOptions& WithManagedBy(ManagedBy&& value) { SetManagedBy(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Determines if exclusions are allowed. If you have enabled + * VPC BPA at the Organization level, exclusions may be + * not-allowed. Otherwise, they are allowed.

    + */ + inline const VpcBlockPublicAccessExclusionsAllowed& GetExclusionsAllowed() const{ return m_exclusionsAllowed; } + inline bool ExclusionsAllowedHasBeenSet() const { return m_exclusionsAllowedHasBeenSet; } + inline void SetExclusionsAllowed(const VpcBlockPublicAccessExclusionsAllowed& value) { m_exclusionsAllowedHasBeenSet = true; m_exclusionsAllowed = value; } + inline void SetExclusionsAllowed(VpcBlockPublicAccessExclusionsAllowed&& value) { m_exclusionsAllowedHasBeenSet = true; m_exclusionsAllowed = std::move(value); } + inline VpcBlockPublicAccessOptions& WithExclusionsAllowed(const VpcBlockPublicAccessExclusionsAllowed& value) { SetExclusionsAllowed(value); return *this;} + inline VpcBlockPublicAccessOptions& WithExclusionsAllowed(VpcBlockPublicAccessExclusionsAllowed&& value) { SetExclusionsAllowed(std::move(value)); return *this;} + ///@} private: Aws::String m_awsAccountId; @@ -153,6 +185,12 @@ namespace Model Aws::Utils::DateTime m_lastUpdateTimestamp; bool m_lastUpdateTimestampHasBeenSet = false; + + ManagedBy m_managedBy; + bool m_managedByHasBeenSet = false; + + VpcBlockPublicAccessExclusionsAllowed m_exclusionsAllowed; + bool m_exclusionsAllowedHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpoint.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpoint.h index 3f101837218..788380dea58 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpoint.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpoint.h @@ -17,6 +17,7 @@ #include #include #include +#include #include namespace Aws @@ -301,6 +302,76 @@ namespace Model inline VpcEndpoint& WithLastError(LastError&& value) { SetLastError(std::move(value)); return *this;} ///@} + ///@{ + /** + *

    Array of IPv4 prefixes.

    + */ + inline const Aws::Vector& GetIpv4Prefixes() const{ return m_ipv4Prefixes; } + inline bool Ipv4PrefixesHasBeenSet() const { return m_ipv4PrefixesHasBeenSet; } + inline void SetIpv4Prefixes(const Aws::Vector& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes = value; } + inline void SetIpv4Prefixes(Aws::Vector&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes = std::move(value); } + inline VpcEndpoint& WithIpv4Prefixes(const Aws::Vector& value) { SetIpv4Prefixes(value); return *this;} + inline VpcEndpoint& WithIpv4Prefixes(Aws::Vector&& value) { SetIpv4Prefixes(std::move(value)); return *this;} + inline VpcEndpoint& AddIpv4Prefixes(const SubnetIpPrefixes& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes.push_back(value); return *this; } + inline VpcEndpoint& AddIpv4Prefixes(SubnetIpPrefixes&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    Array of IPv6 prefixes.

    + */ + inline const Aws::Vector& GetIpv6Prefixes() const{ return m_ipv6Prefixes; } + inline bool Ipv6PrefixesHasBeenSet() const { return m_ipv6PrefixesHasBeenSet; } + inline void SetIpv6Prefixes(const Aws::Vector& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes = value; } + inline void SetIpv6Prefixes(Aws::Vector&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes = std::move(value); } + inline VpcEndpoint& WithIpv6Prefixes(const Aws::Vector& value) { SetIpv6Prefixes(value); return *this;} + inline VpcEndpoint& WithIpv6Prefixes(Aws::Vector&& value) { SetIpv6Prefixes(std::move(value)); return *this;} + inline VpcEndpoint& AddIpv6Prefixes(const SubnetIpPrefixes& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes.push_back(value); return *this; } + inline VpcEndpoint& AddIpv6Prefixes(SubnetIpPrefixes&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    Reason for the failure.

    + */ + inline const Aws::String& GetFailureReason() const{ return m_failureReason; } + inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } + inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } + inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } + inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); } + inline VpcEndpoint& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} + inline VpcEndpoint& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} + inline VpcEndpoint& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the service network.

    + */ + inline const Aws::String& GetServiceNetworkArn() const{ return m_serviceNetworkArn; } + inline bool ServiceNetworkArnHasBeenSet() const { return m_serviceNetworkArnHasBeenSet; } + inline void SetServiceNetworkArn(const Aws::String& value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn = value; } + inline void SetServiceNetworkArn(Aws::String&& value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn = std::move(value); } + inline void SetServiceNetworkArn(const char* value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn.assign(value); } + inline VpcEndpoint& WithServiceNetworkArn(const Aws::String& value) { SetServiceNetworkArn(value); return *this;} + inline VpcEndpoint& WithServiceNetworkArn(Aws::String&& value) { SetServiceNetworkArn(std::move(value)); return *this;} + inline VpcEndpoint& WithServiceNetworkArn(const char* value) { SetServiceNetworkArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the resource configuration.

    + */ + inline const Aws::String& GetResourceConfigurationArn() const{ return m_resourceConfigurationArn; } + inline bool ResourceConfigurationArnHasBeenSet() const { return m_resourceConfigurationArnHasBeenSet; } + inline void SetResourceConfigurationArn(const Aws::String& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = value; } + inline void SetResourceConfigurationArn(Aws::String&& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = std::move(value); } + inline void SetResourceConfigurationArn(const char* value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn.assign(value); } + inline VpcEndpoint& WithResourceConfigurationArn(const Aws::String& value) { SetResourceConfigurationArn(value); return *this;} + inline VpcEndpoint& WithResourceConfigurationArn(Aws::String&& value) { SetResourceConfigurationArn(std::move(value)); return *this;} + inline VpcEndpoint& WithResourceConfigurationArn(const char* value) { SetResourceConfigurationArn(value); return *this;} + ///@} + ///@{ /** *

    The Region where the service is hosted.

    @@ -373,6 +444,21 @@ namespace Model LastError m_lastError; bool m_lastErrorHasBeenSet = false; + Aws::Vector m_ipv4Prefixes; + bool m_ipv4PrefixesHasBeenSet = false; + + Aws::Vector m_ipv6Prefixes; + bool m_ipv6PrefixesHasBeenSet = false; + + Aws::String m_failureReason; + bool m_failureReasonHasBeenSet = false; + + Aws::String m_serviceNetworkArn; + bool m_serviceNetworkArnHasBeenSet = false; + + Aws::String m_resourceConfigurationArn; + bool m_resourceConfigurationArnHasBeenSet = false; + Aws::String m_serviceRegion; bool m_serviceRegionHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpointAssociation.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpointAssociation.h new file mode 100644 index 00000000000..83141bce8f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpointAssociation.h @@ -0,0 +1,252 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

    Describes the VPC resources, VPC endpoint services, Lattice services, or + * service networks associated with the VPC endpoint.

    See Also:

    AWS + * API Reference

    + */ + class VpcEndpointAssociation + { + public: + AWS_EC2_API VpcEndpointAssociation(); + AWS_EC2_API VpcEndpointAssociation(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API VpcEndpointAssociation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

    The ID of the VPC endpoint association.

    + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline VpcEndpointAssociation& WithId(const Aws::String& value) { SetId(value); return *this;} + inline VpcEndpointAssociation& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline VpcEndpointAssociation& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the VPC endpoint.

    + */ + inline const Aws::String& GetVpcEndpointId() const{ return m_vpcEndpointId; } + inline bool VpcEndpointIdHasBeenSet() const { return m_vpcEndpointIdHasBeenSet; } + inline void SetVpcEndpointId(const Aws::String& value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId = value; } + inline void SetVpcEndpointId(Aws::String&& value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId = std::move(value); } + inline void SetVpcEndpointId(const char* value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId.assign(value); } + inline VpcEndpointAssociation& WithVpcEndpointId(const Aws::String& value) { SetVpcEndpointId(value); return *this;} + inline VpcEndpointAssociation& WithVpcEndpointId(Aws::String&& value) { SetVpcEndpointId(std::move(value)); return *this;} + inline VpcEndpointAssociation& WithVpcEndpointId(const char* value) { SetVpcEndpointId(value); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the service network.

    + */ + inline const Aws::String& GetServiceNetworkArn() const{ return m_serviceNetworkArn; } + inline bool ServiceNetworkArnHasBeenSet() const { return m_serviceNetworkArnHasBeenSet; } + inline void SetServiceNetworkArn(const Aws::String& value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn = value; } + inline void SetServiceNetworkArn(Aws::String&& value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn = std::move(value); } + inline void SetServiceNetworkArn(const char* value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn.assign(value); } + inline VpcEndpointAssociation& WithServiceNetworkArn(const Aws::String& value) { SetServiceNetworkArn(value); return *this;} + inline VpcEndpointAssociation& WithServiceNetworkArn(Aws::String&& value) { SetServiceNetworkArn(std::move(value)); return *this;} + inline VpcEndpointAssociation& WithServiceNetworkArn(const char* value) { SetServiceNetworkArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The name of the service network.

    + */ + inline const Aws::String& GetServiceNetworkName() const{ return m_serviceNetworkName; } + inline bool ServiceNetworkNameHasBeenSet() const { return m_serviceNetworkNameHasBeenSet; } + inline void SetServiceNetworkName(const Aws::String& value) { m_serviceNetworkNameHasBeenSet = true; m_serviceNetworkName = value; } + inline void SetServiceNetworkName(Aws::String&& value) { m_serviceNetworkNameHasBeenSet = true; m_serviceNetworkName = std::move(value); } + inline void SetServiceNetworkName(const char* value) { m_serviceNetworkNameHasBeenSet = true; m_serviceNetworkName.assign(value); } + inline VpcEndpointAssociation& WithServiceNetworkName(const Aws::String& value) { SetServiceNetworkName(value); return *this;} + inline VpcEndpointAssociation& WithServiceNetworkName(Aws::String&& value) { SetServiceNetworkName(std::move(value)); return *this;} + inline VpcEndpointAssociation& WithServiceNetworkName(const char* value) { SetServiceNetworkName(value); return *this;} + ///@} + + ///@{ + /** + *

    The connectivity status of the resources associated to a VPC endpoint. The + * resource is accessible if the associated resource configuration is + * AVAILABLE, otherwise the resource is inaccessible.

    + */ + inline const Aws::String& GetAssociatedResourceAccessibility() const{ return m_associatedResourceAccessibility; } + inline bool AssociatedResourceAccessibilityHasBeenSet() const { return m_associatedResourceAccessibilityHasBeenSet; } + inline void SetAssociatedResourceAccessibility(const Aws::String& value) { m_associatedResourceAccessibilityHasBeenSet = true; m_associatedResourceAccessibility = value; } + inline void SetAssociatedResourceAccessibility(Aws::String&& value) { m_associatedResourceAccessibilityHasBeenSet = true; m_associatedResourceAccessibility = std::move(value); } + inline void SetAssociatedResourceAccessibility(const char* value) { m_associatedResourceAccessibilityHasBeenSet = true; m_associatedResourceAccessibility.assign(value); } + inline VpcEndpointAssociation& WithAssociatedResourceAccessibility(const Aws::String& value) { SetAssociatedResourceAccessibility(value); return *this;} + inline VpcEndpointAssociation& WithAssociatedResourceAccessibility(Aws::String&& value) { SetAssociatedResourceAccessibility(std::move(value)); return *this;} + inline VpcEndpointAssociation& WithAssociatedResourceAccessibility(const char* value) { SetAssociatedResourceAccessibility(value); return *this;} + ///@} + + ///@{ + /** + *

    A message related to why an VPC endpoint association failed.

    + */ + inline const Aws::String& GetFailureReason() const{ return m_failureReason; } + inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } + inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } + inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } + inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); } + inline VpcEndpointAssociation& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} + inline VpcEndpointAssociation& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} + inline VpcEndpointAssociation& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} + ///@} + + ///@{ + /** + *

    An error code related to why an VPC endpoint association failed.

    + */ + inline const Aws::String& GetFailureCode() const{ return m_failureCode; } + inline bool FailureCodeHasBeenSet() const { return m_failureCodeHasBeenSet; } + inline void SetFailureCode(const Aws::String& value) { m_failureCodeHasBeenSet = true; m_failureCode = value; } + inline void SetFailureCode(Aws::String&& value) { m_failureCodeHasBeenSet = true; m_failureCode = std::move(value); } + inline void SetFailureCode(const char* value) { m_failureCodeHasBeenSet = true; m_failureCode.assign(value); } + inline VpcEndpointAssociation& WithFailureCode(const Aws::String& value) { SetFailureCode(value); return *this;} + inline VpcEndpointAssociation& WithFailureCode(Aws::String&& value) { SetFailureCode(std::move(value)); return *this;} + inline VpcEndpointAssociation& WithFailureCode(const char* value) { SetFailureCode(value); return *this;} + ///@} + + ///@{ + /** + *

    The DNS entry of the VPC endpoint association.

    + */ + inline const DnsEntry& GetDnsEntry() const{ return m_dnsEntry; } + inline bool DnsEntryHasBeenSet() const { return m_dnsEntryHasBeenSet; } + inline void SetDnsEntry(const DnsEntry& value) { m_dnsEntryHasBeenSet = true; m_dnsEntry = value; } + inline void SetDnsEntry(DnsEntry&& value) { m_dnsEntryHasBeenSet = true; m_dnsEntry = std::move(value); } + inline VpcEndpointAssociation& WithDnsEntry(const DnsEntry& value) { SetDnsEntry(value); return *this;} + inline VpcEndpointAssociation& WithDnsEntry(DnsEntry&& value) { SetDnsEntry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The private DNS entry of the VPC endpoint association.

    + */ + inline const DnsEntry& GetPrivateDnsEntry() const{ return m_privateDnsEntry; } + inline bool PrivateDnsEntryHasBeenSet() const { return m_privateDnsEntryHasBeenSet; } + inline void SetPrivateDnsEntry(const DnsEntry& value) { m_privateDnsEntryHasBeenSet = true; m_privateDnsEntry = value; } + inline void SetPrivateDnsEntry(DnsEntry&& value) { m_privateDnsEntryHasBeenSet = true; m_privateDnsEntry = std::move(value); } + inline VpcEndpointAssociation& WithPrivateDnsEntry(const DnsEntry& value) { SetPrivateDnsEntry(value); return *this;} + inline VpcEndpointAssociation& WithPrivateDnsEntry(DnsEntry&& value) { SetPrivateDnsEntry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the associated resource.

    + */ + inline const Aws::String& GetAssociatedResourceArn() const{ return m_associatedResourceArn; } + inline bool AssociatedResourceArnHasBeenSet() const { return m_associatedResourceArnHasBeenSet; } + inline void SetAssociatedResourceArn(const Aws::String& value) { m_associatedResourceArnHasBeenSet = true; m_associatedResourceArn = value; } + inline void SetAssociatedResourceArn(Aws::String&& value) { m_associatedResourceArnHasBeenSet = true; m_associatedResourceArn = std::move(value); } + inline void SetAssociatedResourceArn(const char* value) { m_associatedResourceArnHasBeenSet = true; m_associatedResourceArn.assign(value); } + inline VpcEndpointAssociation& WithAssociatedResourceArn(const Aws::String& value) { SetAssociatedResourceArn(value); return *this;} + inline VpcEndpointAssociation& WithAssociatedResourceArn(Aws::String&& value) { SetAssociatedResourceArn(std::move(value)); return *this;} + inline VpcEndpointAssociation& WithAssociatedResourceArn(const char* value) { SetAssociatedResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the resource configuration group.

    + */ + inline const Aws::String& GetResourceConfigurationGroupArn() const{ return m_resourceConfigurationGroupArn; } + inline bool ResourceConfigurationGroupArnHasBeenSet() const { return m_resourceConfigurationGroupArnHasBeenSet; } + inline void SetResourceConfigurationGroupArn(const Aws::String& value) { m_resourceConfigurationGroupArnHasBeenSet = true; m_resourceConfigurationGroupArn = value; } + inline void SetResourceConfigurationGroupArn(Aws::String&& value) { m_resourceConfigurationGroupArnHasBeenSet = true; m_resourceConfigurationGroupArn = std::move(value); } + inline void SetResourceConfigurationGroupArn(const char* value) { m_resourceConfigurationGroupArnHasBeenSet = true; m_resourceConfigurationGroupArn.assign(value); } + inline VpcEndpointAssociation& WithResourceConfigurationGroupArn(const Aws::String& value) { SetResourceConfigurationGroupArn(value); return *this;} + inline VpcEndpointAssociation& WithResourceConfigurationGroupArn(Aws::String&& value) { SetResourceConfigurationGroupArn(std::move(value)); return *this;} + inline VpcEndpointAssociation& WithResourceConfigurationGroupArn(const char* value) { SetResourceConfigurationGroupArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The tags to apply to the VPC endpoint association.

    + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline VpcEndpointAssociation& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + inline VpcEndpointAssociation& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + inline VpcEndpointAssociation& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + inline VpcEndpointAssociation& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_vpcEndpointId; + bool m_vpcEndpointIdHasBeenSet = false; + + Aws::String m_serviceNetworkArn; + bool m_serviceNetworkArnHasBeenSet = false; + + Aws::String m_serviceNetworkName; + bool m_serviceNetworkNameHasBeenSet = false; + + Aws::String m_associatedResourceAccessibility; + bool m_associatedResourceAccessibilityHasBeenSet = false; + + Aws::String m_failureReason; + bool m_failureReasonHasBeenSet = false; + + Aws::String m_failureCode; + bool m_failureCodeHasBeenSet = false; + + DnsEntry m_dnsEntry; + bool m_dnsEntryHasBeenSet = false; + + DnsEntry m_privateDnsEntry; + bool m_privateDnsEntryHasBeenSet = false; + + Aws::String m_associatedResourceArn; + bool m_associatedResourceArnHasBeenSet = false; + + Aws::String m_resourceConfigurationGroupArn; + bool m_resourceConfigurationGroupArnHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpointType.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpointType.h index 20cead59610..be0a0d10a1a 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpointType.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/VpcEndpointType.h @@ -18,7 +18,9 @@ namespace Model NOT_SET, Interface, Gateway, - GatewayLoadBalancer + GatewayLoadBalancer, + Resource, + ServiceNetwork }; namespace VpcEndpointTypeMapper diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp index 40a26baa38d..cd784df059b 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp @@ -69,6 +69,7 @@ #include #include #include +#include #include #include #include @@ -120,7 +121,6 @@ #include #include #include -#include #include @@ -1513,6 +1513,32 @@ CancelConversionTaskOutcome EC2Client::CancelConversionTask(const CancelConversi {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CancelDeclarativePoliciesReportOutcome EC2Client::CancelDeclarativePoliciesReport(const CancelDeclarativePoliciesReportRequest& request) const +{ + AWS_OPERATION_GUARD(CancelDeclarativePoliciesReport); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CancelDeclarativePoliciesReport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CancelDeclarativePoliciesReport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CancelDeclarativePoliciesReport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CancelDeclarativePoliciesReportOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CancelDeclarativePoliciesReport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CancelDeclarativePoliciesReportOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CancelExportTaskOutcome EC2Client::CancelExportTask(const CancelExportTaskRequest& request) const { AWS_OPERATION_GUARD(CancelExportTask); @@ -2850,29 +2876,3 @@ CreateNetworkInterfacePermissionOutcome EC2Client::CreateNetworkInterfacePermiss {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -CreatePlacementGroupOutcome EC2Client::CreatePlacementGroup(const CreatePlacementGroupRequest& request) const -{ - AWS_OPERATION_GUARD(CreatePlacementGroup); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreatePlacementGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreatePlacementGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, CreatePlacementGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> CreatePlacementGroupOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreatePlacementGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return CreatePlacementGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client1.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client1.cpp index 1c98fa704ff..d01971fc660 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client1.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client1.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -120,7 +121,6 @@ #include #include #include -#include #include @@ -137,6 +137,32 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +CreatePlacementGroupOutcome EC2Client::CreatePlacementGroup(const CreatePlacementGroupRequest& request) const +{ + AWS_OPERATION_GUARD(CreatePlacementGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreatePlacementGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreatePlacementGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreatePlacementGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreatePlacementGroupOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreatePlacementGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreatePlacementGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreatePublicIpv4PoolOutcome EC2Client::CreatePublicIpv4Pool(const CreatePublicIpv4PoolRequest& request) const { AWS_OPERATION_GUARD(CreatePublicIpv4Pool); @@ -2711,29 +2737,3 @@ DeleteTransitGatewayPeeringAttachmentOutcome EC2Client::DeleteTransitGatewayPeer {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -DeleteTransitGatewayPolicyTableOutcome EC2Client::DeleteTransitGatewayPolicyTable(const DeleteTransitGatewayPolicyTableRequest& request) const -{ - AWS_OPERATION_GUARD(DeleteTransitGatewayPolicyTable); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteTransitGatewayPolicyTable, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteTransitGatewayPolicyTable, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, DeleteTransitGatewayPolicyTable, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> DeleteTransitGatewayPolicyTableOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteTransitGatewayPolicyTable, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return DeleteTransitGatewayPolicyTableOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client2.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client2.cpp index 9ac9f8be707..890596a03b1 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client2.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client2.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -73,6 +74,7 @@ #include #include #include +#include #include #include #include @@ -119,8 +121,6 @@ #include #include #include -#include -#include #include @@ -137,6 +137,32 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +DeleteTransitGatewayPolicyTableOutcome EC2Client::DeleteTransitGatewayPolicyTable(const DeleteTransitGatewayPolicyTableRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteTransitGatewayPolicyTable); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteTransitGatewayPolicyTable, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteTransitGatewayPolicyTable, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteTransitGatewayPolicyTable, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteTransitGatewayPolicyTableOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteTransitGatewayPolicyTable, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteTransitGatewayPolicyTableOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteTransitGatewayPrefixListReferenceOutcome EC2Client::DeleteTransitGatewayPrefixListReference(const DeleteTransitGatewayPrefixListReferenceRequest& request) const { AWS_OPERATION_GUARD(DeleteTransitGatewayPrefixListReference); @@ -1489,6 +1515,32 @@ DescribeCustomerGatewaysOutcome EC2Client::DescribeCustomerGateways(const Descri {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeDeclarativePoliciesReportsOutcome EC2Client::DescribeDeclarativePoliciesReports(const DescribeDeclarativePoliciesReportsRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeDeclarativePoliciesReports); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeDeclarativePoliciesReports, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeDeclarativePoliciesReports, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeDeclarativePoliciesReports, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeDeclarativePoliciesReportsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeDeclarativePoliciesReports, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeDeclarativePoliciesReportsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DescribeDhcpOptionsOutcome EC2Client::DescribeDhcpOptions(const DescribeDhcpOptionsRequest& request) const { AWS_OPERATION_GUARD(DescribeDhcpOptions); @@ -2685,55 +2737,3 @@ DescribeLaunchTemplatesOutcome EC2Client::DescribeLaunchTemplates(const Describe {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcome EC2Client::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations(const DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest& request) const -{ - AWS_OPERATION_GUARD(DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -DescribeLocalGatewayRouteTableVpcAssociationsOutcome EC2Client::DescribeLocalGatewayRouteTableVpcAssociations(const DescribeLocalGatewayRouteTableVpcAssociationsRequest& request) const -{ - AWS_OPERATION_GUARD(DescribeLocalGatewayRouteTableVpcAssociations); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeLocalGatewayRouteTableVpcAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeLocalGatewayRouteTableVpcAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, DescribeLocalGatewayRouteTableVpcAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> DescribeLocalGatewayRouteTableVpcAssociationsOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeLocalGatewayRouteTableVpcAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return DescribeLocalGatewayRouteTableVpcAssociationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client3.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client3.cpp index 8196375f6af..559fce7c2d4 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client3.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client3.cpp @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include #include @@ -97,6 +99,7 @@ #include #include #include +#include #include #include #include @@ -114,13 +117,10 @@ #include #include #include +#include #include #include #include -#include -#include -#include -#include #include @@ -137,6 +137,58 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcome EC2Client::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations(const DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DescribeLocalGatewayRouteTableVpcAssociationsOutcome EC2Client::DescribeLocalGatewayRouteTableVpcAssociations(const DescribeLocalGatewayRouteTableVpcAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeLocalGatewayRouteTableVpcAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeLocalGatewayRouteTableVpcAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeLocalGatewayRouteTableVpcAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeLocalGatewayRouteTableVpcAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeLocalGatewayRouteTableVpcAssociationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeLocalGatewayRouteTableVpcAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeLocalGatewayRouteTableVpcAssociationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DescribeLocalGatewayRouteTablesOutcome EC2Client::DescribeLocalGatewayRouteTables(const DescribeLocalGatewayRouteTablesRequest& request) const { AWS_OPERATION_GUARD(DescribeLocalGatewayRouteTables); @@ -2113,6 +2165,32 @@ DescribeVpcClassicLinkDnsSupportOutcome EC2Client::DescribeVpcClassicLinkDnsSupp {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeVpcEndpointAssociationsOutcome EC2Client::DescribeVpcEndpointAssociations(const DescribeVpcEndpointAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeVpcEndpointAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeVpcEndpointAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeVpcEndpointAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeVpcEndpointAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeVpcEndpointAssociationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeVpcEndpointAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeVpcEndpointAssociationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DescribeVpcEndpointConnectionNotificationsOutcome EC2Client::DescribeVpcEndpointConnectionNotifications(const DescribeVpcEndpointConnectionNotificationsRequest& request) const { AWS_OPERATION_GUARD(DescribeVpcEndpointConnectionNotifications); @@ -2555,6 +2633,32 @@ DisableAddressTransferOutcome EC2Client::DisableAddressTransfer(const DisableAdd {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DisableAllowedImagesSettingsOutcome EC2Client::DisableAllowedImagesSettings(const DisableAllowedImagesSettingsRequest& request) const +{ + AWS_OPERATION_GUARD(DisableAllowedImagesSettings); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableAllowedImagesSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableAllowedImagesSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisableAllowedImagesSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DisableAllowedImagesSettingsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableAllowedImagesSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisableAllowedImagesSettingsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DisableAwsNetworkPerformanceMetricSubscriptionOutcome EC2Client::DisableAwsNetworkPerformanceMetricSubscription(const DisableAwsNetworkPerformanceMetricSubscriptionRequest& request) const { AWS_OPERATION_GUARD(DisableAwsNetworkPerformanceMetricSubscription); @@ -2633,107 +2737,3 @@ DisableFastLaunchOutcome EC2Client::DisableFastLaunch(const DisableFastLaunchReq {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -DisableFastSnapshotRestoresOutcome EC2Client::DisableFastSnapshotRestores(const DisableFastSnapshotRestoresRequest& request) const -{ - AWS_OPERATION_GUARD(DisableFastSnapshotRestores); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableFastSnapshotRestores, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableFastSnapshotRestores, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, DisableFastSnapshotRestores, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> DisableFastSnapshotRestoresOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableFastSnapshotRestores, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return DisableFastSnapshotRestoresOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -DisableImageOutcome EC2Client::DisableImage(const DisableImageRequest& request) const -{ - AWS_OPERATION_GUARD(DisableImage); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableImage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableImage, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, DisableImage, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> DisableImageOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableImage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return DisableImageOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -DisableImageBlockPublicAccessOutcome EC2Client::DisableImageBlockPublicAccess(const DisableImageBlockPublicAccessRequest& request) const -{ - AWS_OPERATION_GUARD(DisableImageBlockPublicAccess); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableImageBlockPublicAccess, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableImageBlockPublicAccess, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, DisableImageBlockPublicAccess, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> DisableImageBlockPublicAccessOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableImageBlockPublicAccess, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return DisableImageBlockPublicAccessOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -DisableImageDeprecationOutcome EC2Client::DisableImageDeprecation(const DisableImageDeprecationRequest& request) const -{ - AWS_OPERATION_GUARD(DisableImageDeprecation); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableImageDeprecation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableImageDeprecation, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, DisableImageDeprecation, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> DisableImageDeprecationOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableImageDeprecation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return DisableImageDeprecationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client4.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client4.cpp index e1ec17df30d..766b4d8dfe2 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client4.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client4.cpp @@ -21,6 +21,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -47,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -68,6 +73,8 @@ #include #include #include +#include +#include #include #include #include @@ -75,6 +82,7 @@ #include #include #include +#include #include #include #include @@ -113,14 +121,6 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include #include @@ -137,6 +137,110 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +DisableFastSnapshotRestoresOutcome EC2Client::DisableFastSnapshotRestores(const DisableFastSnapshotRestoresRequest& request) const +{ + AWS_OPERATION_GUARD(DisableFastSnapshotRestores); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableFastSnapshotRestores, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableFastSnapshotRestores, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisableFastSnapshotRestores, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DisableFastSnapshotRestoresOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableFastSnapshotRestores, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisableFastSnapshotRestoresOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DisableImageOutcome EC2Client::DisableImage(const DisableImageRequest& request) const +{ + AWS_OPERATION_GUARD(DisableImage); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableImage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableImage, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisableImage, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DisableImageOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableImage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisableImageOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DisableImageBlockPublicAccessOutcome EC2Client::DisableImageBlockPublicAccess(const DisableImageBlockPublicAccessRequest& request) const +{ + AWS_OPERATION_GUARD(DisableImageBlockPublicAccess); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableImageBlockPublicAccess, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableImageBlockPublicAccess, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisableImageBlockPublicAccess, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DisableImageBlockPublicAccessOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableImageBlockPublicAccess, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisableImageBlockPublicAccessOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DisableImageDeprecationOutcome EC2Client::DisableImageDeprecation(const DisableImageDeprecationRequest& request) const +{ + AWS_OPERATION_GUARD(DisableImageDeprecation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableImageDeprecation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableImageDeprecation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisableImageDeprecation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DisableImageDeprecationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableImageDeprecation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisableImageDeprecationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DisableImageDeregistrationProtectionOutcome EC2Client::DisableImageDeregistrationProtection(const DisableImageDeregistrationProtectionRequest& request) const { AWS_OPERATION_GUARD(DisableImageDeregistrationProtection); @@ -813,6 +917,32 @@ EnableAddressTransferOutcome EC2Client::EnableAddressTransfer(const EnableAddres {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +EnableAllowedImagesSettingsOutcome EC2Client::EnableAllowedImagesSettings(const EnableAllowedImagesSettingsRequest& request) const +{ + AWS_OPERATION_GUARD(EnableAllowedImagesSettings); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EnableAllowedImagesSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EnableAllowedImagesSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EnableAllowedImagesSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EnableAllowedImagesSettingsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EnableAllowedImagesSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return EnableAllowedImagesSettingsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + EnableAwsNetworkPerformanceMetricSubscriptionOutcome EC2Client::EnableAwsNetworkPerformanceMetricSubscription(const EnableAwsNetworkPerformanceMetricSubscriptionRequest& request) const { AWS_OPERATION_GUARD(EnableAwsNetworkPerformanceMetricSubscription); @@ -1359,6 +1489,58 @@ ExportTransitGatewayRoutesOutcome EC2Client::ExportTransitGatewayRoutes(const Ex {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ExportVerifiedAccessInstanceClientConfigurationOutcome EC2Client::ExportVerifiedAccessInstanceClientConfiguration(const ExportVerifiedAccessInstanceClientConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(ExportVerifiedAccessInstanceClientConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ExportVerifiedAccessInstanceClientConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ExportVerifiedAccessInstanceClientConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ExportVerifiedAccessInstanceClientConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ExportVerifiedAccessInstanceClientConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ExportVerifiedAccessInstanceClientConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ExportVerifiedAccessInstanceClientConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetAllowedImagesSettingsOutcome EC2Client::GetAllowedImagesSettings(const GetAllowedImagesSettingsRequest& request) const +{ + AWS_OPERATION_GUARD(GetAllowedImagesSettings); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAllowedImagesSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAllowedImagesSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAllowedImagesSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetAllowedImagesSettingsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetAllowedImagesSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetAllowedImagesSettingsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetAssociatedEnclaveCertificateIamRolesOutcome EC2Client::GetAssociatedEnclaveCertificateIamRoles(const GetAssociatedEnclaveCertificateIamRolesRequest& request) const { AWS_OPERATION_GUARD(GetAssociatedEnclaveCertificateIamRoles); @@ -1541,6 +1723,32 @@ GetConsoleScreenshotOutcome EC2Client::GetConsoleScreenshot(const GetConsoleScre {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetDeclarativePoliciesReportSummaryOutcome EC2Client::GetDeclarativePoliciesReportSummary(const GetDeclarativePoliciesReportSummaryRequest& request) const +{ + AWS_OPERATION_GUARD(GetDeclarativePoliciesReportSummary); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetDeclarativePoliciesReportSummary, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetDeclarativePoliciesReportSummary, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetDeclarativePoliciesReportSummary, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetDeclarativePoliciesReportSummaryOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetDeclarativePoliciesReportSummary, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetDeclarativePoliciesReportSummaryOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetDefaultCreditSpecificationOutcome EC2Client::GetDefaultCreditSpecification(const GetDefaultCreditSpecificationRequest& request) const { AWS_OPERATION_GUARD(GetDefaultCreditSpecification); @@ -2529,211 +2737,3 @@ GetVerifiedAccessEndpointPolicyOutcome EC2Client::GetVerifiedAccessEndpointPolic {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -GetVerifiedAccessGroupPolicyOutcome EC2Client::GetVerifiedAccessGroupPolicy(const GetVerifiedAccessGroupPolicyRequest& request) const -{ - AWS_OPERATION_GUARD(GetVerifiedAccessGroupPolicy); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetVerifiedAccessGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetVerifiedAccessGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, GetVerifiedAccessGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> GetVerifiedAccessGroupPolicyOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetVerifiedAccessGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return GetVerifiedAccessGroupPolicyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -GetVpnConnectionDeviceSampleConfigurationOutcome EC2Client::GetVpnConnectionDeviceSampleConfiguration(const GetVpnConnectionDeviceSampleConfigurationRequest& request) const -{ - AWS_OPERATION_GUARD(GetVpnConnectionDeviceSampleConfiguration); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetVpnConnectionDeviceSampleConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetVpnConnectionDeviceSampleConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, GetVpnConnectionDeviceSampleConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> GetVpnConnectionDeviceSampleConfigurationOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetVpnConnectionDeviceSampleConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return GetVpnConnectionDeviceSampleConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -GetVpnConnectionDeviceTypesOutcome EC2Client::GetVpnConnectionDeviceTypes(const GetVpnConnectionDeviceTypesRequest& request) const -{ - AWS_OPERATION_GUARD(GetVpnConnectionDeviceTypes); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetVpnConnectionDeviceTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetVpnConnectionDeviceTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, GetVpnConnectionDeviceTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> GetVpnConnectionDeviceTypesOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetVpnConnectionDeviceTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return GetVpnConnectionDeviceTypesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -GetVpnTunnelReplacementStatusOutcome EC2Client::GetVpnTunnelReplacementStatus(const GetVpnTunnelReplacementStatusRequest& request) const -{ - AWS_OPERATION_GUARD(GetVpnTunnelReplacementStatus); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetVpnTunnelReplacementStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetVpnTunnelReplacementStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, GetVpnTunnelReplacementStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> GetVpnTunnelReplacementStatusOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetVpnTunnelReplacementStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return GetVpnTunnelReplacementStatusOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -ImportClientVpnClientCertificateRevocationListOutcome EC2Client::ImportClientVpnClientCertificateRevocationList(const ImportClientVpnClientCertificateRevocationListRequest& request) const -{ - AWS_OPERATION_GUARD(ImportClientVpnClientCertificateRevocationList); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ImportClientVpnClientCertificateRevocationList, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ImportClientVpnClientCertificateRevocationList, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ImportClientVpnClientCertificateRevocationList, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ImportClientVpnClientCertificateRevocationListOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ImportClientVpnClientCertificateRevocationList, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ImportClientVpnClientCertificateRevocationListOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -ImportImageOutcome EC2Client::ImportImage(const ImportImageRequest& request) const -{ - AWS_OPERATION_GUARD(ImportImage); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ImportImage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ImportImage, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ImportImage, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ImportImageOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ImportImage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ImportImageOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -ImportInstanceOutcome EC2Client::ImportInstance(const ImportInstanceRequest& request) const -{ - AWS_OPERATION_GUARD(ImportInstance); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ImportInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ImportInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ImportInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ImportInstanceOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ImportInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ImportInstanceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -ImportKeyPairOutcome EC2Client::ImportKeyPair(const ImportKeyPairRequest& request) const -{ - AWS_OPERATION_GUARD(ImportKeyPair); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ImportKeyPair, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ImportKeyPair, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ImportKeyPair, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ImportKeyPairOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ImportKeyPair, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ImportKeyPairOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client5.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client5.cpp index de1463836aa..2e2b171a206 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client5.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client5.cpp @@ -21,6 +21,15 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -112,15 +121,6 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include @@ -137,6 +137,240 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +GetVerifiedAccessEndpointTargetsOutcome EC2Client::GetVerifiedAccessEndpointTargets(const GetVerifiedAccessEndpointTargetsRequest& request) const +{ + AWS_OPERATION_GUARD(GetVerifiedAccessEndpointTargets); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetVerifiedAccessEndpointTargets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetVerifiedAccessEndpointTargets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetVerifiedAccessEndpointTargets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetVerifiedAccessEndpointTargetsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetVerifiedAccessEndpointTargets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetVerifiedAccessEndpointTargetsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetVerifiedAccessGroupPolicyOutcome EC2Client::GetVerifiedAccessGroupPolicy(const GetVerifiedAccessGroupPolicyRequest& request) const +{ + AWS_OPERATION_GUARD(GetVerifiedAccessGroupPolicy); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetVerifiedAccessGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetVerifiedAccessGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetVerifiedAccessGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetVerifiedAccessGroupPolicyOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetVerifiedAccessGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetVerifiedAccessGroupPolicyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetVpnConnectionDeviceSampleConfigurationOutcome EC2Client::GetVpnConnectionDeviceSampleConfiguration(const GetVpnConnectionDeviceSampleConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(GetVpnConnectionDeviceSampleConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetVpnConnectionDeviceSampleConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetVpnConnectionDeviceSampleConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetVpnConnectionDeviceSampleConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetVpnConnectionDeviceSampleConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetVpnConnectionDeviceSampleConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetVpnConnectionDeviceSampleConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetVpnConnectionDeviceTypesOutcome EC2Client::GetVpnConnectionDeviceTypes(const GetVpnConnectionDeviceTypesRequest& request) const +{ + AWS_OPERATION_GUARD(GetVpnConnectionDeviceTypes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetVpnConnectionDeviceTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetVpnConnectionDeviceTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetVpnConnectionDeviceTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetVpnConnectionDeviceTypesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetVpnConnectionDeviceTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetVpnConnectionDeviceTypesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetVpnTunnelReplacementStatusOutcome EC2Client::GetVpnTunnelReplacementStatus(const GetVpnTunnelReplacementStatusRequest& request) const +{ + AWS_OPERATION_GUARD(GetVpnTunnelReplacementStatus); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetVpnTunnelReplacementStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetVpnTunnelReplacementStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetVpnTunnelReplacementStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetVpnTunnelReplacementStatusOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetVpnTunnelReplacementStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetVpnTunnelReplacementStatusOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ImportClientVpnClientCertificateRevocationListOutcome EC2Client::ImportClientVpnClientCertificateRevocationList(const ImportClientVpnClientCertificateRevocationListRequest& request) const +{ + AWS_OPERATION_GUARD(ImportClientVpnClientCertificateRevocationList); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ImportClientVpnClientCertificateRevocationList, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ImportClientVpnClientCertificateRevocationList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ImportClientVpnClientCertificateRevocationList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ImportClientVpnClientCertificateRevocationListOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ImportClientVpnClientCertificateRevocationList, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ImportClientVpnClientCertificateRevocationListOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ImportImageOutcome EC2Client::ImportImage(const ImportImageRequest& request) const +{ + AWS_OPERATION_GUARD(ImportImage); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ImportImage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ImportImage, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ImportImage, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ImportImageOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ImportImage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ImportImageOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ImportInstanceOutcome EC2Client::ImportInstance(const ImportInstanceRequest& request) const +{ + AWS_OPERATION_GUARD(ImportInstance); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ImportInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ImportInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ImportInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ImportInstanceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ImportInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ImportInstanceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ImportKeyPairOutcome EC2Client::ImportKeyPair(const ImportKeyPairRequest& request) const +{ + AWS_OPERATION_GUARD(ImportKeyPair); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ImportKeyPair, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ImportKeyPair, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ImportKeyPair, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ImportKeyPairOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ImportKeyPair, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ImportKeyPairOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ImportSnapshotOutcome EC2Client::ImportSnapshot(const ImportSnapshotRequest& request) const { AWS_OPERATION_GUARD(ImportSnapshot); @@ -2503,237 +2737,3 @@ RegisterTransitGatewayMulticastGroupSourcesOutcome EC2Client::RegisterTransitGat {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -RejectCapacityReservationBillingOwnershipOutcome EC2Client::RejectCapacityReservationBillingOwnership(const RejectCapacityReservationBillingOwnershipRequest& request) const -{ - AWS_OPERATION_GUARD(RejectCapacityReservationBillingOwnership); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectCapacityReservationBillingOwnership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectCapacityReservationBillingOwnership, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, RejectCapacityReservationBillingOwnership, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> RejectCapacityReservationBillingOwnershipOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectCapacityReservationBillingOwnership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return RejectCapacityReservationBillingOwnershipOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -RejectTransitGatewayMulticastDomainAssociationsOutcome EC2Client::RejectTransitGatewayMulticastDomainAssociations(const RejectTransitGatewayMulticastDomainAssociationsRequest& request) const -{ - AWS_OPERATION_GUARD(RejectTransitGatewayMulticastDomainAssociations); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectTransitGatewayMulticastDomainAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectTransitGatewayMulticastDomainAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, RejectTransitGatewayMulticastDomainAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> RejectTransitGatewayMulticastDomainAssociationsOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectTransitGatewayMulticastDomainAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return RejectTransitGatewayMulticastDomainAssociationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -RejectTransitGatewayPeeringAttachmentOutcome EC2Client::RejectTransitGatewayPeeringAttachment(const RejectTransitGatewayPeeringAttachmentRequest& request) const -{ - AWS_OPERATION_GUARD(RejectTransitGatewayPeeringAttachment); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectTransitGatewayPeeringAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectTransitGatewayPeeringAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, RejectTransitGatewayPeeringAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> RejectTransitGatewayPeeringAttachmentOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectTransitGatewayPeeringAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return RejectTransitGatewayPeeringAttachmentOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -RejectTransitGatewayVpcAttachmentOutcome EC2Client::RejectTransitGatewayVpcAttachment(const RejectTransitGatewayVpcAttachmentRequest& request) const -{ - AWS_OPERATION_GUARD(RejectTransitGatewayVpcAttachment); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectTransitGatewayVpcAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectTransitGatewayVpcAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, RejectTransitGatewayVpcAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> RejectTransitGatewayVpcAttachmentOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectTransitGatewayVpcAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return RejectTransitGatewayVpcAttachmentOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -RejectVpcEndpointConnectionsOutcome EC2Client::RejectVpcEndpointConnections(const RejectVpcEndpointConnectionsRequest& request) const -{ - AWS_OPERATION_GUARD(RejectVpcEndpointConnections); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectVpcEndpointConnections, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectVpcEndpointConnections, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, RejectVpcEndpointConnections, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> RejectVpcEndpointConnectionsOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectVpcEndpointConnections, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return RejectVpcEndpointConnectionsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -RejectVpcPeeringConnectionOutcome EC2Client::RejectVpcPeeringConnection(const RejectVpcPeeringConnectionRequest& request) const -{ - AWS_OPERATION_GUARD(RejectVpcPeeringConnection); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectVpcPeeringConnection, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectVpcPeeringConnection, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, RejectVpcPeeringConnection, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> RejectVpcPeeringConnectionOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectVpcPeeringConnection, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return RejectVpcPeeringConnectionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -ReleaseAddressOutcome EC2Client::ReleaseAddress(const ReleaseAddressRequest& request) const -{ - AWS_OPERATION_GUARD(ReleaseAddress); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ReleaseAddress, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ReleaseAddress, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ReleaseAddress, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ReleaseAddressOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ReleaseAddress, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ReleaseAddressOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -ReleaseHostsOutcome EC2Client::ReleaseHosts(const ReleaseHostsRequest& request) const -{ - AWS_OPERATION_GUARD(ReleaseHosts); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ReleaseHosts, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ReleaseHosts, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ReleaseHosts, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ReleaseHostsOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ReleaseHosts, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ReleaseHostsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -ReleaseIpamPoolAllocationOutcome EC2Client::ReleaseIpamPoolAllocation(const ReleaseIpamPoolAllocationRequest& request) const -{ - AWS_OPERATION_GUARD(ReleaseIpamPoolAllocation); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ReleaseIpamPoolAllocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ReleaseIpamPoolAllocation, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ReleaseIpamPoolAllocation, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ReleaseIpamPoolAllocationOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ReleaseIpamPoolAllocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ReleaseIpamPoolAllocationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client6.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client6.cpp index ebe1da9a329..5877cd20297 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client6.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client6.cpp @@ -21,7 +21,17 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include #include #include #include @@ -52,6 +62,7 @@ #include #include #include +#include #include #include #include @@ -83,6 +94,240 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +RejectCapacityReservationBillingOwnershipOutcome EC2Client::RejectCapacityReservationBillingOwnership(const RejectCapacityReservationBillingOwnershipRequest& request) const +{ + AWS_OPERATION_GUARD(RejectCapacityReservationBillingOwnership); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectCapacityReservationBillingOwnership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectCapacityReservationBillingOwnership, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RejectCapacityReservationBillingOwnership, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RejectCapacityReservationBillingOwnershipOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectCapacityReservationBillingOwnership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RejectCapacityReservationBillingOwnershipOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +RejectTransitGatewayMulticastDomainAssociationsOutcome EC2Client::RejectTransitGatewayMulticastDomainAssociations(const RejectTransitGatewayMulticastDomainAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(RejectTransitGatewayMulticastDomainAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectTransitGatewayMulticastDomainAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectTransitGatewayMulticastDomainAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RejectTransitGatewayMulticastDomainAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RejectTransitGatewayMulticastDomainAssociationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectTransitGatewayMulticastDomainAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RejectTransitGatewayMulticastDomainAssociationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +RejectTransitGatewayPeeringAttachmentOutcome EC2Client::RejectTransitGatewayPeeringAttachment(const RejectTransitGatewayPeeringAttachmentRequest& request) const +{ + AWS_OPERATION_GUARD(RejectTransitGatewayPeeringAttachment); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectTransitGatewayPeeringAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectTransitGatewayPeeringAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RejectTransitGatewayPeeringAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RejectTransitGatewayPeeringAttachmentOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectTransitGatewayPeeringAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RejectTransitGatewayPeeringAttachmentOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +RejectTransitGatewayVpcAttachmentOutcome EC2Client::RejectTransitGatewayVpcAttachment(const RejectTransitGatewayVpcAttachmentRequest& request) const +{ + AWS_OPERATION_GUARD(RejectTransitGatewayVpcAttachment); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectTransitGatewayVpcAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectTransitGatewayVpcAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RejectTransitGatewayVpcAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RejectTransitGatewayVpcAttachmentOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectTransitGatewayVpcAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RejectTransitGatewayVpcAttachmentOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +RejectVpcEndpointConnectionsOutcome EC2Client::RejectVpcEndpointConnections(const RejectVpcEndpointConnectionsRequest& request) const +{ + AWS_OPERATION_GUARD(RejectVpcEndpointConnections); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectVpcEndpointConnections, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectVpcEndpointConnections, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RejectVpcEndpointConnections, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RejectVpcEndpointConnectionsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectVpcEndpointConnections, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RejectVpcEndpointConnectionsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +RejectVpcPeeringConnectionOutcome EC2Client::RejectVpcPeeringConnection(const RejectVpcPeeringConnectionRequest& request) const +{ + AWS_OPERATION_GUARD(RejectVpcPeeringConnection); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectVpcPeeringConnection, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectVpcPeeringConnection, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RejectVpcPeeringConnection, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RejectVpcPeeringConnectionOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RejectVpcPeeringConnection, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RejectVpcPeeringConnectionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ReleaseAddressOutcome EC2Client::ReleaseAddress(const ReleaseAddressRequest& request) const +{ + AWS_OPERATION_GUARD(ReleaseAddress); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ReleaseAddress, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ReleaseAddress, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ReleaseAddress, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ReleaseAddressOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ReleaseAddress, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ReleaseAddressOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ReleaseHostsOutcome EC2Client::ReleaseHosts(const ReleaseHostsRequest& request) const +{ + AWS_OPERATION_GUARD(ReleaseHosts); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ReleaseHosts, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ReleaseHosts, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ReleaseHosts, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ReleaseHostsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ReleaseHosts, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ReleaseHostsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ReleaseIpamPoolAllocationOutcome EC2Client::ReleaseIpamPoolAllocation(const ReleaseIpamPoolAllocationRequest& request) const +{ + AWS_OPERATION_GUARD(ReleaseIpamPoolAllocation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ReleaseIpamPoolAllocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ReleaseIpamPoolAllocation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ReleaseIpamPoolAllocation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ReleaseIpamPoolAllocationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ReleaseIpamPoolAllocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ReleaseIpamPoolAllocationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ReplaceIamInstanceProfileAssociationOutcome EC2Client::ReplaceIamInstanceProfileAssociation(const ReplaceIamInstanceProfileAssociationRequest& request) const { AWS_OPERATION_GUARD(ReplaceIamInstanceProfileAssociation); @@ -109,6 +354,32 @@ ReplaceIamInstanceProfileAssociationOutcome EC2Client::ReplaceIamInstanceProfile {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ReplaceImageCriteriaInAllowedImagesSettingsOutcome EC2Client::ReplaceImageCriteriaInAllowedImagesSettings(const ReplaceImageCriteriaInAllowedImagesSettingsRequest& request) const +{ + AWS_OPERATION_GUARD(ReplaceImageCriteriaInAllowedImagesSettings); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ReplaceImageCriteriaInAllowedImagesSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ReplaceImageCriteriaInAllowedImagesSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ReplaceImageCriteriaInAllowedImagesSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ReplaceImageCriteriaInAllowedImagesSettingsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ReplaceImageCriteriaInAllowedImagesSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ReplaceImageCriteriaInAllowedImagesSettingsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ReplaceNetworkAclAssociationOutcome EC2Client::ReplaceNetworkAclAssociation(const ReplaceNetworkAclAssociationRequest& request) const { AWS_OPERATION_GUARD(ReplaceNetworkAclAssociation); @@ -889,6 +1160,32 @@ SendDiagnosticInterruptOutcome EC2Client::SendDiagnosticInterrupt(const SendDiag {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +StartDeclarativePoliciesReportOutcome EC2Client::StartDeclarativePoliciesReport(const StartDeclarativePoliciesReportRequest& request) const +{ + AWS_OPERATION_GUARD(StartDeclarativePoliciesReport); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StartDeclarativePoliciesReport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StartDeclarativePoliciesReport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StartDeclarativePoliciesReport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> StartDeclarativePoliciesReportOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, StartDeclarativePoliciesReport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return StartDeclarativePoliciesReportOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + StartInstancesOutcome EC2Client::StartInstances(const StartInstancesRequest& request) const { AWS_OPERATION_GUARD(StartInstances); diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/AllowedImagesSettingsDisabledState.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/AllowedImagesSettingsDisabledState.cpp new file mode 100644 index 00000000000..3fc2760647f --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/AllowedImagesSettingsDisabledState.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace EC2 + { + namespace Model + { + namespace AllowedImagesSettingsDisabledStateMapper + { + + static const int disabled_HASH = HashingUtils::HashString("disabled"); + + + AllowedImagesSettingsDisabledState GetAllowedImagesSettingsDisabledStateForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == disabled_HASH) + { + return AllowedImagesSettingsDisabledState::disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AllowedImagesSettingsDisabledState::NOT_SET; + } + + Aws::String GetNameForAllowedImagesSettingsDisabledState(AllowedImagesSettingsDisabledState enumValue) + { + switch(enumValue) + { + case AllowedImagesSettingsDisabledState::NOT_SET: + return {}; + case AllowedImagesSettingsDisabledState::disabled: + return "disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AllowedImagesSettingsDisabledStateMapper + } // namespace Model + } // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/AllowedImagesSettingsEnabledState.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/AllowedImagesSettingsEnabledState.cpp new file mode 100644 index 00000000000..3cd94af2dda --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/AllowedImagesSettingsEnabledState.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace EC2 + { + namespace Model + { + namespace AllowedImagesSettingsEnabledStateMapper + { + + static const int enabled_HASH = HashingUtils::HashString("enabled"); + static const int audit_mode_HASH = HashingUtils::HashString("audit-mode"); + + + AllowedImagesSettingsEnabledState GetAllowedImagesSettingsEnabledStateForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == enabled_HASH) + { + return AllowedImagesSettingsEnabledState::enabled; + } + else if (hashCode == audit_mode_HASH) + { + return AllowedImagesSettingsEnabledState::audit_mode; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AllowedImagesSettingsEnabledState::NOT_SET; + } + + Aws::String GetNameForAllowedImagesSettingsEnabledState(AllowedImagesSettingsEnabledState enumValue) + { + switch(enumValue) + { + case AllowedImagesSettingsEnabledState::NOT_SET: + return {}; + case AllowedImagesSettingsEnabledState::enabled: + return "enabled"; + case AllowedImagesSettingsEnabledState::audit_mode: + return "audit-mode"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AllowedImagesSettingsEnabledStateMapper + } // namespace Model + } // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/AttributeSummary.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/AttributeSummary.cpp new file mode 100644 index 00000000000..9d67e1d857b --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/AttributeSummary.cpp @@ -0,0 +1,154 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +AttributeSummary::AttributeSummary() : + m_attributeNameHasBeenSet(false), + m_mostFrequentValueHasBeenSet(false), + m_numberOfMatchedAccounts(0), + m_numberOfMatchedAccountsHasBeenSet(false), + m_numberOfUnmatchedAccounts(0), + m_numberOfUnmatchedAccountsHasBeenSet(false), + m_regionalSummariesHasBeenSet(false) +{ +} + +AttributeSummary::AttributeSummary(const XmlNode& xmlNode) + : AttributeSummary() +{ + *this = xmlNode; +} + +AttributeSummary& AttributeSummary::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode attributeNameNode = resultNode.FirstChild("attributeName"); + if(!attributeNameNode.IsNull()) + { + m_attributeName = Aws::Utils::Xml::DecodeEscapedXmlText(attributeNameNode.GetText()); + m_attributeNameHasBeenSet = true; + } + XmlNode mostFrequentValueNode = resultNode.FirstChild("mostFrequentValue"); + if(!mostFrequentValueNode.IsNull()) + { + m_mostFrequentValue = Aws::Utils::Xml::DecodeEscapedXmlText(mostFrequentValueNode.GetText()); + m_mostFrequentValueHasBeenSet = true; + } + XmlNode numberOfMatchedAccountsNode = resultNode.FirstChild("numberOfMatchedAccounts"); + if(!numberOfMatchedAccountsNode.IsNull()) + { + m_numberOfMatchedAccounts = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(numberOfMatchedAccountsNode.GetText()).c_str()).c_str()); + m_numberOfMatchedAccountsHasBeenSet = true; + } + XmlNode numberOfUnmatchedAccountsNode = resultNode.FirstChild("numberOfUnmatchedAccounts"); + if(!numberOfUnmatchedAccountsNode.IsNull()) + { + m_numberOfUnmatchedAccounts = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(numberOfUnmatchedAccountsNode.GetText()).c_str()).c_str()); + m_numberOfUnmatchedAccountsHasBeenSet = true; + } + XmlNode regionalSummariesNode = resultNode.FirstChild("regionalSummarySet"); + if(!regionalSummariesNode.IsNull()) + { + XmlNode regionalSummariesMember = regionalSummariesNode.FirstChild("item"); + while(!regionalSummariesMember.IsNull()) + { + m_regionalSummaries.push_back(regionalSummariesMember); + regionalSummariesMember = regionalSummariesMember.NextNode("item"); + } + + m_regionalSummariesHasBeenSet = true; + } + } + + return *this; +} + +void AttributeSummary::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_attributeNameHasBeenSet) + { + oStream << location << index << locationValue << ".AttributeName=" << StringUtils::URLEncode(m_attributeName.c_str()) << "&"; + } + + if(m_mostFrequentValueHasBeenSet) + { + oStream << location << index << locationValue << ".MostFrequentValue=" << StringUtils::URLEncode(m_mostFrequentValue.c_str()) << "&"; + } + + if(m_numberOfMatchedAccountsHasBeenSet) + { + oStream << location << index << locationValue << ".NumberOfMatchedAccounts=" << m_numberOfMatchedAccounts << "&"; + } + + if(m_numberOfUnmatchedAccountsHasBeenSet) + { + oStream << location << index << locationValue << ".NumberOfUnmatchedAccounts=" << m_numberOfUnmatchedAccounts << "&"; + } + + if(m_regionalSummariesHasBeenSet) + { + unsigned regionalSummariesIdx = 1; + for(auto& item : m_regionalSummaries) + { + Aws::StringStream regionalSummariesSs; + regionalSummariesSs << location << index << locationValue << ".RegionalSummarySet." << regionalSummariesIdx++; + item.OutputToStream(oStream, regionalSummariesSs.str().c_str()); + } + } + +} + +void AttributeSummary::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_attributeNameHasBeenSet) + { + oStream << location << ".AttributeName=" << StringUtils::URLEncode(m_attributeName.c_str()) << "&"; + } + if(m_mostFrequentValueHasBeenSet) + { + oStream << location << ".MostFrequentValue=" << StringUtils::URLEncode(m_mostFrequentValue.c_str()) << "&"; + } + if(m_numberOfMatchedAccountsHasBeenSet) + { + oStream << location << ".NumberOfMatchedAccounts=" << m_numberOfMatchedAccounts << "&"; + } + if(m_numberOfUnmatchedAccountsHasBeenSet) + { + oStream << location << ".NumberOfUnmatchedAccounts=" << m_numberOfUnmatchedAccounts << "&"; + } + if(m_regionalSummariesHasBeenSet) + { + unsigned regionalSummariesIdx = 1; + for(auto& item : m_regionalSummaries) + { + Aws::StringStream regionalSummariesSs; + regionalSummariesSs << location << ".RegionalSummarySet." << regionalSummariesIdx++; + item.OutputToStream(oStream, regionalSummariesSs.str().c_str()); + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CancelDeclarativePoliciesReportRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CancelDeclarativePoliciesReportRequest.cpp new file mode 100644 index 00000000000..95644c50718 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CancelDeclarativePoliciesReportRequest.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +CancelDeclarativePoliciesReportRequest::CancelDeclarativePoliciesReportRequest() : + m_dryRun(false), + m_dryRunHasBeenSet(false), + m_reportIdHasBeenSet(false) +{ +} + +Aws::String CancelDeclarativePoliciesReportRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=CancelDeclarativePoliciesReport&"; + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + if(m_reportIdHasBeenSet) + { + ss << "ReportId=" << StringUtils::URLEncode(m_reportId.c_str()) << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void CancelDeclarativePoliciesReportRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CancelDeclarativePoliciesReportResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CancelDeclarativePoliciesReportResponse.cpp new file mode 100644 index 00000000000..6e0844e6396 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CancelDeclarativePoliciesReportResponse.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +CancelDeclarativePoliciesReportResponse::CancelDeclarativePoliciesReportResponse() : + m_return(false) +{ +} + +CancelDeclarativePoliciesReportResponse::CancelDeclarativePoliciesReportResponse(const Aws::AmazonWebServiceResult& result) + : CancelDeclarativePoliciesReportResponse() +{ + *this = result; +} + +CancelDeclarativePoliciesReportResponse& CancelDeclarativePoliciesReportResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "CancelDeclarativePoliciesReportResponse")) + { + resultNode = rootNode.FirstChild("CancelDeclarativePoliciesReportResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode returnNode = resultNode.FirstChild("return"); + if(!returnNode.IsNull()) + { + m_return = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(returnNode.GetText()).c_str()).c_str()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::CancelDeclarativePoliciesReportResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointCidrOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointCidrOptions.cpp new file mode 100644 index 00000000000..3bbf9af4273 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointCidrOptions.cpp @@ -0,0 +1,151 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +CreateVerifiedAccessEndpointCidrOptions::CreateVerifiedAccessEndpointCidrOptions() : + m_protocol(VerifiedAccessEndpointProtocol::NOT_SET), + m_protocolHasBeenSet(false), + m_subnetIdsHasBeenSet(false), + m_cidrHasBeenSet(false), + m_portRangesHasBeenSet(false) +{ +} + +CreateVerifiedAccessEndpointCidrOptions::CreateVerifiedAccessEndpointCidrOptions(const XmlNode& xmlNode) + : CreateVerifiedAccessEndpointCidrOptions() +{ + *this = xmlNode; +} + +CreateVerifiedAccessEndpointCidrOptions& CreateVerifiedAccessEndpointCidrOptions::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode protocolNode = resultNode.FirstChild("Protocol"); + if(!protocolNode.IsNull()) + { + m_protocol = VerifiedAccessEndpointProtocolMapper::GetVerifiedAccessEndpointProtocolForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(protocolNode.GetText()).c_str()).c_str()); + m_protocolHasBeenSet = true; + } + XmlNode subnetIdsNode = resultNode.FirstChild("SubnetId"); + if(!subnetIdsNode.IsNull()) + { + XmlNode subnetIdsMember = subnetIdsNode.FirstChild("item"); + while(!subnetIdsMember.IsNull()) + { + m_subnetIds.push_back(subnetIdsMember.GetText()); + subnetIdsMember = subnetIdsMember.NextNode("item"); + } + + m_subnetIdsHasBeenSet = true; + } + XmlNode cidrNode = resultNode.FirstChild("Cidr"); + if(!cidrNode.IsNull()) + { + m_cidr = Aws::Utils::Xml::DecodeEscapedXmlText(cidrNode.GetText()); + m_cidrHasBeenSet = true; + } + XmlNode portRangesNode = resultNode.FirstChild("PortRange"); + if(!portRangesNode.IsNull()) + { + XmlNode portRangesMember = portRangesNode.FirstChild("item"); + while(!portRangesMember.IsNull()) + { + m_portRanges.push_back(portRangesMember); + portRangesMember = portRangesMember.NextNode("item"); + } + + m_portRangesHasBeenSet = true; + } + } + + return *this; +} + +void CreateVerifiedAccessEndpointCidrOptions::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_protocolHasBeenSet) + { + oStream << location << index << locationValue << ".Protocol=" << VerifiedAccessEndpointProtocolMapper::GetNameForVerifiedAccessEndpointProtocol(m_protocol) << "&"; + } + + if(m_subnetIdsHasBeenSet) + { + unsigned subnetIdsIdx = 1; + for(auto& item : m_subnetIds) + { + oStream << location << index << locationValue << ".SubnetId." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + + if(m_cidrHasBeenSet) + { + oStream << location << index << locationValue << ".Cidr=" << StringUtils::URLEncode(m_cidr.c_str()) << "&"; + } + + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << index << locationValue << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } + +} + +void CreateVerifiedAccessEndpointCidrOptions::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_protocolHasBeenSet) + { + oStream << location << ".Protocol=" << VerifiedAccessEndpointProtocolMapper::GetNameForVerifiedAccessEndpointProtocol(m_protocol) << "&"; + } + if(m_subnetIdsHasBeenSet) + { + unsigned subnetIdsIdx = 1; + for(auto& item : m_subnetIds) + { + oStream << location << ".SubnetId." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + if(m_cidrHasBeenSet) + { + oStream << location << ".Cidr=" << StringUtils::URLEncode(m_cidr.c_str()) << "&"; + } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointEniOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointEniOptions.cpp index 1271928ae86..52610c4c726 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointEniOptions.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointEniOptions.cpp @@ -25,7 +25,8 @@ CreateVerifiedAccessEndpointEniOptions::CreateVerifiedAccessEndpointEniOptions() m_protocol(VerifiedAccessEndpointProtocol::NOT_SET), m_protocolHasBeenSet(false), m_port(0), - m_portHasBeenSet(false) + m_portHasBeenSet(false), + m_portRangesHasBeenSet(false) { } @@ -59,6 +60,18 @@ CreateVerifiedAccessEndpointEniOptions& CreateVerifiedAccessEndpointEniOptions:: m_port = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(portNode.GetText()).c_str()).c_str()); m_portHasBeenSet = true; } + XmlNode portRangesNode = resultNode.FirstChild("PortRange"); + if(!portRangesNode.IsNull()) + { + XmlNode portRangesMember = portRangesNode.FirstChild("item"); + while(!portRangesMember.IsNull()) + { + m_portRanges.push_back(portRangesMember); + portRangesMember = portRangesMember.NextNode("item"); + } + + m_portRangesHasBeenSet = true; + } } return *this; @@ -81,6 +94,17 @@ void CreateVerifiedAccessEndpointEniOptions::OutputToStream(Aws::OStream& oStrea oStream << location << index << locationValue << ".Port=" << m_port << "&"; } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << index << locationValue << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } + } void CreateVerifiedAccessEndpointEniOptions::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -97,6 +121,16 @@ void CreateVerifiedAccessEndpointEniOptions::OutputToStream(Aws::OStream& oStrea { oStream << location << ".Port=" << m_port << "&"; } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointLoadBalancerOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointLoadBalancerOptions.cpp index f5655378f0a..7aea39c2f9c 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointLoadBalancerOptions.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointLoadBalancerOptions.cpp @@ -26,7 +26,8 @@ CreateVerifiedAccessEndpointLoadBalancerOptions::CreateVerifiedAccessEndpointLoa m_port(0), m_portHasBeenSet(false), m_loadBalancerArnHasBeenSet(false), - m_subnetIdsHasBeenSet(false) + m_subnetIdsHasBeenSet(false), + m_portRangesHasBeenSet(false) { } @@ -72,6 +73,18 @@ CreateVerifiedAccessEndpointLoadBalancerOptions& CreateVerifiedAccessEndpointLoa m_subnetIdsHasBeenSet = true; } + XmlNode portRangesNode = resultNode.FirstChild("PortRange"); + if(!portRangesNode.IsNull()) + { + XmlNode portRangesMember = portRangesNode.FirstChild("item"); + while(!portRangesMember.IsNull()) + { + m_portRanges.push_back(portRangesMember); + portRangesMember = portRangesMember.NextNode("item"); + } + + m_portRangesHasBeenSet = true; + } } return *this; @@ -103,6 +116,17 @@ void CreateVerifiedAccessEndpointLoadBalancerOptions::OutputToStream(Aws::OStrea } } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << index << locationValue << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } + } void CreateVerifiedAccessEndpointLoadBalancerOptions::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -127,6 +151,16 @@ void CreateVerifiedAccessEndpointLoadBalancerOptions::OutputToStream(Aws::OStrea oStream << location << ".SubnetId." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; } } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointPortRange.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointPortRange.cpp new file mode 100644 index 00000000000..c0d826162c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointPortRange.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +CreateVerifiedAccessEndpointPortRange::CreateVerifiedAccessEndpointPortRange() : + m_fromPort(0), + m_fromPortHasBeenSet(false), + m_toPort(0), + m_toPortHasBeenSet(false) +{ +} + +CreateVerifiedAccessEndpointPortRange::CreateVerifiedAccessEndpointPortRange(const XmlNode& xmlNode) + : CreateVerifiedAccessEndpointPortRange() +{ + *this = xmlNode; +} + +CreateVerifiedAccessEndpointPortRange& CreateVerifiedAccessEndpointPortRange::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fromPortNode = resultNode.FirstChild("FromPort"); + if(!fromPortNode.IsNull()) + { + m_fromPort = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fromPortNode.GetText()).c_str()).c_str()); + m_fromPortHasBeenSet = true; + } + XmlNode toPortNode = resultNode.FirstChild("ToPort"); + if(!toPortNode.IsNull()) + { + m_toPort = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(toPortNode.GetText()).c_str()).c_str()); + m_toPortHasBeenSet = true; + } + } + + return *this; +} + +void CreateVerifiedAccessEndpointPortRange::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_fromPortHasBeenSet) + { + oStream << location << index << locationValue << ".FromPort=" << m_fromPort << "&"; + } + + if(m_toPortHasBeenSet) + { + oStream << location << index << locationValue << ".ToPort=" << m_toPort << "&"; + } + +} + +void CreateVerifiedAccessEndpointPortRange::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_fromPortHasBeenSet) + { + oStream << location << ".FromPort=" << m_fromPort << "&"; + } + if(m_toPortHasBeenSet) + { + oStream << location << ".ToPort=" << m_toPort << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointRdsOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointRdsOptions.cpp new file mode 100644 index 00000000000..2490f18d92a --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointRdsOptions.cpp @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +CreateVerifiedAccessEndpointRdsOptions::CreateVerifiedAccessEndpointRdsOptions() : + m_protocol(VerifiedAccessEndpointProtocol::NOT_SET), + m_protocolHasBeenSet(false), + m_port(0), + m_portHasBeenSet(false), + m_rdsDbInstanceArnHasBeenSet(false), + m_rdsDbClusterArnHasBeenSet(false), + m_rdsDbProxyArnHasBeenSet(false), + m_rdsEndpointHasBeenSet(false), + m_subnetIdsHasBeenSet(false) +{ +} + +CreateVerifiedAccessEndpointRdsOptions::CreateVerifiedAccessEndpointRdsOptions(const XmlNode& xmlNode) + : CreateVerifiedAccessEndpointRdsOptions() +{ + *this = xmlNode; +} + +CreateVerifiedAccessEndpointRdsOptions& CreateVerifiedAccessEndpointRdsOptions::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode protocolNode = resultNode.FirstChild("Protocol"); + if(!protocolNode.IsNull()) + { + m_protocol = VerifiedAccessEndpointProtocolMapper::GetVerifiedAccessEndpointProtocolForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(protocolNode.GetText()).c_str()).c_str()); + m_protocolHasBeenSet = true; + } + XmlNode portNode = resultNode.FirstChild("Port"); + if(!portNode.IsNull()) + { + m_port = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(portNode.GetText()).c_str()).c_str()); + m_portHasBeenSet = true; + } + XmlNode rdsDbInstanceArnNode = resultNode.FirstChild("RdsDbInstanceArn"); + if(!rdsDbInstanceArnNode.IsNull()) + { + m_rdsDbInstanceArn = Aws::Utils::Xml::DecodeEscapedXmlText(rdsDbInstanceArnNode.GetText()); + m_rdsDbInstanceArnHasBeenSet = true; + } + XmlNode rdsDbClusterArnNode = resultNode.FirstChild("RdsDbClusterArn"); + if(!rdsDbClusterArnNode.IsNull()) + { + m_rdsDbClusterArn = Aws::Utils::Xml::DecodeEscapedXmlText(rdsDbClusterArnNode.GetText()); + m_rdsDbClusterArnHasBeenSet = true; + } + XmlNode rdsDbProxyArnNode = resultNode.FirstChild("RdsDbProxyArn"); + if(!rdsDbProxyArnNode.IsNull()) + { + m_rdsDbProxyArn = Aws::Utils::Xml::DecodeEscapedXmlText(rdsDbProxyArnNode.GetText()); + m_rdsDbProxyArnHasBeenSet = true; + } + XmlNode rdsEndpointNode = resultNode.FirstChild("RdsEndpoint"); + if(!rdsEndpointNode.IsNull()) + { + m_rdsEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(rdsEndpointNode.GetText()); + m_rdsEndpointHasBeenSet = true; + } + XmlNode subnetIdsNode = resultNode.FirstChild("SubnetId"); + if(!subnetIdsNode.IsNull()) + { + XmlNode subnetIdsMember = subnetIdsNode.FirstChild("item"); + while(!subnetIdsMember.IsNull()) + { + m_subnetIds.push_back(subnetIdsMember.GetText()); + subnetIdsMember = subnetIdsMember.NextNode("item"); + } + + m_subnetIdsHasBeenSet = true; + } + } + + return *this; +} + +void CreateVerifiedAccessEndpointRdsOptions::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_protocolHasBeenSet) + { + oStream << location << index << locationValue << ".Protocol=" << VerifiedAccessEndpointProtocolMapper::GetNameForVerifiedAccessEndpointProtocol(m_protocol) << "&"; + } + + if(m_portHasBeenSet) + { + oStream << location << index << locationValue << ".Port=" << m_port << "&"; + } + + if(m_rdsDbInstanceArnHasBeenSet) + { + oStream << location << index << locationValue << ".RdsDbInstanceArn=" << StringUtils::URLEncode(m_rdsDbInstanceArn.c_str()) << "&"; + } + + if(m_rdsDbClusterArnHasBeenSet) + { + oStream << location << index << locationValue << ".RdsDbClusterArn=" << StringUtils::URLEncode(m_rdsDbClusterArn.c_str()) << "&"; + } + + if(m_rdsDbProxyArnHasBeenSet) + { + oStream << location << index << locationValue << ".RdsDbProxyArn=" << StringUtils::URLEncode(m_rdsDbProxyArn.c_str()) << "&"; + } + + if(m_rdsEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".RdsEndpoint=" << StringUtils::URLEncode(m_rdsEndpoint.c_str()) << "&"; + } + + if(m_subnetIdsHasBeenSet) + { + unsigned subnetIdsIdx = 1; + for(auto& item : m_subnetIds) + { + oStream << location << index << locationValue << ".SubnetId." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + +} + +void CreateVerifiedAccessEndpointRdsOptions::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_protocolHasBeenSet) + { + oStream << location << ".Protocol=" << VerifiedAccessEndpointProtocolMapper::GetNameForVerifiedAccessEndpointProtocol(m_protocol) << "&"; + } + if(m_portHasBeenSet) + { + oStream << location << ".Port=" << m_port << "&"; + } + if(m_rdsDbInstanceArnHasBeenSet) + { + oStream << location << ".RdsDbInstanceArn=" << StringUtils::URLEncode(m_rdsDbInstanceArn.c_str()) << "&"; + } + if(m_rdsDbClusterArnHasBeenSet) + { + oStream << location << ".RdsDbClusterArn=" << StringUtils::URLEncode(m_rdsDbClusterArn.c_str()) << "&"; + } + if(m_rdsDbProxyArnHasBeenSet) + { + oStream << location << ".RdsDbProxyArn=" << StringUtils::URLEncode(m_rdsDbProxyArn.c_str()) << "&"; + } + if(m_rdsEndpointHasBeenSet) + { + oStream << location << ".RdsEndpoint=" << StringUtils::URLEncode(m_rdsEndpoint.c_str()) << "&"; + } + if(m_subnetIdsHasBeenSet) + { + unsigned subnetIdsIdx = 1; + for(auto& item : m_subnetIds) + { + oStream << location << ".SubnetId." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointRequest.cpp index f3ab8e84a1a..e6703af76c3 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointRequest.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessEndpointRequest.cpp @@ -29,7 +29,9 @@ CreateVerifiedAccessEndpointRequest::CreateVerifiedAccessEndpointRequest() : m_clientTokenHasBeenSet(true), m_dryRun(false), m_dryRunHasBeenSet(false), - m_sseSpecificationHasBeenSet(false) + m_sseSpecificationHasBeenSet(false), + m_rdsOptionsHasBeenSet(false), + m_cidrOptionsHasBeenSet(false) { } @@ -123,6 +125,16 @@ Aws::String CreateVerifiedAccessEndpointRequest::SerializePayload() const m_sseSpecification.OutputToStream(ss, "SseSpecification"); } + if(m_rdsOptionsHasBeenSet) + { + m_rdsOptions.OutputToStream(ss, "RdsOptions"); + } + + if(m_cidrOptionsHasBeenSet) + { + m_cidrOptions.OutputToStream(ss, "CidrOptions"); + } + ss << "Version=2016-11-15"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessInstanceRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessInstanceRequest.cpp index 1f89b9f37eb..98ea4f70b09 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessInstanceRequest.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessInstanceRequest.cpp @@ -18,7 +18,8 @@ CreateVerifiedAccessInstanceRequest::CreateVerifiedAccessInstanceRequest() : m_dryRun(false), m_dryRunHasBeenSet(false), m_fIPSEnabled(false), - m_fIPSEnabledHasBeenSet(false) + m_fIPSEnabledHasBeenSet(false), + m_cidrEndpointsCustomSubDomainHasBeenSet(false) { } @@ -56,6 +57,11 @@ Aws::String CreateVerifiedAccessInstanceRequest::SerializePayload() const ss << "FIPSEnabled=" << std::boolalpha << m_fIPSEnabled << "&"; } + if(m_cidrEndpointsCustomSubDomainHasBeenSet) + { + ss << "CidrEndpointsCustomSubDomain=" << StringUtils::URLEncode(m_cidrEndpointsCustomSubDomain.c_str()) << "&"; + } + ss << "Version=2016-11-15"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessNativeApplicationOidcOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessNativeApplicationOidcOptions.cpp new file mode 100644 index 00000000000..4dd9a7f5826 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessNativeApplicationOidcOptions.cpp @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +CreateVerifiedAccessNativeApplicationOidcOptions::CreateVerifiedAccessNativeApplicationOidcOptions() : + m_publicSigningKeyEndpointHasBeenSet(false), + m_issuerHasBeenSet(false), + m_authorizationEndpointHasBeenSet(false), + m_tokenEndpointHasBeenSet(false), + m_userInfoEndpointHasBeenSet(false), + m_clientIdHasBeenSet(false), + m_clientSecretHasBeenSet(false), + m_scopeHasBeenSet(false) +{ +} + +CreateVerifiedAccessNativeApplicationOidcOptions::CreateVerifiedAccessNativeApplicationOidcOptions(const XmlNode& xmlNode) + : CreateVerifiedAccessNativeApplicationOidcOptions() +{ + *this = xmlNode; +} + +CreateVerifiedAccessNativeApplicationOidcOptions& CreateVerifiedAccessNativeApplicationOidcOptions::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode publicSigningKeyEndpointNode = resultNode.FirstChild("PublicSigningKeyEndpoint"); + if(!publicSigningKeyEndpointNode.IsNull()) + { + m_publicSigningKeyEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(publicSigningKeyEndpointNode.GetText()); + m_publicSigningKeyEndpointHasBeenSet = true; + } + XmlNode issuerNode = resultNode.FirstChild("Issuer"); + if(!issuerNode.IsNull()) + { + m_issuer = Aws::Utils::Xml::DecodeEscapedXmlText(issuerNode.GetText()); + m_issuerHasBeenSet = true; + } + XmlNode authorizationEndpointNode = resultNode.FirstChild("AuthorizationEndpoint"); + if(!authorizationEndpointNode.IsNull()) + { + m_authorizationEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(authorizationEndpointNode.GetText()); + m_authorizationEndpointHasBeenSet = true; + } + XmlNode tokenEndpointNode = resultNode.FirstChild("TokenEndpoint"); + if(!tokenEndpointNode.IsNull()) + { + m_tokenEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(tokenEndpointNode.GetText()); + m_tokenEndpointHasBeenSet = true; + } + XmlNode userInfoEndpointNode = resultNode.FirstChild("UserInfoEndpoint"); + if(!userInfoEndpointNode.IsNull()) + { + m_userInfoEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(userInfoEndpointNode.GetText()); + m_userInfoEndpointHasBeenSet = true; + } + XmlNode clientIdNode = resultNode.FirstChild("ClientId"); + if(!clientIdNode.IsNull()) + { + m_clientId = Aws::Utils::Xml::DecodeEscapedXmlText(clientIdNode.GetText()); + m_clientIdHasBeenSet = true; + } + XmlNode clientSecretNode = resultNode.FirstChild("ClientSecret"); + if(!clientSecretNode.IsNull()) + { + m_clientSecret = Aws::Utils::Xml::DecodeEscapedXmlText(clientSecretNode.GetText()); + m_clientSecretHasBeenSet = true; + } + XmlNode scopeNode = resultNode.FirstChild("Scope"); + if(!scopeNode.IsNull()) + { + m_scope = Aws::Utils::Xml::DecodeEscapedXmlText(scopeNode.GetText()); + m_scopeHasBeenSet = true; + } + } + + return *this; +} + +void CreateVerifiedAccessNativeApplicationOidcOptions::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_publicSigningKeyEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".PublicSigningKeyEndpoint=" << StringUtils::URLEncode(m_publicSigningKeyEndpoint.c_str()) << "&"; + } + + if(m_issuerHasBeenSet) + { + oStream << location << index << locationValue << ".Issuer=" << StringUtils::URLEncode(m_issuer.c_str()) << "&"; + } + + if(m_authorizationEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".AuthorizationEndpoint=" << StringUtils::URLEncode(m_authorizationEndpoint.c_str()) << "&"; + } + + if(m_tokenEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".TokenEndpoint=" << StringUtils::URLEncode(m_tokenEndpoint.c_str()) << "&"; + } + + if(m_userInfoEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".UserInfoEndpoint=" << StringUtils::URLEncode(m_userInfoEndpoint.c_str()) << "&"; + } + + if(m_clientIdHasBeenSet) + { + oStream << location << index << locationValue << ".ClientId=" << StringUtils::URLEncode(m_clientId.c_str()) << "&"; + } + + if(m_clientSecretHasBeenSet) + { + oStream << location << index << locationValue << ".ClientSecret=" << StringUtils::URLEncode(m_clientSecret.c_str()) << "&"; + } + + if(m_scopeHasBeenSet) + { + oStream << location << index << locationValue << ".Scope=" << StringUtils::URLEncode(m_scope.c_str()) << "&"; + } + +} + +void CreateVerifiedAccessNativeApplicationOidcOptions::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_publicSigningKeyEndpointHasBeenSet) + { + oStream << location << ".PublicSigningKeyEndpoint=" << StringUtils::URLEncode(m_publicSigningKeyEndpoint.c_str()) << "&"; + } + if(m_issuerHasBeenSet) + { + oStream << location << ".Issuer=" << StringUtils::URLEncode(m_issuer.c_str()) << "&"; + } + if(m_authorizationEndpointHasBeenSet) + { + oStream << location << ".AuthorizationEndpoint=" << StringUtils::URLEncode(m_authorizationEndpoint.c_str()) << "&"; + } + if(m_tokenEndpointHasBeenSet) + { + oStream << location << ".TokenEndpoint=" << StringUtils::URLEncode(m_tokenEndpoint.c_str()) << "&"; + } + if(m_userInfoEndpointHasBeenSet) + { + oStream << location << ".UserInfoEndpoint=" << StringUtils::URLEncode(m_userInfoEndpoint.c_str()) << "&"; + } + if(m_clientIdHasBeenSet) + { + oStream << location << ".ClientId=" << StringUtils::URLEncode(m_clientId.c_str()) << "&"; + } + if(m_clientSecretHasBeenSet) + { + oStream << location << ".ClientSecret=" << StringUtils::URLEncode(m_clientSecret.c_str()) << "&"; + } + if(m_scopeHasBeenSet) + { + oStream << location << ".Scope=" << StringUtils::URLEncode(m_scope.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessTrustProviderRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessTrustProviderRequest.cpp index 97c607b3f45..643dfede3b7 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessTrustProviderRequest.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVerifiedAccessTrustProviderRequest.cpp @@ -26,7 +26,8 @@ CreateVerifiedAccessTrustProviderRequest::CreateVerifiedAccessTrustProviderReque m_clientTokenHasBeenSet(true), m_dryRun(false), m_dryRunHasBeenSet(false), - m_sseSpecificationHasBeenSet(false) + m_sseSpecificationHasBeenSet(false), + m_nativeApplicationOidcOptionsHasBeenSet(false) { } @@ -94,6 +95,11 @@ Aws::String CreateVerifiedAccessTrustProviderRequest::SerializePayload() const m_sseSpecification.OutputToStream(ss, "SseSpecification"); } + if(m_nativeApplicationOidcOptionsHasBeenSet) + { + m_nativeApplicationOidcOptions.OutputToStream(ss, "NativeApplicationOidcOptions"); + } + ss << "Version=2016-11-15"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVpcEndpointRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVpcEndpointRequest.cpp index 51bf341269a..b0ab4841efa 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/CreateVpcEndpointRequest.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateVpcEndpointRequest.cpp @@ -29,6 +29,8 @@ CreateVpcEndpointRequest::CreateVpcEndpointRequest() : m_privateDnsEnabledHasBeenSet(false), m_tagSpecificationsHasBeenSet(false), m_subnetConfigurationsHasBeenSet(false), + m_serviceNetworkArnHasBeenSet(false), + m_resourceConfigurationArnHasBeenSet(false), m_serviceRegionHasBeenSet(false) { } @@ -135,6 +137,16 @@ Aws::String CreateVpcEndpointRequest::SerializePayload() const } } + if(m_serviceNetworkArnHasBeenSet) + { + ss << "ServiceNetworkArn=" << StringUtils::URLEncode(m_serviceNetworkArn.c_str()) << "&"; + } + + if(m_resourceConfigurationArnHasBeenSet) + { + ss << "ResourceConfigurationArn=" << StringUtils::URLEncode(m_resourceConfigurationArn.c_str()) << "&"; + } + if(m_serviceRegionHasBeenSet) { ss << "ServiceRegion=" << StringUtils::URLEncode(m_serviceRegion.c_str()) << "&"; diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/DeclarativePoliciesReport.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/DeclarativePoliciesReport.cpp new file mode 100644 index 00000000000..812134cf853 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/DeclarativePoliciesReport.cpp @@ -0,0 +1,201 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +DeclarativePoliciesReport::DeclarativePoliciesReport() : + m_reportIdHasBeenSet(false), + m_s3BucketHasBeenSet(false), + m_s3PrefixHasBeenSet(false), + m_targetIdHasBeenSet(false), + m_startTimeHasBeenSet(false), + m_endTimeHasBeenSet(false), + m_status(ReportState::NOT_SET), + m_statusHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +DeclarativePoliciesReport::DeclarativePoliciesReport(const XmlNode& xmlNode) + : DeclarativePoliciesReport() +{ + *this = xmlNode; +} + +DeclarativePoliciesReport& DeclarativePoliciesReport::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode reportIdNode = resultNode.FirstChild("reportId"); + if(!reportIdNode.IsNull()) + { + m_reportId = Aws::Utils::Xml::DecodeEscapedXmlText(reportIdNode.GetText()); + m_reportIdHasBeenSet = true; + } + XmlNode s3BucketNode = resultNode.FirstChild("s3Bucket"); + if(!s3BucketNode.IsNull()) + { + m_s3Bucket = Aws::Utils::Xml::DecodeEscapedXmlText(s3BucketNode.GetText()); + m_s3BucketHasBeenSet = true; + } + XmlNode s3PrefixNode = resultNode.FirstChild("s3Prefix"); + if(!s3PrefixNode.IsNull()) + { + m_s3Prefix = Aws::Utils::Xml::DecodeEscapedXmlText(s3PrefixNode.GetText()); + m_s3PrefixHasBeenSet = true; + } + XmlNode targetIdNode = resultNode.FirstChild("targetId"); + if(!targetIdNode.IsNull()) + { + m_targetId = Aws::Utils::Xml::DecodeEscapedXmlText(targetIdNode.GetText()); + m_targetIdHasBeenSet = true; + } + XmlNode startTimeNode = resultNode.FirstChild("startTime"); + if(!startTimeNode.IsNull()) + { + m_startTime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(startTimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + m_startTimeHasBeenSet = true; + } + XmlNode endTimeNode = resultNode.FirstChild("endTime"); + if(!endTimeNode.IsNull()) + { + m_endTime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(endTimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + m_endTimeHasBeenSet = true; + } + XmlNode statusNode = resultNode.FirstChild("status"); + if(!statusNode.IsNull()) + { + m_status = ReportStateMapper::GetReportStateForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + XmlNode tagsNode = resultNode.FirstChild("tagSet"); + if(!tagsNode.IsNull()) + { + XmlNode tagsMember = tagsNode.FirstChild("item"); + while(!tagsMember.IsNull()) + { + m_tags.push_back(tagsMember); + tagsMember = tagsMember.NextNode("item"); + } + + m_tagsHasBeenSet = true; + } + } + + return *this; +} + +void DeclarativePoliciesReport::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_reportIdHasBeenSet) + { + oStream << location << index << locationValue << ".ReportId=" << StringUtils::URLEncode(m_reportId.c_str()) << "&"; + } + + if(m_s3BucketHasBeenSet) + { + oStream << location << index << locationValue << ".S3Bucket=" << StringUtils::URLEncode(m_s3Bucket.c_str()) << "&"; + } + + if(m_s3PrefixHasBeenSet) + { + oStream << location << index << locationValue << ".S3Prefix=" << StringUtils::URLEncode(m_s3Prefix.c_str()) << "&"; + } + + if(m_targetIdHasBeenSet) + { + oStream << location << index << locationValue << ".TargetId=" << StringUtils::URLEncode(m_targetId.c_str()) << "&"; + } + + if(m_startTimeHasBeenSet) + { + oStream << location << index << locationValue << ".StartTime=" << StringUtils::URLEncode(m_startTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601).c_str()) << "&"; + } + + if(m_endTimeHasBeenSet) + { + oStream << location << index << locationValue << ".EndTime=" << StringUtils::URLEncode(m_endTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601).c_str()) << "&"; + } + + if(m_statusHasBeenSet) + { + oStream << location << index << locationValue << ".Status=" << ReportStateMapper::GetNameForReportState(m_status) << "&"; + } + + if(m_tagsHasBeenSet) + { + unsigned tagsIdx = 1; + for(auto& item : m_tags) + { + Aws::StringStream tagsSs; + tagsSs << location << index << locationValue << ".TagSet." << tagsIdx++; + item.OutputToStream(oStream, tagsSs.str().c_str()); + } + } + +} + +void DeclarativePoliciesReport::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_reportIdHasBeenSet) + { + oStream << location << ".ReportId=" << StringUtils::URLEncode(m_reportId.c_str()) << "&"; + } + if(m_s3BucketHasBeenSet) + { + oStream << location << ".S3Bucket=" << StringUtils::URLEncode(m_s3Bucket.c_str()) << "&"; + } + if(m_s3PrefixHasBeenSet) + { + oStream << location << ".S3Prefix=" << StringUtils::URLEncode(m_s3Prefix.c_str()) << "&"; + } + if(m_targetIdHasBeenSet) + { + oStream << location << ".TargetId=" << StringUtils::URLEncode(m_targetId.c_str()) << "&"; + } + if(m_startTimeHasBeenSet) + { + oStream << location << ".StartTime=" << StringUtils::URLEncode(m_startTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601).c_str()) << "&"; + } + if(m_endTimeHasBeenSet) + { + oStream << location << ".EndTime=" << StringUtils::URLEncode(m_endTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601).c_str()) << "&"; + } + if(m_statusHasBeenSet) + { + oStream << location << ".Status=" << ReportStateMapper::GetNameForReportState(m_status) << "&"; + } + if(m_tagsHasBeenSet) + { + unsigned tagsIdx = 1; + for(auto& item : m_tags) + { + Aws::StringStream tagsSs; + tagsSs << location << ".TagSet." << tagsIdx++; + item.OutputToStream(oStream, tagsSs.str().c_str()); + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/DescribeDeclarativePoliciesReportsRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeDeclarativePoliciesReportsRequest.cpp new file mode 100644 index 00000000000..1cc34b841bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeDeclarativePoliciesReportsRequest.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +DescribeDeclarativePoliciesReportsRequest::DescribeDeclarativePoliciesReportsRequest() : + m_dryRun(false), + m_dryRunHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_reportIdsHasBeenSet(false) +{ +} + +Aws::String DescribeDeclarativePoliciesReportsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DescribeDeclarativePoliciesReports&"; + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + if(m_nextTokenHasBeenSet) + { + ss << "NextToken=" << StringUtils::URLEncode(m_nextToken.c_str()) << "&"; + } + + if(m_maxResultsHasBeenSet) + { + ss << "MaxResults=" << m_maxResults << "&"; + } + + if(m_reportIdsHasBeenSet) + { + unsigned reportIdsCount = 1; + for(auto& item : m_reportIds) + { + ss << "ReportId." << reportIdsCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + reportIdsCount++; + } + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void DescribeDeclarativePoliciesReportsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/DescribeDeclarativePoliciesReportsResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeDeclarativePoliciesReportsResponse.cpp new file mode 100644 index 00000000000..ec8ba76dd66 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeDeclarativePoliciesReportsResponse.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DescribeDeclarativePoliciesReportsResponse::DescribeDeclarativePoliciesReportsResponse() +{ +} + +DescribeDeclarativePoliciesReportsResponse::DescribeDeclarativePoliciesReportsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeDeclarativePoliciesReportsResponse& DescribeDeclarativePoliciesReportsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DescribeDeclarativePoliciesReportsResponse")) + { + resultNode = rootNode.FirstChild("DescribeDeclarativePoliciesReportsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode nextTokenNode = resultNode.FirstChild("nextToken"); + if(!nextTokenNode.IsNull()) + { + m_nextToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextTokenNode.GetText()); + } + XmlNode reportsNode = resultNode.FirstChild("reportSet"); + if(!reportsNode.IsNull()) + { + XmlNode reportsMember = reportsNode.FirstChild("item"); + while(!reportsMember.IsNull()) + { + m_reports.push_back(reportsMember); + reportsMember = reportsMember.NextNode("item"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::DescribeDeclarativePoliciesReportsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/DescribeVpcEndpointAssociationsRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeVpcEndpointAssociationsRequest.cpp new file mode 100644 index 00000000000..ff3f0b11a88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeVpcEndpointAssociationsRequest.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +DescribeVpcEndpointAssociationsRequest::DescribeVpcEndpointAssociationsRequest() : + m_dryRun(false), + m_dryRunHasBeenSet(false), + m_vpcEndpointIdsHasBeenSet(false), + m_filtersHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String DescribeVpcEndpointAssociationsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DescribeVpcEndpointAssociations&"; + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + if(m_vpcEndpointIdsHasBeenSet) + { + unsigned vpcEndpointIdsCount = 1; + for(auto& item : m_vpcEndpointIds) + { + ss << "VpcEndpointId." << vpcEndpointIdsCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + vpcEndpointIdsCount++; + } + } + + if(m_filtersHasBeenSet) + { + unsigned filtersCount = 1; + for(auto& item : m_filters) + { + item.OutputToStream(ss, "Filter.", filtersCount, ""); + filtersCount++; + } + } + + if(m_maxResultsHasBeenSet) + { + ss << "MaxResults=" << m_maxResults << "&"; + } + + if(m_nextTokenHasBeenSet) + { + ss << "NextToken=" << StringUtils::URLEncode(m_nextToken.c_str()) << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void DescribeVpcEndpointAssociationsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/DescribeVpcEndpointAssociationsResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeVpcEndpointAssociationsResponse.cpp new file mode 100644 index 00000000000..bb7decba7a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeVpcEndpointAssociationsResponse.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DescribeVpcEndpointAssociationsResponse::DescribeVpcEndpointAssociationsResponse() +{ +} + +DescribeVpcEndpointAssociationsResponse::DescribeVpcEndpointAssociationsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeVpcEndpointAssociationsResponse& DescribeVpcEndpointAssociationsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DescribeVpcEndpointAssociationsResponse")) + { + resultNode = rootNode.FirstChild("DescribeVpcEndpointAssociationsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode vpcEndpointAssociationsNode = resultNode.FirstChild("vpcEndpointAssociationSet"); + if(!vpcEndpointAssociationsNode.IsNull()) + { + XmlNode vpcEndpointAssociationsMember = vpcEndpointAssociationsNode.FirstChild("item"); + while(!vpcEndpointAssociationsMember.IsNull()) + { + m_vpcEndpointAssociations.push_back(vpcEndpointAssociationsMember); + vpcEndpointAssociationsMember = vpcEndpointAssociationsMember.NextNode("item"); + } + + } + XmlNode nextTokenNode = resultNode.FirstChild("nextToken"); + if(!nextTokenNode.IsNull()) + { + m_nextToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextTokenNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::DescribeVpcEndpointAssociationsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/DisableAllowedImagesSettingsRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/DisableAllowedImagesSettingsRequest.cpp new file mode 100644 index 00000000000..1484f772d6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/DisableAllowedImagesSettingsRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +DisableAllowedImagesSettingsRequest::DisableAllowedImagesSettingsRequest() : + m_dryRun(false), + m_dryRunHasBeenSet(false) +{ +} + +Aws::String DisableAllowedImagesSettingsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DisableAllowedImagesSettings&"; + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void DisableAllowedImagesSettingsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/DisableAllowedImagesSettingsResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/DisableAllowedImagesSettingsResponse.cpp new file mode 100644 index 00000000000..eadf7e919f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/DisableAllowedImagesSettingsResponse.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DisableAllowedImagesSettingsResponse::DisableAllowedImagesSettingsResponse() : + m_allowedImagesSettingsState(AllowedImagesSettingsDisabledState::NOT_SET) +{ +} + +DisableAllowedImagesSettingsResponse::DisableAllowedImagesSettingsResponse(const Aws::AmazonWebServiceResult& result) + : DisableAllowedImagesSettingsResponse() +{ + *this = result; +} + +DisableAllowedImagesSettingsResponse& DisableAllowedImagesSettingsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DisableAllowedImagesSettingsResponse")) + { + resultNode = rootNode.FirstChild("DisableAllowedImagesSettingsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode allowedImagesSettingsStateNode = resultNode.FirstChild("allowedImagesSettingsState"); + if(!allowedImagesSettingsStateNode.IsNull()) + { + m_allowedImagesSettingsState = AllowedImagesSettingsDisabledStateMapper::GetAllowedImagesSettingsDisabledStateForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(allowedImagesSettingsStateNode.GetText()).c_str()).c_str()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::DisableAllowedImagesSettingsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/EnableAllowedImagesSettingsRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/EnableAllowedImagesSettingsRequest.cpp new file mode 100644 index 00000000000..083faa11390 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/EnableAllowedImagesSettingsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +EnableAllowedImagesSettingsRequest::EnableAllowedImagesSettingsRequest() : + m_allowedImagesSettingsState(AllowedImagesSettingsEnabledState::NOT_SET), + m_allowedImagesSettingsStateHasBeenSet(false), + m_dryRun(false), + m_dryRunHasBeenSet(false) +{ +} + +Aws::String EnableAllowedImagesSettingsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=EnableAllowedImagesSettings&"; + if(m_allowedImagesSettingsStateHasBeenSet) + { + ss << "AllowedImagesSettingsState=" << AllowedImagesSettingsEnabledStateMapper::GetNameForAllowedImagesSettingsEnabledState(m_allowedImagesSettingsState) << "&"; + } + + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void EnableAllowedImagesSettingsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/EnableAllowedImagesSettingsResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/EnableAllowedImagesSettingsResponse.cpp new file mode 100644 index 00000000000..43273ee4262 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/EnableAllowedImagesSettingsResponse.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +EnableAllowedImagesSettingsResponse::EnableAllowedImagesSettingsResponse() : + m_allowedImagesSettingsState(AllowedImagesSettingsEnabledState::NOT_SET) +{ +} + +EnableAllowedImagesSettingsResponse::EnableAllowedImagesSettingsResponse(const Aws::AmazonWebServiceResult& result) + : EnableAllowedImagesSettingsResponse() +{ + *this = result; +} + +EnableAllowedImagesSettingsResponse& EnableAllowedImagesSettingsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "EnableAllowedImagesSettingsResponse")) + { + resultNode = rootNode.FirstChild("EnableAllowedImagesSettingsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode allowedImagesSettingsStateNode = resultNode.FirstChild("allowedImagesSettingsState"); + if(!allowedImagesSettingsStateNode.IsNull()) + { + m_allowedImagesSettingsState = AllowedImagesSettingsEnabledStateMapper::GetAllowedImagesSettingsEnabledStateForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(allowedImagesSettingsStateNode.GetText()).c_str()).c_str()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::EnableAllowedImagesSettingsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ExportVerifiedAccessInstanceClientConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ExportVerifiedAccessInstanceClientConfigurationRequest.cpp new file mode 100644 index 00000000000..fbc12eaa10c --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ExportVerifiedAccessInstanceClientConfigurationRequest.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +ExportVerifiedAccessInstanceClientConfigurationRequest::ExportVerifiedAccessInstanceClientConfigurationRequest() : + m_verifiedAccessInstanceIdHasBeenSet(false), + m_dryRun(false), + m_dryRunHasBeenSet(false) +{ +} + +Aws::String ExportVerifiedAccessInstanceClientConfigurationRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=ExportVerifiedAccessInstanceClientConfiguration&"; + if(m_verifiedAccessInstanceIdHasBeenSet) + { + ss << "VerifiedAccessInstanceId=" << StringUtils::URLEncode(m_verifiedAccessInstanceId.c_str()) << "&"; + } + + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void ExportVerifiedAccessInstanceClientConfigurationRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ExportVerifiedAccessInstanceClientConfigurationResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ExportVerifiedAccessInstanceClientConfigurationResponse.cpp new file mode 100644 index 00000000000..33ca6df298e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ExportVerifiedAccessInstanceClientConfigurationResponse.cpp @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +ExportVerifiedAccessInstanceClientConfigurationResponse::ExportVerifiedAccessInstanceClientConfigurationResponse() +{ +} + +ExportVerifiedAccessInstanceClientConfigurationResponse::ExportVerifiedAccessInstanceClientConfigurationResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ExportVerifiedAccessInstanceClientConfigurationResponse& ExportVerifiedAccessInstanceClientConfigurationResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "ExportVerifiedAccessInstanceClientConfigurationResponse")) + { + resultNode = rootNode.FirstChild("ExportVerifiedAccessInstanceClientConfigurationResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode versionNode = resultNode.FirstChild("version"); + if(!versionNode.IsNull()) + { + m_version = Aws::Utils::Xml::DecodeEscapedXmlText(versionNode.GetText()); + } + XmlNode verifiedAccessInstanceIdNode = resultNode.FirstChild("verifiedAccessInstanceId"); + if(!verifiedAccessInstanceIdNode.IsNull()) + { + m_verifiedAccessInstanceId = Aws::Utils::Xml::DecodeEscapedXmlText(verifiedAccessInstanceIdNode.GetText()); + } + XmlNode regionNode = resultNode.FirstChild("region"); + if(!regionNode.IsNull()) + { + m_region = Aws::Utils::Xml::DecodeEscapedXmlText(regionNode.GetText()); + } + XmlNode deviceTrustProvidersNode = resultNode.FirstChild("deviceTrustProviderSet"); + if(!deviceTrustProvidersNode.IsNull()) + { + XmlNode deviceTrustProvidersMember = deviceTrustProvidersNode.FirstChild("item"); + while(!deviceTrustProvidersMember.IsNull()) + { + m_deviceTrustProviders.push_back(DeviceTrustProviderTypeMapper::GetDeviceTrustProviderTypeForName(StringUtils::Trim(deviceTrustProvidersMember.GetText().c_str()))); + deviceTrustProvidersMember = deviceTrustProvidersMember.NextNode("item"); + } + + } + XmlNode userTrustProviderNode = resultNode.FirstChild("userTrustProvider"); + if(!userTrustProviderNode.IsNull()) + { + m_userTrustProvider = userTrustProviderNode; + } + XmlNode openVpnConfigurationsNode = resultNode.FirstChild("openVpnConfigurationSet"); + if(!openVpnConfigurationsNode.IsNull()) + { + XmlNode openVpnConfigurationsMember = openVpnConfigurationsNode.FirstChild("item"); + while(!openVpnConfigurationsMember.IsNull()) + { + m_openVpnConfigurations.push_back(openVpnConfigurationsMember); + openVpnConfigurationsMember = openVpnConfigurationsMember.NextNode("item"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::ExportVerifiedAccessInstanceClientConfigurationResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/GetAllowedImagesSettingsRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/GetAllowedImagesSettingsRequest.cpp new file mode 100644 index 00000000000..58910249a9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/GetAllowedImagesSettingsRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +GetAllowedImagesSettingsRequest::GetAllowedImagesSettingsRequest() : + m_dryRun(false), + m_dryRunHasBeenSet(false) +{ +} + +Aws::String GetAllowedImagesSettingsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=GetAllowedImagesSettings&"; + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void GetAllowedImagesSettingsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/GetAllowedImagesSettingsResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/GetAllowedImagesSettingsResponse.cpp new file mode 100644 index 00000000000..6ad87f1284c --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/GetAllowedImagesSettingsResponse.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +GetAllowedImagesSettingsResponse::GetAllowedImagesSettingsResponse() : + m_managedBy(ManagedBy::NOT_SET) +{ +} + +GetAllowedImagesSettingsResponse::GetAllowedImagesSettingsResponse(const Aws::AmazonWebServiceResult& result) + : GetAllowedImagesSettingsResponse() +{ + *this = result; +} + +GetAllowedImagesSettingsResponse& GetAllowedImagesSettingsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "GetAllowedImagesSettingsResponse")) + { + resultNode = rootNode.FirstChild("GetAllowedImagesSettingsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode stateNode = resultNode.FirstChild("state"); + if(!stateNode.IsNull()) + { + m_state = Aws::Utils::Xml::DecodeEscapedXmlText(stateNode.GetText()); + } + XmlNode imageCriteriaNode = resultNode.FirstChild("imageCriterionSet"); + if(!imageCriteriaNode.IsNull()) + { + XmlNode imageCriteriaMember = imageCriteriaNode.FirstChild("item"); + while(!imageCriteriaMember.IsNull()) + { + m_imageCriteria.push_back(imageCriteriaMember); + imageCriteriaMember = imageCriteriaMember.NextNode("item"); + } + + } + XmlNode managedByNode = resultNode.FirstChild("managedBy"); + if(!managedByNode.IsNull()) + { + m_managedBy = ManagedByMapper::GetManagedByForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(managedByNode.GetText()).c_str()).c_str()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::GetAllowedImagesSettingsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/GetDeclarativePoliciesReportSummaryRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/GetDeclarativePoliciesReportSummaryRequest.cpp new file mode 100644 index 00000000000..bfda22ef770 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/GetDeclarativePoliciesReportSummaryRequest.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +GetDeclarativePoliciesReportSummaryRequest::GetDeclarativePoliciesReportSummaryRequest() : + m_dryRun(false), + m_dryRunHasBeenSet(false), + m_reportIdHasBeenSet(false) +{ +} + +Aws::String GetDeclarativePoliciesReportSummaryRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=GetDeclarativePoliciesReportSummary&"; + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + if(m_reportIdHasBeenSet) + { + ss << "ReportId=" << StringUtils::URLEncode(m_reportId.c_str()) << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void GetDeclarativePoliciesReportSummaryRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/GetDeclarativePoliciesReportSummaryResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/GetDeclarativePoliciesReportSummaryResponse.cpp new file mode 100644 index 00000000000..20da2b9ab85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/GetDeclarativePoliciesReportSummaryResponse.cpp @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +GetDeclarativePoliciesReportSummaryResponse::GetDeclarativePoliciesReportSummaryResponse() : + m_numberOfAccounts(0), + m_numberOfFailedAccounts(0) +{ +} + +GetDeclarativePoliciesReportSummaryResponse::GetDeclarativePoliciesReportSummaryResponse(const Aws::AmazonWebServiceResult& result) + : GetDeclarativePoliciesReportSummaryResponse() +{ + *this = result; +} + +GetDeclarativePoliciesReportSummaryResponse& GetDeclarativePoliciesReportSummaryResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "GetDeclarativePoliciesReportSummaryResponse")) + { + resultNode = rootNode.FirstChild("GetDeclarativePoliciesReportSummaryResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode reportIdNode = resultNode.FirstChild("reportId"); + if(!reportIdNode.IsNull()) + { + m_reportId = Aws::Utils::Xml::DecodeEscapedXmlText(reportIdNode.GetText()); + } + XmlNode s3BucketNode = resultNode.FirstChild("s3Bucket"); + if(!s3BucketNode.IsNull()) + { + m_s3Bucket = Aws::Utils::Xml::DecodeEscapedXmlText(s3BucketNode.GetText()); + } + XmlNode s3PrefixNode = resultNode.FirstChild("s3Prefix"); + if(!s3PrefixNode.IsNull()) + { + m_s3Prefix = Aws::Utils::Xml::DecodeEscapedXmlText(s3PrefixNode.GetText()); + } + XmlNode targetIdNode = resultNode.FirstChild("targetId"); + if(!targetIdNode.IsNull()) + { + m_targetId = Aws::Utils::Xml::DecodeEscapedXmlText(targetIdNode.GetText()); + } + XmlNode startTimeNode = resultNode.FirstChild("startTime"); + if(!startTimeNode.IsNull()) + { + m_startTime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(startTimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode endTimeNode = resultNode.FirstChild("endTime"); + if(!endTimeNode.IsNull()) + { + m_endTime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(endTimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode numberOfAccountsNode = resultNode.FirstChild("numberOfAccounts"); + if(!numberOfAccountsNode.IsNull()) + { + m_numberOfAccounts = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(numberOfAccountsNode.GetText()).c_str()).c_str()); + } + XmlNode numberOfFailedAccountsNode = resultNode.FirstChild("numberOfFailedAccounts"); + if(!numberOfFailedAccountsNode.IsNull()) + { + m_numberOfFailedAccounts = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(numberOfFailedAccountsNode.GetText()).c_str()).c_str()); + } + XmlNode attributeSummariesNode = resultNode.FirstChild("attributeSummarySet"); + if(!attributeSummariesNode.IsNull()) + { + XmlNode attributeSummariesMember = attributeSummariesNode.FirstChild("item"); + while(!attributeSummariesMember.IsNull()) + { + m_attributeSummaries.push_back(attributeSummariesMember); + attributeSummariesMember = attributeSummariesMember.NextNode("item"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::GetDeclarativePoliciesReportSummaryResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/GetImageBlockPublicAccessStateResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/GetImageBlockPublicAccessStateResponse.cpp index 0d3d4a9f140..3e6f6d9627c 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/GetImageBlockPublicAccessStateResponse.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/GetImageBlockPublicAccessStateResponse.cpp @@ -17,11 +17,13 @@ using namespace Aws::Utils::Logging; using namespace Aws::Utils; using namespace Aws; -GetImageBlockPublicAccessStateResponse::GetImageBlockPublicAccessStateResponse() +GetImageBlockPublicAccessStateResponse::GetImageBlockPublicAccessStateResponse() : + m_managedBy(ManagedBy::NOT_SET) { } GetImageBlockPublicAccessStateResponse::GetImageBlockPublicAccessStateResponse(const Aws::AmazonWebServiceResult& result) + : GetImageBlockPublicAccessStateResponse() { *this = result; } @@ -43,6 +45,11 @@ GetImageBlockPublicAccessStateResponse& GetImageBlockPublicAccessStateResponse:: { m_imageBlockPublicAccessState = Aws::Utils::Xml::DecodeEscapedXmlText(imageBlockPublicAccessStateNode.GetText()); } + XmlNode managedByNode = resultNode.FirstChild("managedBy"); + if(!managedByNode.IsNull()) + { + m_managedBy = ManagedByMapper::GetManagedByForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(managedByNode.GetText()).c_str()).c_str()); + } } if (!rootNode.IsNull()) { diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/GetSerialConsoleAccessStatusResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/GetSerialConsoleAccessStatusResponse.cpp index dad2e54e450..656cb84bd17 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/GetSerialConsoleAccessStatusResponse.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/GetSerialConsoleAccessStatusResponse.cpp @@ -18,7 +18,8 @@ using namespace Aws::Utils; using namespace Aws; GetSerialConsoleAccessStatusResponse::GetSerialConsoleAccessStatusResponse() : - m_serialConsoleAccessEnabled(false) + m_serialConsoleAccessEnabled(false), + m_managedBy(ManagedBy::NOT_SET) { } @@ -45,6 +46,11 @@ GetSerialConsoleAccessStatusResponse& GetSerialConsoleAccessStatusResponse::oper { m_serialConsoleAccessEnabled = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(serialConsoleAccessEnabledNode.GetText()).c_str()).c_str()); } + XmlNode managedByNode = resultNode.FirstChild("managedBy"); + if(!managedByNode.IsNull()) + { + m_managedBy = ManagedByMapper::GetManagedByForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(managedByNode.GetText()).c_str()).c_str()); + } } if (!rootNode.IsNull()) { diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/GetSnapshotBlockPublicAccessStateResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/GetSnapshotBlockPublicAccessStateResponse.cpp index e0287f3e245..c336afbdf02 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/GetSnapshotBlockPublicAccessStateResponse.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/GetSnapshotBlockPublicAccessStateResponse.cpp @@ -18,7 +18,8 @@ using namespace Aws::Utils; using namespace Aws; GetSnapshotBlockPublicAccessStateResponse::GetSnapshotBlockPublicAccessStateResponse() : - m_state(SnapshotBlockPublicAccessState::NOT_SET) + m_state(SnapshotBlockPublicAccessState::NOT_SET), + m_managedBy(ManagedBy::NOT_SET) { } @@ -45,6 +46,11 @@ GetSnapshotBlockPublicAccessStateResponse& GetSnapshotBlockPublicAccessStateResp { m_state = SnapshotBlockPublicAccessStateMapper::GetSnapshotBlockPublicAccessStateForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(stateNode.GetText()).c_str()).c_str()); } + XmlNode managedByNode = resultNode.FirstChild("managedBy"); + if(!managedByNode.IsNull()) + { + m_managedBy = ManagedByMapper::GetManagedByForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(managedByNode.GetText()).c_str()).c_str()); + } } if (!rootNode.IsNull()) { diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/GetVerifiedAccessEndpointTargetsRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/GetVerifiedAccessEndpointTargetsRequest.cpp new file mode 100644 index 00000000000..63b5fb812f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/GetVerifiedAccessEndpointTargetsRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +GetVerifiedAccessEndpointTargetsRequest::GetVerifiedAccessEndpointTargetsRequest() : + m_verifiedAccessEndpointIdHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_dryRun(false), + m_dryRunHasBeenSet(false) +{ +} + +Aws::String GetVerifiedAccessEndpointTargetsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=GetVerifiedAccessEndpointTargets&"; + if(m_verifiedAccessEndpointIdHasBeenSet) + { + ss << "VerifiedAccessEndpointId=" << StringUtils::URLEncode(m_verifiedAccessEndpointId.c_str()) << "&"; + } + + if(m_maxResultsHasBeenSet) + { + ss << "MaxResults=" << m_maxResults << "&"; + } + + if(m_nextTokenHasBeenSet) + { + ss << "NextToken=" << StringUtils::URLEncode(m_nextToken.c_str()) << "&"; + } + + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void GetVerifiedAccessEndpointTargetsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/GetVerifiedAccessEndpointTargetsResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/GetVerifiedAccessEndpointTargetsResponse.cpp new file mode 100644 index 00000000000..66e39f1a498 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/GetVerifiedAccessEndpointTargetsResponse.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +GetVerifiedAccessEndpointTargetsResponse::GetVerifiedAccessEndpointTargetsResponse() +{ +} + +GetVerifiedAccessEndpointTargetsResponse::GetVerifiedAccessEndpointTargetsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetVerifiedAccessEndpointTargetsResponse& GetVerifiedAccessEndpointTargetsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "GetVerifiedAccessEndpointTargetsResponse")) + { + resultNode = rootNode.FirstChild("GetVerifiedAccessEndpointTargetsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode verifiedAccessEndpointTargetsNode = resultNode.FirstChild("verifiedAccessEndpointTargetSet"); + if(!verifiedAccessEndpointTargetsNode.IsNull()) + { + XmlNode verifiedAccessEndpointTargetsMember = verifiedAccessEndpointTargetsNode.FirstChild("item"); + while(!verifiedAccessEndpointTargetsMember.IsNull()) + { + m_verifiedAccessEndpointTargets.push_back(verifiedAccessEndpointTargetsMember); + verifiedAccessEndpointTargetsMember = verifiedAccessEndpointTargetsMember.NextNode("item"); + } + + } + XmlNode nextTokenNode = resultNode.FirstChild("nextToken"); + if(!nextTokenNode.IsNull()) + { + m_nextToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextTokenNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::GetVerifiedAccessEndpointTargetsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/Image.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/Image.cpp index 7a7d86a1c1e..cd2b1a6aa3f 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/Image.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/Image.cpp @@ -49,6 +49,8 @@ Image::Image() : m_sourceInstanceIdHasBeenSet(false), m_deregistrationProtectionHasBeenSet(false), m_lastLaunchedTimeHasBeenSet(false), + m_imageAllowed(false), + m_imageAllowedHasBeenSet(false), m_sourceImageIdHasBeenSet(false), m_sourceImageRegionHasBeenSet(false), m_imageIdHasBeenSet(false), @@ -221,6 +223,12 @@ Image& Image::operator =(const XmlNode& xmlNode) m_lastLaunchedTime = Aws::Utils::Xml::DecodeEscapedXmlText(lastLaunchedTimeNode.GetText()); m_lastLaunchedTimeHasBeenSet = true; } + XmlNode imageAllowedNode = resultNode.FirstChild("imageAllowed"); + if(!imageAllowedNode.IsNull()) + { + m_imageAllowed = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(imageAllowedNode.GetText()).c_str()).c_str()); + m_imageAllowedHasBeenSet = true; + } XmlNode sourceImageIdNode = resultNode.FirstChild("sourceImageId"); if(!sourceImageIdNode.IsNull()) { @@ -437,6 +445,11 @@ void Image::OutputToStream(Aws::OStream& oStream, const char* location, unsigned oStream << location << index << locationValue << ".LastLaunchedTime=" << StringUtils::URLEncode(m_lastLaunchedTime.c_str()) << "&"; } + if(m_imageAllowedHasBeenSet) + { + oStream << location << index << locationValue << ".ImageAllowed=" << std::boolalpha << m_imageAllowed << "&"; + } + if(m_sourceImageIdHasBeenSet) { oStream << location << index << locationValue << ".SourceImageId=" << StringUtils::URLEncode(m_sourceImageId.c_str()) << "&"; @@ -615,6 +628,10 @@ void Image::OutputToStream(Aws::OStream& oStream, const char* location) const { oStream << location << ".LastLaunchedTime=" << StringUtils::URLEncode(m_lastLaunchedTime.c_str()) << "&"; } + if(m_imageAllowedHasBeenSet) + { + oStream << location << ".ImageAllowed=" << std::boolalpha << m_imageAllowed << "&"; + } if(m_sourceImageIdHasBeenSet) { oStream << location << ".SourceImageId=" << StringUtils::URLEncode(m_sourceImageId.c_str()) << "&"; diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ImageCriterion.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ImageCriterion.cpp new file mode 100644 index 00000000000..4392085c41a --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ImageCriterion.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +ImageCriterion::ImageCriterion() : + m_imageProvidersHasBeenSet(false) +{ +} + +ImageCriterion::ImageCriterion(const XmlNode& xmlNode) + : ImageCriterion() +{ + *this = xmlNode; +} + +ImageCriterion& ImageCriterion::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode imageProvidersNode = resultNode.FirstChild("imageProviderSet"); + if(!imageProvidersNode.IsNull()) + { + XmlNode imageProvidersMember = imageProvidersNode.FirstChild("item"); + while(!imageProvidersMember.IsNull()) + { + m_imageProviders.push_back(imageProvidersMember.GetText()); + imageProvidersMember = imageProvidersMember.NextNode("item"); + } + + m_imageProvidersHasBeenSet = true; + } + } + + return *this; +} + +void ImageCriterion::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_imageProvidersHasBeenSet) + { + unsigned imageProvidersIdx = 1; + for(auto& item : m_imageProviders) + { + oStream << location << index << locationValue << ".ImageProviderSet." << imageProvidersIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + +} + +void ImageCriterion::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_imageProvidersHasBeenSet) + { + unsigned imageProvidersIdx = 1; + for(auto& item : m_imageProviders) + { + oStream << location << ".ImageProviderSet." << imageProvidersIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ImageCriterionRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ImageCriterionRequest.cpp new file mode 100644 index 00000000000..dc0767c1cb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ImageCriterionRequest.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +ImageCriterionRequest::ImageCriterionRequest() : + m_imageProvidersHasBeenSet(false) +{ +} + +ImageCriterionRequest::ImageCriterionRequest(const XmlNode& xmlNode) + : ImageCriterionRequest() +{ + *this = xmlNode; +} + +ImageCriterionRequest& ImageCriterionRequest::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode imageProvidersNode = resultNode.FirstChild("ImageProvider"); + if(!imageProvidersNode.IsNull()) + { + XmlNode imageProvidersMember = imageProvidersNode.FirstChild("item"); + while(!imageProvidersMember.IsNull()) + { + m_imageProviders.push_back(imageProvidersMember.GetText()); + imageProvidersMember = imageProvidersMember.NextNode("item"); + } + + m_imageProvidersHasBeenSet = true; + } + } + + return *this; +} + +void ImageCriterionRequest::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_imageProvidersHasBeenSet) + { + unsigned imageProvidersIdx = 1; + for(auto& item : m_imageProviders) + { + oStream << location << index << locationValue << ".ImageProvider." << imageProvidersIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + +} + +void ImageCriterionRequest::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_imageProvidersHasBeenSet) + { + unsigned imageProvidersIdx = 1; + for(auto& item : m_imageProviders) + { + oStream << location << ".ImageProvider." << imageProvidersIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ImageMetadata.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ImageMetadata.cpp index 44a7776d091..a3efe6f69c0 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/ImageMetadata.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ImageMetadata.cpp @@ -29,6 +29,8 @@ ImageMetadata::ImageMetadata() : m_imageOwnerAliasHasBeenSet(false), m_creationDateHasBeenSet(false), m_deprecationTimeHasBeenSet(false), + m_imageAllowed(false), + m_imageAllowedHasBeenSet(false), m_isPublic(false), m_isPublicHasBeenSet(false) { @@ -88,6 +90,12 @@ ImageMetadata& ImageMetadata::operator =(const XmlNode& xmlNode) m_deprecationTime = Aws::Utils::Xml::DecodeEscapedXmlText(deprecationTimeNode.GetText()); m_deprecationTimeHasBeenSet = true; } + XmlNode imageAllowedNode = resultNode.FirstChild("imageAllowed"); + if(!imageAllowedNode.IsNull()) + { + m_imageAllowed = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(imageAllowedNode.GetText()).c_str()).c_str()); + m_imageAllowedHasBeenSet = true; + } XmlNode isPublicNode = resultNode.FirstChild("isPublic"); if(!isPublicNode.IsNull()) { @@ -136,6 +144,11 @@ void ImageMetadata::OutputToStream(Aws::OStream& oStream, const char* location, oStream << location << index << locationValue << ".DeprecationTime=" << StringUtils::URLEncode(m_deprecationTime.c_str()) << "&"; } + if(m_imageAllowedHasBeenSet) + { + oStream << location << index << locationValue << ".ImageAllowed=" << std::boolalpha << m_imageAllowed << "&"; + } + if(m_isPublicHasBeenSet) { oStream << location << index << locationValue << ".IsPublic=" << std::boolalpha << m_isPublic << "&"; @@ -173,6 +186,10 @@ void ImageMetadata::OutputToStream(Aws::OStream& oStream, const char* location) { oStream << location << ".DeprecationTime=" << StringUtils::URLEncode(m_deprecationTime.c_str()) << "&"; } + if(m_imageAllowedHasBeenSet) + { + oStream << location << ".ImageAllowed=" << std::boolalpha << m_imageAllowed << "&"; + } if(m_isPublicHasBeenSet) { oStream << location << ".IsPublic=" << std::boolalpha << m_isPublic << "&"; diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/InstanceMetadataDefaultsResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/InstanceMetadataDefaultsResponse.cpp index c78af3b0733..318dfb3c043 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/InstanceMetadataDefaultsResponse.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/InstanceMetadataDefaultsResponse.cpp @@ -28,7 +28,10 @@ InstanceMetadataDefaultsResponse::InstanceMetadataDefaultsResponse() : m_httpEndpoint(InstanceMetadataEndpointState::NOT_SET), m_httpEndpointHasBeenSet(false), m_instanceMetadataTags(InstanceMetadataTagsState::NOT_SET), - m_instanceMetadataTagsHasBeenSet(false) + m_instanceMetadataTagsHasBeenSet(false), + m_managedBy(ManagedBy::NOT_SET), + m_managedByHasBeenSet(false), + m_managedExceptionMessageHasBeenSet(false) { } @@ -68,6 +71,18 @@ InstanceMetadataDefaultsResponse& InstanceMetadataDefaultsResponse::operator =(c m_instanceMetadataTags = InstanceMetadataTagsStateMapper::GetInstanceMetadataTagsStateForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(instanceMetadataTagsNode.GetText()).c_str()).c_str()); m_instanceMetadataTagsHasBeenSet = true; } + XmlNode managedByNode = resultNode.FirstChild("managedBy"); + if(!managedByNode.IsNull()) + { + m_managedBy = ManagedByMapper::GetManagedByForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(managedByNode.GetText()).c_str()).c_str()); + m_managedByHasBeenSet = true; + } + XmlNode managedExceptionMessageNode = resultNode.FirstChild("managedExceptionMessage"); + if(!managedExceptionMessageNode.IsNull()) + { + m_managedExceptionMessage = Aws::Utils::Xml::DecodeEscapedXmlText(managedExceptionMessageNode.GetText()); + m_managedExceptionMessageHasBeenSet = true; + } } return *this; @@ -95,6 +110,16 @@ void InstanceMetadataDefaultsResponse::OutputToStream(Aws::OStream& oStream, con oStream << location << index << locationValue << ".InstanceMetadataTags=" << InstanceMetadataTagsStateMapper::GetNameForInstanceMetadataTagsState(m_instanceMetadataTags) << "&"; } + if(m_managedByHasBeenSet) + { + oStream << location << index << locationValue << ".ManagedBy=" << ManagedByMapper::GetNameForManagedBy(m_managedBy) << "&"; + } + + if(m_managedExceptionMessageHasBeenSet) + { + oStream << location << index << locationValue << ".ManagedExceptionMessage=" << StringUtils::URLEncode(m_managedExceptionMessage.c_str()) << "&"; + } + } void InstanceMetadataDefaultsResponse::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -115,6 +140,14 @@ void InstanceMetadataDefaultsResponse::OutputToStream(Aws::OStream& oStream, con { oStream << location << ".InstanceMetadataTags=" << InstanceMetadataTagsStateMapper::GetNameForInstanceMetadataTagsState(m_instanceMetadataTags) << "&"; } + if(m_managedByHasBeenSet) + { + oStream << location << ".ManagedBy=" << ManagedByMapper::GetNameForManagedBy(m_managedBy) << "&"; + } + if(m_managedExceptionMessageHasBeenSet) + { + oStream << location << ".ManagedExceptionMessage=" << StringUtils::URLEncode(m_managedExceptionMessage.c_str()) << "&"; + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/InstanceType.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/InstanceType.cpp index 88d44a159ec..ff9e88fcef8 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/InstanceType.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/InstanceType.cpp @@ -884,6 +884,24 @@ namespace Aws static const int x8g_48xlarge_HASH = HashingUtils::HashString("x8g.48xlarge"); static const int x8g_metal_24xl_HASH = HashingUtils::HashString("x8g.metal-24xl"); static const int x8g_metal_48xl_HASH = HashingUtils::HashString("x8g.metal-48xl"); + static const int i7ie_large_HASH = HashingUtils::HashString("i7ie.large"); + static const int i7ie_xlarge_HASH = HashingUtils::HashString("i7ie.xlarge"); + static const int i7ie_2xlarge_HASH = HashingUtils::HashString("i7ie.2xlarge"); + static const int i7ie_3xlarge_HASH = HashingUtils::HashString("i7ie.3xlarge"); + static const int i7ie_6xlarge_HASH = HashingUtils::HashString("i7ie.6xlarge"); + static const int i7ie_12xlarge_HASH = HashingUtils::HashString("i7ie.12xlarge"); + static const int i7ie_18xlarge_HASH = HashingUtils::HashString("i7ie.18xlarge"); + static const int i7ie_24xlarge_HASH = HashingUtils::HashString("i7ie.24xlarge"); + static const int i7ie_48xlarge_HASH = HashingUtils::HashString("i7ie.48xlarge"); + static const int i8g_large_HASH = HashingUtils::HashString("i8g.large"); + static const int i8g_xlarge_HASH = HashingUtils::HashString("i8g.xlarge"); + static const int i8g_2xlarge_HASH = HashingUtils::HashString("i8g.2xlarge"); + static const int i8g_4xlarge_HASH = HashingUtils::HashString("i8g.4xlarge"); + static const int i8g_8xlarge_HASH = HashingUtils::HashString("i8g.8xlarge"); + static const int i8g_12xlarge_HASH = HashingUtils::HashString("i8g.12xlarge"); + static const int i8g_16xlarge_HASH = HashingUtils::HashString("i8g.16xlarge"); + static const int i8g_24xlarge_HASH = HashingUtils::HashString("i8g.24xlarge"); + static const int i8g_metal_24xl_HASH = HashingUtils::HashString("i8g.metal-24xl"); /* The if-else chains in this file are converted into a jump table by the compiler, @@ -5240,6 +5258,96 @@ namespace Aws enumValue = InstanceType::x8g_metal_48xl; return true; } + else if (hashCode == i7ie_large_HASH) + { + enumValue = InstanceType::i7ie_large; + return true; + } + else if (hashCode == i7ie_xlarge_HASH) + { + enumValue = InstanceType::i7ie_xlarge; + return true; + } + else if (hashCode == i7ie_2xlarge_HASH) + { + enumValue = InstanceType::i7ie_2xlarge; + return true; + } + else if (hashCode == i7ie_3xlarge_HASH) + { + enumValue = InstanceType::i7ie_3xlarge; + return true; + } + else if (hashCode == i7ie_6xlarge_HASH) + { + enumValue = InstanceType::i7ie_6xlarge; + return true; + } + else if (hashCode == i7ie_12xlarge_HASH) + { + enumValue = InstanceType::i7ie_12xlarge; + return true; + } + else if (hashCode == i7ie_18xlarge_HASH) + { + enumValue = InstanceType::i7ie_18xlarge; + return true; + } + else if (hashCode == i7ie_24xlarge_HASH) + { + enumValue = InstanceType::i7ie_24xlarge; + return true; + } + else if (hashCode == i7ie_48xlarge_HASH) + { + enumValue = InstanceType::i7ie_48xlarge; + return true; + } + else if (hashCode == i8g_large_HASH) + { + enumValue = InstanceType::i8g_large; + return true; + } + else if (hashCode == i8g_xlarge_HASH) + { + enumValue = InstanceType::i8g_xlarge; + return true; + } + else if (hashCode == i8g_2xlarge_HASH) + { + enumValue = InstanceType::i8g_2xlarge; + return true; + } + else if (hashCode == i8g_4xlarge_HASH) + { + enumValue = InstanceType::i8g_4xlarge; + return true; + } + else if (hashCode == i8g_8xlarge_HASH) + { + enumValue = InstanceType::i8g_8xlarge; + return true; + } + else if (hashCode == i8g_12xlarge_HASH) + { + enumValue = InstanceType::i8g_12xlarge; + return true; + } + else if (hashCode == i8g_16xlarge_HASH) + { + enumValue = InstanceType::i8g_16xlarge; + return true; + } + else if (hashCode == i8g_24xlarge_HASH) + { + enumValue = InstanceType::i8g_24xlarge; + return true; + } + else if (hashCode == i8g_metal_24xl_HASH) + { + enumValue = InstanceType::i8g_metal_24xl; + return true; + } return false; } @@ -7895,6 +8003,60 @@ namespace Aws case InstanceType::x8g_metal_48xl: value = "x8g.metal-48xl"; return true; + case InstanceType::i7ie_large: + value = "i7ie.large"; + return true; + case InstanceType::i7ie_xlarge: + value = "i7ie.xlarge"; + return true; + case InstanceType::i7ie_2xlarge: + value = "i7ie.2xlarge"; + return true; + case InstanceType::i7ie_3xlarge: + value = "i7ie.3xlarge"; + return true; + case InstanceType::i7ie_6xlarge: + value = "i7ie.6xlarge"; + return true; + case InstanceType::i7ie_12xlarge: + value = "i7ie.12xlarge"; + return true; + case InstanceType::i7ie_18xlarge: + value = "i7ie.18xlarge"; + return true; + case InstanceType::i7ie_24xlarge: + value = "i7ie.24xlarge"; + return true; + case InstanceType::i7ie_48xlarge: + value = "i7ie.48xlarge"; + return true; + case InstanceType::i8g_large: + value = "i8g.large"; + return true; + case InstanceType::i8g_xlarge: + value = "i8g.xlarge"; + return true; + case InstanceType::i8g_2xlarge: + value = "i8g.2xlarge"; + return true; + case InstanceType::i8g_4xlarge: + value = "i8g.4xlarge"; + return true; + case InstanceType::i8g_8xlarge: + value = "i8g.8xlarge"; + return true; + case InstanceType::i8g_12xlarge: + value = "i8g.12xlarge"; + return true; + case InstanceType::i8g_16xlarge: + value = "i8g.16xlarge"; + return true; + case InstanceType::i8g_24xlarge: + value = "i8g.24xlarge"; + return true; + case InstanceType::i8g_metal_24xl: + value = "i8g.metal-24xl"; + return true; default: return false; } diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ManagedBy.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ManagedBy.cpp new file mode 100644 index 00000000000..ad912569223 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ManagedBy.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace EC2 + { + namespace Model + { + namespace ManagedByMapper + { + + static const int account_HASH = HashingUtils::HashString("account"); + static const int declarative_policy_HASH = HashingUtils::HashString("declarative-policy"); + + + ManagedBy GetManagedByForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == account_HASH) + { + return ManagedBy::account; + } + else if (hashCode == declarative_policy_HASH) + { + return ManagedBy::declarative_policy; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ManagedBy::NOT_SET; + } + + Aws::String GetNameForManagedBy(ManagedBy enumValue) + { + switch(enumValue) + { + case ManagedBy::NOT_SET: + return {}; + case ManagedBy::account: + return "account"; + case ManagedBy::declarative_policy: + return "declarative-policy"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ManagedByMapper + } // namespace Model + } // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointCidrOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointCidrOptions.cpp new file mode 100644 index 00000000000..712a1bc871f --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointCidrOptions.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +ModifyVerifiedAccessEndpointCidrOptions::ModifyVerifiedAccessEndpointCidrOptions() : + m_portRangesHasBeenSet(false) +{ +} + +ModifyVerifiedAccessEndpointCidrOptions::ModifyVerifiedAccessEndpointCidrOptions(const XmlNode& xmlNode) + : ModifyVerifiedAccessEndpointCidrOptions() +{ + *this = xmlNode; +} + +ModifyVerifiedAccessEndpointCidrOptions& ModifyVerifiedAccessEndpointCidrOptions::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode portRangesNode = resultNode.FirstChild("PortRange"); + if(!portRangesNode.IsNull()) + { + XmlNode portRangesMember = portRangesNode.FirstChild("item"); + while(!portRangesMember.IsNull()) + { + m_portRanges.push_back(portRangesMember); + portRangesMember = portRangesMember.NextNode("item"); + } + + m_portRangesHasBeenSet = true; + } + } + + return *this; +} + +void ModifyVerifiedAccessEndpointCidrOptions::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << index << locationValue << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } + +} + +void ModifyVerifiedAccessEndpointCidrOptions::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointEniOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointEniOptions.cpp index 40f8ceebccf..3573cc85088 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointEniOptions.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointEniOptions.cpp @@ -24,7 +24,8 @@ ModifyVerifiedAccessEndpointEniOptions::ModifyVerifiedAccessEndpointEniOptions() m_protocol(VerifiedAccessEndpointProtocol::NOT_SET), m_protocolHasBeenSet(false), m_port(0), - m_portHasBeenSet(false) + m_portHasBeenSet(false), + m_portRangesHasBeenSet(false) { } @@ -52,6 +53,18 @@ ModifyVerifiedAccessEndpointEniOptions& ModifyVerifiedAccessEndpointEniOptions:: m_port = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(portNode.GetText()).c_str()).c_str()); m_portHasBeenSet = true; } + XmlNode portRangesNode = resultNode.FirstChild("PortRange"); + if(!portRangesNode.IsNull()) + { + XmlNode portRangesMember = portRangesNode.FirstChild("item"); + while(!portRangesMember.IsNull()) + { + m_portRanges.push_back(portRangesMember); + portRangesMember = portRangesMember.NextNode("item"); + } + + m_portRangesHasBeenSet = true; + } } return *this; @@ -69,6 +82,17 @@ void ModifyVerifiedAccessEndpointEniOptions::OutputToStream(Aws::OStream& oStrea oStream << location << index << locationValue << ".Port=" << m_port << "&"; } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << index << locationValue << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } + } void ModifyVerifiedAccessEndpointEniOptions::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -81,6 +105,16 @@ void ModifyVerifiedAccessEndpointEniOptions::OutputToStream(Aws::OStream& oStrea { oStream << location << ".Port=" << m_port << "&"; } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointLoadBalancerOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointLoadBalancerOptions.cpp index a02b669a342..99de0878e58 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointLoadBalancerOptions.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointLoadBalancerOptions.cpp @@ -25,7 +25,8 @@ ModifyVerifiedAccessEndpointLoadBalancerOptions::ModifyVerifiedAccessEndpointLoa m_protocol(VerifiedAccessEndpointProtocol::NOT_SET), m_protocolHasBeenSet(false), m_port(0), - m_portHasBeenSet(false) + m_portHasBeenSet(false), + m_portRangesHasBeenSet(false) { } @@ -65,6 +66,18 @@ ModifyVerifiedAccessEndpointLoadBalancerOptions& ModifyVerifiedAccessEndpointLoa m_port = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(portNode.GetText()).c_str()).c_str()); m_portHasBeenSet = true; } + XmlNode portRangesNode = resultNode.FirstChild("PortRange"); + if(!portRangesNode.IsNull()) + { + XmlNode portRangesMember = portRangesNode.FirstChild("item"); + while(!portRangesMember.IsNull()) + { + m_portRanges.push_back(portRangesMember); + portRangesMember = portRangesMember.NextNode("item"); + } + + m_portRangesHasBeenSet = true; + } } return *this; @@ -91,6 +104,17 @@ void ModifyVerifiedAccessEndpointLoadBalancerOptions::OutputToStream(Aws::OStrea oStream << location << index << locationValue << ".Port=" << m_port << "&"; } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << index << locationValue << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } + } void ModifyVerifiedAccessEndpointLoadBalancerOptions::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -111,6 +135,16 @@ void ModifyVerifiedAccessEndpointLoadBalancerOptions::OutputToStream(Aws::OStrea { oStream << location << ".Port=" << m_port << "&"; } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << ".PortRange." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointPortRange.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointPortRange.cpp new file mode 100644 index 00000000000..7ead7548197 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointPortRange.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +ModifyVerifiedAccessEndpointPortRange::ModifyVerifiedAccessEndpointPortRange() : + m_fromPort(0), + m_fromPortHasBeenSet(false), + m_toPort(0), + m_toPortHasBeenSet(false) +{ +} + +ModifyVerifiedAccessEndpointPortRange::ModifyVerifiedAccessEndpointPortRange(const XmlNode& xmlNode) + : ModifyVerifiedAccessEndpointPortRange() +{ + *this = xmlNode; +} + +ModifyVerifiedAccessEndpointPortRange& ModifyVerifiedAccessEndpointPortRange::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fromPortNode = resultNode.FirstChild("FromPort"); + if(!fromPortNode.IsNull()) + { + m_fromPort = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fromPortNode.GetText()).c_str()).c_str()); + m_fromPortHasBeenSet = true; + } + XmlNode toPortNode = resultNode.FirstChild("ToPort"); + if(!toPortNode.IsNull()) + { + m_toPort = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(toPortNode.GetText()).c_str()).c_str()); + m_toPortHasBeenSet = true; + } + } + + return *this; +} + +void ModifyVerifiedAccessEndpointPortRange::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_fromPortHasBeenSet) + { + oStream << location << index << locationValue << ".FromPort=" << m_fromPort << "&"; + } + + if(m_toPortHasBeenSet) + { + oStream << location << index << locationValue << ".ToPort=" << m_toPort << "&"; + } + +} + +void ModifyVerifiedAccessEndpointPortRange::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_fromPortHasBeenSet) + { + oStream << location << ".FromPort=" << m_fromPort << "&"; + } + if(m_toPortHasBeenSet) + { + oStream << location << ".ToPort=" << m_toPort << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointRdsOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointRdsOptions.cpp new file mode 100644 index 00000000000..0ea210b8c8b --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointRdsOptions.cpp @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +ModifyVerifiedAccessEndpointRdsOptions::ModifyVerifiedAccessEndpointRdsOptions() : + m_subnetIdsHasBeenSet(false), + m_port(0), + m_portHasBeenSet(false), + m_rdsEndpointHasBeenSet(false) +{ +} + +ModifyVerifiedAccessEndpointRdsOptions::ModifyVerifiedAccessEndpointRdsOptions(const XmlNode& xmlNode) + : ModifyVerifiedAccessEndpointRdsOptions() +{ + *this = xmlNode; +} + +ModifyVerifiedAccessEndpointRdsOptions& ModifyVerifiedAccessEndpointRdsOptions::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode subnetIdsNode = resultNode.FirstChild("SubnetId"); + if(!subnetIdsNode.IsNull()) + { + XmlNode subnetIdsMember = subnetIdsNode.FirstChild("item"); + while(!subnetIdsMember.IsNull()) + { + m_subnetIds.push_back(subnetIdsMember.GetText()); + subnetIdsMember = subnetIdsMember.NextNode("item"); + } + + m_subnetIdsHasBeenSet = true; + } + XmlNode portNode = resultNode.FirstChild("Port"); + if(!portNode.IsNull()) + { + m_port = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(portNode.GetText()).c_str()).c_str()); + m_portHasBeenSet = true; + } + XmlNode rdsEndpointNode = resultNode.FirstChild("RdsEndpoint"); + if(!rdsEndpointNode.IsNull()) + { + m_rdsEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(rdsEndpointNode.GetText()); + m_rdsEndpointHasBeenSet = true; + } + } + + return *this; +} + +void ModifyVerifiedAccessEndpointRdsOptions::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_subnetIdsHasBeenSet) + { + unsigned subnetIdsIdx = 1; + for(auto& item : m_subnetIds) + { + oStream << location << index << locationValue << ".SubnetId." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + + if(m_portHasBeenSet) + { + oStream << location << index << locationValue << ".Port=" << m_port << "&"; + } + + if(m_rdsEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".RdsEndpoint=" << StringUtils::URLEncode(m_rdsEndpoint.c_str()) << "&"; + } + +} + +void ModifyVerifiedAccessEndpointRdsOptions::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_subnetIdsHasBeenSet) + { + unsigned subnetIdsIdx = 1; + for(auto& item : m_subnetIds) + { + oStream << location << ".SubnetId." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + if(m_portHasBeenSet) + { + oStream << location << ".Port=" << m_port << "&"; + } + if(m_rdsEndpointHasBeenSet) + { + oStream << location << ".RdsEndpoint=" << StringUtils::URLEncode(m_rdsEndpoint.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointRequest.cpp index 8aaeba68dac..3ec2e981759 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointRequest.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessEndpointRequest.cpp @@ -19,7 +19,9 @@ ModifyVerifiedAccessEndpointRequest::ModifyVerifiedAccessEndpointRequest() : m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), m_clientTokenHasBeenSet(true), m_dryRun(false), - m_dryRunHasBeenSet(false) + m_dryRunHasBeenSet(false), + m_rdsOptionsHasBeenSet(false), + m_cidrOptionsHasBeenSet(false) { } @@ -62,6 +64,16 @@ Aws::String ModifyVerifiedAccessEndpointRequest::SerializePayload() const ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; } + if(m_rdsOptionsHasBeenSet) + { + m_rdsOptions.OutputToStream(ss, "RdsOptions"); + } + + if(m_cidrOptionsHasBeenSet) + { + m_cidrOptions.OutputToStream(ss, "CidrOptions"); + } + ss << "Version=2016-11-15"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessInstanceRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessInstanceRequest.cpp index 0b4a8d5d752..a9086483f28 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessInstanceRequest.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessInstanceRequest.cpp @@ -16,7 +16,8 @@ ModifyVerifiedAccessInstanceRequest::ModifyVerifiedAccessInstanceRequest() : m_dryRun(false), m_dryRunHasBeenSet(false), m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), - m_clientTokenHasBeenSet(true) + m_clientTokenHasBeenSet(true), + m_cidrEndpointsCustomSubDomainHasBeenSet(false) { } @@ -44,6 +45,11 @@ Aws::String ModifyVerifiedAccessInstanceRequest::SerializePayload() const ss << "ClientToken=" << StringUtils::URLEncode(m_clientToken.c_str()) << "&"; } + if(m_cidrEndpointsCustomSubDomainHasBeenSet) + { + ss << "CidrEndpointsCustomSubDomain=" << StringUtils::URLEncode(m_cidrEndpointsCustomSubDomain.c_str()) << "&"; + } + ss << "Version=2016-11-15"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessNativeApplicationOidcOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessNativeApplicationOidcOptions.cpp new file mode 100644 index 00000000000..3eaf34ec8b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessNativeApplicationOidcOptions.cpp @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +ModifyVerifiedAccessNativeApplicationOidcOptions::ModifyVerifiedAccessNativeApplicationOidcOptions() : + m_publicSigningKeyEndpointHasBeenSet(false), + m_issuerHasBeenSet(false), + m_authorizationEndpointHasBeenSet(false), + m_tokenEndpointHasBeenSet(false), + m_userInfoEndpointHasBeenSet(false), + m_clientIdHasBeenSet(false), + m_clientSecretHasBeenSet(false), + m_scopeHasBeenSet(false) +{ +} + +ModifyVerifiedAccessNativeApplicationOidcOptions::ModifyVerifiedAccessNativeApplicationOidcOptions(const XmlNode& xmlNode) + : ModifyVerifiedAccessNativeApplicationOidcOptions() +{ + *this = xmlNode; +} + +ModifyVerifiedAccessNativeApplicationOidcOptions& ModifyVerifiedAccessNativeApplicationOidcOptions::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode publicSigningKeyEndpointNode = resultNode.FirstChild("PublicSigningKeyEndpoint"); + if(!publicSigningKeyEndpointNode.IsNull()) + { + m_publicSigningKeyEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(publicSigningKeyEndpointNode.GetText()); + m_publicSigningKeyEndpointHasBeenSet = true; + } + XmlNode issuerNode = resultNode.FirstChild("Issuer"); + if(!issuerNode.IsNull()) + { + m_issuer = Aws::Utils::Xml::DecodeEscapedXmlText(issuerNode.GetText()); + m_issuerHasBeenSet = true; + } + XmlNode authorizationEndpointNode = resultNode.FirstChild("AuthorizationEndpoint"); + if(!authorizationEndpointNode.IsNull()) + { + m_authorizationEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(authorizationEndpointNode.GetText()); + m_authorizationEndpointHasBeenSet = true; + } + XmlNode tokenEndpointNode = resultNode.FirstChild("TokenEndpoint"); + if(!tokenEndpointNode.IsNull()) + { + m_tokenEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(tokenEndpointNode.GetText()); + m_tokenEndpointHasBeenSet = true; + } + XmlNode userInfoEndpointNode = resultNode.FirstChild("UserInfoEndpoint"); + if(!userInfoEndpointNode.IsNull()) + { + m_userInfoEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(userInfoEndpointNode.GetText()); + m_userInfoEndpointHasBeenSet = true; + } + XmlNode clientIdNode = resultNode.FirstChild("ClientId"); + if(!clientIdNode.IsNull()) + { + m_clientId = Aws::Utils::Xml::DecodeEscapedXmlText(clientIdNode.GetText()); + m_clientIdHasBeenSet = true; + } + XmlNode clientSecretNode = resultNode.FirstChild("ClientSecret"); + if(!clientSecretNode.IsNull()) + { + m_clientSecret = Aws::Utils::Xml::DecodeEscapedXmlText(clientSecretNode.GetText()); + m_clientSecretHasBeenSet = true; + } + XmlNode scopeNode = resultNode.FirstChild("Scope"); + if(!scopeNode.IsNull()) + { + m_scope = Aws::Utils::Xml::DecodeEscapedXmlText(scopeNode.GetText()); + m_scopeHasBeenSet = true; + } + } + + return *this; +} + +void ModifyVerifiedAccessNativeApplicationOidcOptions::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_publicSigningKeyEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".PublicSigningKeyEndpoint=" << StringUtils::URLEncode(m_publicSigningKeyEndpoint.c_str()) << "&"; + } + + if(m_issuerHasBeenSet) + { + oStream << location << index << locationValue << ".Issuer=" << StringUtils::URLEncode(m_issuer.c_str()) << "&"; + } + + if(m_authorizationEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".AuthorizationEndpoint=" << StringUtils::URLEncode(m_authorizationEndpoint.c_str()) << "&"; + } + + if(m_tokenEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".TokenEndpoint=" << StringUtils::URLEncode(m_tokenEndpoint.c_str()) << "&"; + } + + if(m_userInfoEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".UserInfoEndpoint=" << StringUtils::URLEncode(m_userInfoEndpoint.c_str()) << "&"; + } + + if(m_clientIdHasBeenSet) + { + oStream << location << index << locationValue << ".ClientId=" << StringUtils::URLEncode(m_clientId.c_str()) << "&"; + } + + if(m_clientSecretHasBeenSet) + { + oStream << location << index << locationValue << ".ClientSecret=" << StringUtils::URLEncode(m_clientSecret.c_str()) << "&"; + } + + if(m_scopeHasBeenSet) + { + oStream << location << index << locationValue << ".Scope=" << StringUtils::URLEncode(m_scope.c_str()) << "&"; + } + +} + +void ModifyVerifiedAccessNativeApplicationOidcOptions::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_publicSigningKeyEndpointHasBeenSet) + { + oStream << location << ".PublicSigningKeyEndpoint=" << StringUtils::URLEncode(m_publicSigningKeyEndpoint.c_str()) << "&"; + } + if(m_issuerHasBeenSet) + { + oStream << location << ".Issuer=" << StringUtils::URLEncode(m_issuer.c_str()) << "&"; + } + if(m_authorizationEndpointHasBeenSet) + { + oStream << location << ".AuthorizationEndpoint=" << StringUtils::URLEncode(m_authorizationEndpoint.c_str()) << "&"; + } + if(m_tokenEndpointHasBeenSet) + { + oStream << location << ".TokenEndpoint=" << StringUtils::URLEncode(m_tokenEndpoint.c_str()) << "&"; + } + if(m_userInfoEndpointHasBeenSet) + { + oStream << location << ".UserInfoEndpoint=" << StringUtils::URLEncode(m_userInfoEndpoint.c_str()) << "&"; + } + if(m_clientIdHasBeenSet) + { + oStream << location << ".ClientId=" << StringUtils::URLEncode(m_clientId.c_str()) << "&"; + } + if(m_clientSecretHasBeenSet) + { + oStream << location << ".ClientSecret=" << StringUtils::URLEncode(m_clientSecret.c_str()) << "&"; + } + if(m_scopeHasBeenSet) + { + oStream << location << ".Scope=" << StringUtils::URLEncode(m_scope.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessTrustProviderRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessTrustProviderRequest.cpp index f575119ee3d..9f1ff3ab325 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessTrustProviderRequest.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyVerifiedAccessTrustProviderRequest.cpp @@ -19,7 +19,8 @@ ModifyVerifiedAccessTrustProviderRequest::ModifyVerifiedAccessTrustProviderReque m_dryRunHasBeenSet(false), m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), m_clientTokenHasBeenSet(true), - m_sseSpecificationHasBeenSet(false) + m_sseSpecificationHasBeenSet(false), + m_nativeApplicationOidcOptionsHasBeenSet(false) { } @@ -62,6 +63,11 @@ Aws::String ModifyVerifiedAccessTrustProviderRequest::SerializePayload() const m_sseSpecification.OutputToStream(ss, "SseSpecification"); } + if(m_nativeApplicationOidcOptionsHasBeenSet) + { + m_nativeApplicationOidcOptions.OutputToStream(ss, "NativeApplicationOidcOptions"); + } + ss << "Version=2016-11-15"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/NativeApplicationOidcOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/NativeApplicationOidcOptions.cpp new file mode 100644 index 00000000000..e6daff0d700 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/NativeApplicationOidcOptions.cpp @@ -0,0 +1,166 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +NativeApplicationOidcOptions::NativeApplicationOidcOptions() : + m_publicSigningKeyEndpointHasBeenSet(false), + m_issuerHasBeenSet(false), + m_authorizationEndpointHasBeenSet(false), + m_tokenEndpointHasBeenSet(false), + m_userInfoEndpointHasBeenSet(false), + m_clientIdHasBeenSet(false), + m_scopeHasBeenSet(false) +{ +} + +NativeApplicationOidcOptions::NativeApplicationOidcOptions(const XmlNode& xmlNode) + : NativeApplicationOidcOptions() +{ + *this = xmlNode; +} + +NativeApplicationOidcOptions& NativeApplicationOidcOptions::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode publicSigningKeyEndpointNode = resultNode.FirstChild("publicSigningKeyEndpoint"); + if(!publicSigningKeyEndpointNode.IsNull()) + { + m_publicSigningKeyEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(publicSigningKeyEndpointNode.GetText()); + m_publicSigningKeyEndpointHasBeenSet = true; + } + XmlNode issuerNode = resultNode.FirstChild("issuer"); + if(!issuerNode.IsNull()) + { + m_issuer = Aws::Utils::Xml::DecodeEscapedXmlText(issuerNode.GetText()); + m_issuerHasBeenSet = true; + } + XmlNode authorizationEndpointNode = resultNode.FirstChild("authorizationEndpoint"); + if(!authorizationEndpointNode.IsNull()) + { + m_authorizationEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(authorizationEndpointNode.GetText()); + m_authorizationEndpointHasBeenSet = true; + } + XmlNode tokenEndpointNode = resultNode.FirstChild("tokenEndpoint"); + if(!tokenEndpointNode.IsNull()) + { + m_tokenEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(tokenEndpointNode.GetText()); + m_tokenEndpointHasBeenSet = true; + } + XmlNode userInfoEndpointNode = resultNode.FirstChild("userInfoEndpoint"); + if(!userInfoEndpointNode.IsNull()) + { + m_userInfoEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(userInfoEndpointNode.GetText()); + m_userInfoEndpointHasBeenSet = true; + } + XmlNode clientIdNode = resultNode.FirstChild("clientId"); + if(!clientIdNode.IsNull()) + { + m_clientId = Aws::Utils::Xml::DecodeEscapedXmlText(clientIdNode.GetText()); + m_clientIdHasBeenSet = true; + } + XmlNode scopeNode = resultNode.FirstChild("scope"); + if(!scopeNode.IsNull()) + { + m_scope = Aws::Utils::Xml::DecodeEscapedXmlText(scopeNode.GetText()); + m_scopeHasBeenSet = true; + } + } + + return *this; +} + +void NativeApplicationOidcOptions::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_publicSigningKeyEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".PublicSigningKeyEndpoint=" << StringUtils::URLEncode(m_publicSigningKeyEndpoint.c_str()) << "&"; + } + + if(m_issuerHasBeenSet) + { + oStream << location << index << locationValue << ".Issuer=" << StringUtils::URLEncode(m_issuer.c_str()) << "&"; + } + + if(m_authorizationEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".AuthorizationEndpoint=" << StringUtils::URLEncode(m_authorizationEndpoint.c_str()) << "&"; + } + + if(m_tokenEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".TokenEndpoint=" << StringUtils::URLEncode(m_tokenEndpoint.c_str()) << "&"; + } + + if(m_userInfoEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".UserInfoEndpoint=" << StringUtils::URLEncode(m_userInfoEndpoint.c_str()) << "&"; + } + + if(m_clientIdHasBeenSet) + { + oStream << location << index << locationValue << ".ClientId=" << StringUtils::URLEncode(m_clientId.c_str()) << "&"; + } + + if(m_scopeHasBeenSet) + { + oStream << location << index << locationValue << ".Scope=" << StringUtils::URLEncode(m_scope.c_str()) << "&"; + } + +} + +void NativeApplicationOidcOptions::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_publicSigningKeyEndpointHasBeenSet) + { + oStream << location << ".PublicSigningKeyEndpoint=" << StringUtils::URLEncode(m_publicSigningKeyEndpoint.c_str()) << "&"; + } + if(m_issuerHasBeenSet) + { + oStream << location << ".Issuer=" << StringUtils::URLEncode(m_issuer.c_str()) << "&"; + } + if(m_authorizationEndpointHasBeenSet) + { + oStream << location << ".AuthorizationEndpoint=" << StringUtils::URLEncode(m_authorizationEndpoint.c_str()) << "&"; + } + if(m_tokenEndpointHasBeenSet) + { + oStream << location << ".TokenEndpoint=" << StringUtils::URLEncode(m_tokenEndpoint.c_str()) << "&"; + } + if(m_userInfoEndpointHasBeenSet) + { + oStream << location << ".UserInfoEndpoint=" << StringUtils::URLEncode(m_userInfoEndpoint.c_str()) << "&"; + } + if(m_clientIdHasBeenSet) + { + oStream << location << ".ClientId=" << StringUtils::URLEncode(m_clientId.c_str()) << "&"; + } + if(m_scopeHasBeenSet) + { + oStream << location << ".Scope=" << StringUtils::URLEncode(m_scope.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/RegionalSummary.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/RegionalSummary.cpp new file mode 100644 index 00000000000..6543d9c34b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/RegionalSummary.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +RegionalSummary::RegionalSummary() : + m_regionNameHasBeenSet(false), + m_numberOfMatchedAccounts(0), + m_numberOfMatchedAccountsHasBeenSet(false), + m_numberOfUnmatchedAccounts(0), + m_numberOfUnmatchedAccountsHasBeenSet(false) +{ +} + +RegionalSummary::RegionalSummary(const XmlNode& xmlNode) + : RegionalSummary() +{ + *this = xmlNode; +} + +RegionalSummary& RegionalSummary::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode regionNameNode = resultNode.FirstChild("regionName"); + if(!regionNameNode.IsNull()) + { + m_regionName = Aws::Utils::Xml::DecodeEscapedXmlText(regionNameNode.GetText()); + m_regionNameHasBeenSet = true; + } + XmlNode numberOfMatchedAccountsNode = resultNode.FirstChild("numberOfMatchedAccounts"); + if(!numberOfMatchedAccountsNode.IsNull()) + { + m_numberOfMatchedAccounts = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(numberOfMatchedAccountsNode.GetText()).c_str()).c_str()); + m_numberOfMatchedAccountsHasBeenSet = true; + } + XmlNode numberOfUnmatchedAccountsNode = resultNode.FirstChild("numberOfUnmatchedAccounts"); + if(!numberOfUnmatchedAccountsNode.IsNull()) + { + m_numberOfUnmatchedAccounts = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(numberOfUnmatchedAccountsNode.GetText()).c_str()).c_str()); + m_numberOfUnmatchedAccountsHasBeenSet = true; + } + } + + return *this; +} + +void RegionalSummary::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_regionNameHasBeenSet) + { + oStream << location << index << locationValue << ".RegionName=" << StringUtils::URLEncode(m_regionName.c_str()) << "&"; + } + + if(m_numberOfMatchedAccountsHasBeenSet) + { + oStream << location << index << locationValue << ".NumberOfMatchedAccounts=" << m_numberOfMatchedAccounts << "&"; + } + + if(m_numberOfUnmatchedAccountsHasBeenSet) + { + oStream << location << index << locationValue << ".NumberOfUnmatchedAccounts=" << m_numberOfUnmatchedAccounts << "&"; + } + +} + +void RegionalSummary::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_regionNameHasBeenSet) + { + oStream << location << ".RegionName=" << StringUtils::URLEncode(m_regionName.c_str()) << "&"; + } + if(m_numberOfMatchedAccountsHasBeenSet) + { + oStream << location << ".NumberOfMatchedAccounts=" << m_numberOfMatchedAccounts << "&"; + } + if(m_numberOfUnmatchedAccountsHasBeenSet) + { + oStream << location << ".NumberOfUnmatchedAccounts=" << m_numberOfUnmatchedAccounts << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ReplaceImageCriteriaInAllowedImagesSettingsRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ReplaceImageCriteriaInAllowedImagesSettingsRequest.cpp new file mode 100644 index 00000000000..fb1c2537a16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ReplaceImageCriteriaInAllowedImagesSettingsRequest.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +ReplaceImageCriteriaInAllowedImagesSettingsRequest::ReplaceImageCriteriaInAllowedImagesSettingsRequest() : + m_imageCriteriaHasBeenSet(false), + m_dryRun(false), + m_dryRunHasBeenSet(false) +{ +} + +Aws::String ReplaceImageCriteriaInAllowedImagesSettingsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=ReplaceImageCriteriaInAllowedImagesSettings&"; + if(m_imageCriteriaHasBeenSet) + { + unsigned imageCriteriaCount = 1; + for(auto& item : m_imageCriteria) + { + item.OutputToStream(ss, "ImageCriterion.", imageCriteriaCount, ""); + imageCriteriaCount++; + } + } + + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void ReplaceImageCriteriaInAllowedImagesSettingsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ReplaceImageCriteriaInAllowedImagesSettingsResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ReplaceImageCriteriaInAllowedImagesSettingsResponse.cpp new file mode 100644 index 00000000000..593216c1063 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ReplaceImageCriteriaInAllowedImagesSettingsResponse.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +ReplaceImageCriteriaInAllowedImagesSettingsResponse::ReplaceImageCriteriaInAllowedImagesSettingsResponse() : + m_returnValue(false) +{ +} + +ReplaceImageCriteriaInAllowedImagesSettingsResponse::ReplaceImageCriteriaInAllowedImagesSettingsResponse(const Aws::AmazonWebServiceResult& result) + : ReplaceImageCriteriaInAllowedImagesSettingsResponse() +{ + *this = result; +} + +ReplaceImageCriteriaInAllowedImagesSettingsResponse& ReplaceImageCriteriaInAllowedImagesSettingsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "ReplaceImageCriteriaInAllowedImagesSettingsResponse")) + { + resultNode = rootNode.FirstChild("ReplaceImageCriteriaInAllowedImagesSettingsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode returnValueNode = resultNode.FirstChild("return"); + if(!returnValueNode.IsNull()) + { + m_returnValue = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(returnValueNode.GetText()).c_str()).c_str()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::ReplaceImageCriteriaInAllowedImagesSettingsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ReportState.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ReportState.cpp new file mode 100644 index 00000000000..34e8d5ead47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ReportState.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace EC2 + { + namespace Model + { + namespace ReportStateMapper + { + + static const int running_HASH = HashingUtils::HashString("running"); + static const int cancelled_HASH = HashingUtils::HashString("cancelled"); + static const int complete_HASH = HashingUtils::HashString("complete"); + static const int error_HASH = HashingUtils::HashString("error"); + + + ReportState GetReportStateForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == running_HASH) + { + return ReportState::running; + } + else if (hashCode == cancelled_HASH) + { + return ReportState::cancelled; + } + else if (hashCode == complete_HASH) + { + return ReportState::complete; + } + else if (hashCode == error_HASH) + { + return ReportState::error; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ReportState::NOT_SET; + } + + Aws::String GetNameForReportState(ReportState enumValue) + { + switch(enumValue) + { + case ReportState::NOT_SET: + return {}; + case ReportState::running: + return "running"; + case ReportState::cancelled: + return "cancelled"; + case ReportState::complete: + return "complete"; + case ReportState::error: + return "error"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ReportStateMapper + } // namespace Model + } // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ResourceType.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ResourceType.cpp index ba69b341a1e..717cb9e5439 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/ResourceType.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ResourceType.cpp @@ -25,6 +25,7 @@ namespace Aws static const int customer_gateway_HASH = HashingUtils::HashString("customer-gateway"); static const int carrier_gateway_HASH = HashingUtils::HashString("carrier-gateway"); static const int coip_pool_HASH = HashingUtils::HashString("coip-pool"); + static const int declarative_policies_report_HASH = HashingUtils::HashString("declarative-policies-report"); static const int dedicated_host_HASH = HashingUtils::HashString("dedicated-host"); static const int dhcp_options_HASH = HashingUtils::HashString("dhcp-options"); static const int egress_only_internet_gateway_HASH = HashingUtils::HashString("egress-only-internet-gateway"); @@ -106,6 +107,7 @@ namespace Aws static const int ipam_resource_discovery_HASH = HashingUtils::HashString("ipam-resource-discovery"); static const int ipam_resource_discovery_association_HASH = HashingUtils::HashString("ipam-resource-discovery-association"); static const int instance_connect_endpoint_HASH = HashingUtils::HashString("instance-connect-endpoint"); + static const int verified_access_endpoint_target_HASH = HashingUtils::HashString("verified-access-endpoint-target"); static const int ipam_external_resource_verification_token_HASH = HashingUtils::HashString("ipam-external-resource-verification-token"); @@ -132,6 +134,10 @@ namespace Aws { return ResourceType::coip_pool; } + else if (hashCode == declarative_policies_report_HASH) + { + return ResourceType::declarative_policies_report; + } else if (hashCode == dedicated_host_HASH) { return ResourceType::dedicated_host; @@ -456,6 +462,10 @@ namespace Aws { return ResourceType::instance_connect_endpoint; } + else if (hashCode == verified_access_endpoint_target_HASH) + { + return ResourceType::verified_access_endpoint_target; + } else if (hashCode == ipam_external_resource_verification_token_HASH) { return ResourceType::ipam_external_resource_verification_token; @@ -486,6 +496,8 @@ namespace Aws return "carrier-gateway"; case ResourceType::coip_pool: return "coip-pool"; + case ResourceType::declarative_policies_report: + return "declarative-policies-report"; case ResourceType::dedicated_host: return "dedicated-host"; case ResourceType::dhcp_options: @@ -648,6 +660,8 @@ namespace Aws return "ipam-resource-discovery-association"; case ResourceType::instance_connect_endpoint: return "instance-connect-endpoint"; + case ResourceType::verified_access_endpoint_target: + return "verified-access-endpoint-target"; case ResourceType::ipam_external_resource_verification_token: return "ipam-external-resource-verification-token"; default: diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/StartDeclarativePoliciesReportRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/StartDeclarativePoliciesReportRequest.cpp new file mode 100644 index 00000000000..7acf78efadb --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/StartDeclarativePoliciesReportRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +StartDeclarativePoliciesReportRequest::StartDeclarativePoliciesReportRequest() : + m_dryRun(false), + m_dryRunHasBeenSet(false), + m_s3BucketHasBeenSet(false), + m_s3PrefixHasBeenSet(false), + m_targetIdHasBeenSet(false), + m_tagSpecificationsHasBeenSet(false) +{ +} + +Aws::String StartDeclarativePoliciesReportRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=StartDeclarativePoliciesReport&"; + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + if(m_s3BucketHasBeenSet) + { + ss << "S3Bucket=" << StringUtils::URLEncode(m_s3Bucket.c_str()) << "&"; + } + + if(m_s3PrefixHasBeenSet) + { + ss << "S3Prefix=" << StringUtils::URLEncode(m_s3Prefix.c_str()) << "&"; + } + + if(m_targetIdHasBeenSet) + { + ss << "TargetId=" << StringUtils::URLEncode(m_targetId.c_str()) << "&"; + } + + if(m_tagSpecificationsHasBeenSet) + { + unsigned tagSpecificationsCount = 1; + for(auto& item : m_tagSpecifications) + { + item.OutputToStream(ss, "TagSpecification.", tagSpecificationsCount, ""); + tagSpecificationsCount++; + } + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void StartDeclarativePoliciesReportRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/StartDeclarativePoliciesReportResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/StartDeclarativePoliciesReportResponse.cpp new file mode 100644 index 00000000000..14dad577161 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/StartDeclarativePoliciesReportResponse.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +StartDeclarativePoliciesReportResponse::StartDeclarativePoliciesReportResponse() +{ +} + +StartDeclarativePoliciesReportResponse::StartDeclarativePoliciesReportResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StartDeclarativePoliciesReportResponse& StartDeclarativePoliciesReportResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "StartDeclarativePoliciesReportResponse")) + { + resultNode = rootNode.FirstChild("StartDeclarativePoliciesReportResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode reportIdNode = resultNode.FirstChild("reportId"); + if(!reportIdNode.IsNull()) + { + m_reportId = Aws::Utils::Xml::DecodeEscapedXmlText(reportIdNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::StartDeclarativePoliciesReportResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/State.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/State.cpp index c2308779412..2a9b783a2b5 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/State.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/State.cpp @@ -28,6 +28,7 @@ namespace Aws static const int Rejected_HASH = HashingUtils::HashString("Rejected"); static const int Failed_HASH = HashingUtils::HashString("Failed"); static const int Expired_HASH = HashingUtils::HashString("Expired"); + static const int Partial_HASH = HashingUtils::HashString("Partial"); State GetStateForName(const Aws::String& name) @@ -65,6 +66,10 @@ namespace Aws { return State::Expired; } + else if (hashCode == Partial_HASH) + { + return State::Partial; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -97,6 +102,8 @@ namespace Aws return "Failed"; case State::Expired: return "Expired"; + case State::Partial: + return "Partial"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/SubnetIpPrefixes.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/SubnetIpPrefixes.cpp new file mode 100644 index 00000000000..bb517f733ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/SubnetIpPrefixes.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +SubnetIpPrefixes::SubnetIpPrefixes() : + m_subnetIdHasBeenSet(false), + m_ipPrefixesHasBeenSet(false) +{ +} + +SubnetIpPrefixes::SubnetIpPrefixes(const XmlNode& xmlNode) + : SubnetIpPrefixes() +{ + *this = xmlNode; +} + +SubnetIpPrefixes& SubnetIpPrefixes::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode subnetIdNode = resultNode.FirstChild("subnetId"); + if(!subnetIdNode.IsNull()) + { + m_subnetId = Aws::Utils::Xml::DecodeEscapedXmlText(subnetIdNode.GetText()); + m_subnetIdHasBeenSet = true; + } + XmlNode ipPrefixesNode = resultNode.FirstChild("ipPrefixSet"); + if(!ipPrefixesNode.IsNull()) + { + XmlNode ipPrefixesMember = ipPrefixesNode.FirstChild("item"); + while(!ipPrefixesMember.IsNull()) + { + m_ipPrefixes.push_back(ipPrefixesMember.GetText()); + ipPrefixesMember = ipPrefixesMember.NextNode("item"); + } + + m_ipPrefixesHasBeenSet = true; + } + } + + return *this; +} + +void SubnetIpPrefixes::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_subnetIdHasBeenSet) + { + oStream << location << index << locationValue << ".SubnetId=" << StringUtils::URLEncode(m_subnetId.c_str()) << "&"; + } + + if(m_ipPrefixesHasBeenSet) + { + unsigned ipPrefixesIdx = 1; + for(auto& item : m_ipPrefixes) + { + oStream << location << index << locationValue << ".IpPrefixSet." << ipPrefixesIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + +} + +void SubnetIpPrefixes::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_subnetIdHasBeenSet) + { + oStream << location << ".SubnetId=" << StringUtils::URLEncode(m_subnetId.c_str()) << "&"; + } + if(m_ipPrefixesHasBeenSet) + { + unsigned ipPrefixesIdx = 1; + for(auto& item : m_ipPrefixes) + { + oStream << location << ".IpPrefixSet." << ipPrefixesIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpoint.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpoint.cpp index 18a00ce15f0..f239c576683 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpoint.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpoint.cpp @@ -41,7 +41,9 @@ VerifiedAccessEndpoint::VerifiedAccessEndpoint() : m_lastUpdatedTimeHasBeenSet(false), m_deletionTimeHasBeenSet(false), m_tagsHasBeenSet(false), - m_sseSpecificationHasBeenSet(false) + m_sseSpecificationHasBeenSet(false), + m_rdsOptionsHasBeenSet(false), + m_cidrOptionsHasBeenSet(false) { } @@ -183,6 +185,18 @@ VerifiedAccessEndpoint& VerifiedAccessEndpoint::operator =(const XmlNode& xmlNod m_sseSpecification = sseSpecificationNode; m_sseSpecificationHasBeenSet = true; } + XmlNode rdsOptionsNode = resultNode.FirstChild("rdsOptions"); + if(!rdsOptionsNode.IsNull()) + { + m_rdsOptions = rdsOptionsNode; + m_rdsOptionsHasBeenSet = true; + } + XmlNode cidrOptionsNode = resultNode.FirstChild("cidrOptions"); + if(!cidrOptionsNode.IsNull()) + { + m_cidrOptions = cidrOptionsNode; + m_cidrOptionsHasBeenSet = true; + } } return *this; @@ -303,6 +317,20 @@ void VerifiedAccessEndpoint::OutputToStream(Aws::OStream& oStream, const char* l m_sseSpecification.OutputToStream(oStream, sseSpecificationLocationAndMemberSs.str().c_str()); } + if(m_rdsOptionsHasBeenSet) + { + Aws::StringStream rdsOptionsLocationAndMemberSs; + rdsOptionsLocationAndMemberSs << location << index << locationValue << ".RdsOptions"; + m_rdsOptions.OutputToStream(oStream, rdsOptionsLocationAndMemberSs.str().c_str()); + } + + if(m_cidrOptionsHasBeenSet) + { + Aws::StringStream cidrOptionsLocationAndMemberSs; + cidrOptionsLocationAndMemberSs << location << index << locationValue << ".CidrOptions"; + m_cidrOptions.OutputToStream(oStream, cidrOptionsLocationAndMemberSs.str().c_str()); + } + } void VerifiedAccessEndpoint::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -401,6 +429,18 @@ void VerifiedAccessEndpoint::OutputToStream(Aws::OStream& oStream, const char* l sseSpecificationLocationAndMember += ".SseSpecification"; m_sseSpecification.OutputToStream(oStream, sseSpecificationLocationAndMember.c_str()); } + if(m_rdsOptionsHasBeenSet) + { + Aws::String rdsOptionsLocationAndMember(location); + rdsOptionsLocationAndMember += ".RdsOptions"; + m_rdsOptions.OutputToStream(oStream, rdsOptionsLocationAndMember.c_str()); + } + if(m_cidrOptionsHasBeenSet) + { + Aws::String cidrOptionsLocationAndMember(location); + cidrOptionsLocationAndMember += ".CidrOptions"; + m_cidrOptions.OutputToStream(oStream, cidrOptionsLocationAndMember.c_str()); + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointCidrOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointCidrOptions.cpp new file mode 100644 index 00000000000..1eed43da349 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointCidrOptions.cpp @@ -0,0 +1,151 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +VerifiedAccessEndpointCidrOptions::VerifiedAccessEndpointCidrOptions() : + m_cidrHasBeenSet(false), + m_portRangesHasBeenSet(false), + m_protocol(VerifiedAccessEndpointProtocol::NOT_SET), + m_protocolHasBeenSet(false), + m_subnetIdsHasBeenSet(false) +{ +} + +VerifiedAccessEndpointCidrOptions::VerifiedAccessEndpointCidrOptions(const XmlNode& xmlNode) + : VerifiedAccessEndpointCidrOptions() +{ + *this = xmlNode; +} + +VerifiedAccessEndpointCidrOptions& VerifiedAccessEndpointCidrOptions::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode cidrNode = resultNode.FirstChild("cidr"); + if(!cidrNode.IsNull()) + { + m_cidr = Aws::Utils::Xml::DecodeEscapedXmlText(cidrNode.GetText()); + m_cidrHasBeenSet = true; + } + XmlNode portRangesNode = resultNode.FirstChild("portRangeSet"); + if(!portRangesNode.IsNull()) + { + XmlNode portRangesMember = portRangesNode.FirstChild("item"); + while(!portRangesMember.IsNull()) + { + m_portRanges.push_back(portRangesMember); + portRangesMember = portRangesMember.NextNode("item"); + } + + m_portRangesHasBeenSet = true; + } + XmlNode protocolNode = resultNode.FirstChild("protocol"); + if(!protocolNode.IsNull()) + { + m_protocol = VerifiedAccessEndpointProtocolMapper::GetVerifiedAccessEndpointProtocolForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(protocolNode.GetText()).c_str()).c_str()); + m_protocolHasBeenSet = true; + } + XmlNode subnetIdsNode = resultNode.FirstChild("subnetIdSet"); + if(!subnetIdsNode.IsNull()) + { + XmlNode subnetIdsMember = subnetIdsNode.FirstChild("item"); + while(!subnetIdsMember.IsNull()) + { + m_subnetIds.push_back(subnetIdsMember.GetText()); + subnetIdsMember = subnetIdsMember.NextNode("item"); + } + + m_subnetIdsHasBeenSet = true; + } + } + + return *this; +} + +void VerifiedAccessEndpointCidrOptions::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_cidrHasBeenSet) + { + oStream << location << index << locationValue << ".Cidr=" << StringUtils::URLEncode(m_cidr.c_str()) << "&"; + } + + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << index << locationValue << ".PortRangeSet." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } + + if(m_protocolHasBeenSet) + { + oStream << location << index << locationValue << ".Protocol=" << VerifiedAccessEndpointProtocolMapper::GetNameForVerifiedAccessEndpointProtocol(m_protocol) << "&"; + } + + if(m_subnetIdsHasBeenSet) + { + unsigned subnetIdsIdx = 1; + for(auto& item : m_subnetIds) + { + oStream << location << index << locationValue << ".SubnetIdSet." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + +} + +void VerifiedAccessEndpointCidrOptions::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_cidrHasBeenSet) + { + oStream << location << ".Cidr=" << StringUtils::URLEncode(m_cidr.c_str()) << "&"; + } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << ".PortRangeSet." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } + if(m_protocolHasBeenSet) + { + oStream << location << ".Protocol=" << VerifiedAccessEndpointProtocolMapper::GetNameForVerifiedAccessEndpointProtocol(m_protocol) << "&"; + } + if(m_subnetIdsHasBeenSet) + { + unsigned subnetIdsIdx = 1; + for(auto& item : m_subnetIds) + { + oStream << location << ".SubnetIdSet." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointEniOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointEniOptions.cpp index 9cd231473ee..f53bc39d91b 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointEniOptions.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointEniOptions.cpp @@ -25,7 +25,8 @@ VerifiedAccessEndpointEniOptions::VerifiedAccessEndpointEniOptions() : m_protocol(VerifiedAccessEndpointProtocol::NOT_SET), m_protocolHasBeenSet(false), m_port(0), - m_portHasBeenSet(false) + m_portHasBeenSet(false), + m_portRangesHasBeenSet(false) { } @@ -59,6 +60,18 @@ VerifiedAccessEndpointEniOptions& VerifiedAccessEndpointEniOptions::operator =(c m_port = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(portNode.GetText()).c_str()).c_str()); m_portHasBeenSet = true; } + XmlNode portRangesNode = resultNode.FirstChild("portRangeSet"); + if(!portRangesNode.IsNull()) + { + XmlNode portRangesMember = portRangesNode.FirstChild("item"); + while(!portRangesMember.IsNull()) + { + m_portRanges.push_back(portRangesMember); + portRangesMember = portRangesMember.NextNode("item"); + } + + m_portRangesHasBeenSet = true; + } } return *this; @@ -81,6 +94,17 @@ void VerifiedAccessEndpointEniOptions::OutputToStream(Aws::OStream& oStream, con oStream << location << index << locationValue << ".Port=" << m_port << "&"; } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << index << locationValue << ".PortRangeSet." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } + } void VerifiedAccessEndpointEniOptions::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -97,6 +121,16 @@ void VerifiedAccessEndpointEniOptions::OutputToStream(Aws::OStream& oStream, con { oStream << location << ".Port=" << m_port << "&"; } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << ".PortRangeSet." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointLoadBalancerOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointLoadBalancerOptions.cpp index bcb5711a9f3..c26ba8346d2 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointLoadBalancerOptions.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointLoadBalancerOptions.cpp @@ -26,7 +26,8 @@ VerifiedAccessEndpointLoadBalancerOptions::VerifiedAccessEndpointLoadBalancerOpt m_port(0), m_portHasBeenSet(false), m_loadBalancerArnHasBeenSet(false), - m_subnetIdsHasBeenSet(false) + m_subnetIdsHasBeenSet(false), + m_portRangesHasBeenSet(false) { } @@ -72,6 +73,18 @@ VerifiedAccessEndpointLoadBalancerOptions& VerifiedAccessEndpointLoadBalancerOpt m_subnetIdsHasBeenSet = true; } + XmlNode portRangesNode = resultNode.FirstChild("portRangeSet"); + if(!portRangesNode.IsNull()) + { + XmlNode portRangesMember = portRangesNode.FirstChild("item"); + while(!portRangesMember.IsNull()) + { + m_portRanges.push_back(portRangesMember); + portRangesMember = portRangesMember.NextNode("item"); + } + + m_portRangesHasBeenSet = true; + } } return *this; @@ -103,6 +116,17 @@ void VerifiedAccessEndpointLoadBalancerOptions::OutputToStream(Aws::OStream& oSt } } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << index << locationValue << ".PortRangeSet." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } + } void VerifiedAccessEndpointLoadBalancerOptions::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -127,6 +151,16 @@ void VerifiedAccessEndpointLoadBalancerOptions::OutputToStream(Aws::OStream& oSt oStream << location << ".SubnetIdSet." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; } } + if(m_portRangesHasBeenSet) + { + unsigned portRangesIdx = 1; + for(auto& item : m_portRanges) + { + Aws::StringStream portRangesSs; + portRangesSs << location << ".PortRangeSet." << portRangesIdx++; + item.OutputToStream(oStream, portRangesSs.str().c_str()); + } + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointPortRange.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointPortRange.cpp new file mode 100644 index 00000000000..c2e5343a5fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointPortRange.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +VerifiedAccessEndpointPortRange::VerifiedAccessEndpointPortRange() : + m_fromPort(0), + m_fromPortHasBeenSet(false), + m_toPort(0), + m_toPortHasBeenSet(false) +{ +} + +VerifiedAccessEndpointPortRange::VerifiedAccessEndpointPortRange(const XmlNode& xmlNode) + : VerifiedAccessEndpointPortRange() +{ + *this = xmlNode; +} + +VerifiedAccessEndpointPortRange& VerifiedAccessEndpointPortRange::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fromPortNode = resultNode.FirstChild("fromPort"); + if(!fromPortNode.IsNull()) + { + m_fromPort = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fromPortNode.GetText()).c_str()).c_str()); + m_fromPortHasBeenSet = true; + } + XmlNode toPortNode = resultNode.FirstChild("toPort"); + if(!toPortNode.IsNull()) + { + m_toPort = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(toPortNode.GetText()).c_str()).c_str()); + m_toPortHasBeenSet = true; + } + } + + return *this; +} + +void VerifiedAccessEndpointPortRange::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_fromPortHasBeenSet) + { + oStream << location << index << locationValue << ".FromPort=" << m_fromPort << "&"; + } + + if(m_toPortHasBeenSet) + { + oStream << location << index << locationValue << ".ToPort=" << m_toPort << "&"; + } + +} + +void VerifiedAccessEndpointPortRange::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_fromPortHasBeenSet) + { + oStream << location << ".FromPort=" << m_fromPort << "&"; + } + if(m_toPortHasBeenSet) + { + oStream << location << ".ToPort=" << m_toPort << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointProtocol.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointProtocol.cpp index 5e4fe5d4933..178ef6eb0e3 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointProtocol.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointProtocol.cpp @@ -22,6 +22,7 @@ namespace Aws static const int http_HASH = HashingUtils::HashString("http"); static const int https_HASH = HashingUtils::HashString("https"); + static const int tcp_HASH = HashingUtils::HashString("tcp"); VerifiedAccessEndpointProtocol GetVerifiedAccessEndpointProtocolForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return VerifiedAccessEndpointProtocol::https; } + else if (hashCode == tcp_HASH) + { + return VerifiedAccessEndpointProtocol::tcp; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "http"; case VerifiedAccessEndpointProtocol::https: return "https"; + case VerifiedAccessEndpointProtocol::tcp: + return "tcp"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointRdsOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointRdsOptions.cpp new file mode 100644 index 00000000000..5881db4e01f --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointRdsOptions.cpp @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +VerifiedAccessEndpointRdsOptions::VerifiedAccessEndpointRdsOptions() : + m_protocol(VerifiedAccessEndpointProtocol::NOT_SET), + m_protocolHasBeenSet(false), + m_port(0), + m_portHasBeenSet(false), + m_rdsDbInstanceArnHasBeenSet(false), + m_rdsDbClusterArnHasBeenSet(false), + m_rdsDbProxyArnHasBeenSet(false), + m_rdsEndpointHasBeenSet(false), + m_subnetIdsHasBeenSet(false) +{ +} + +VerifiedAccessEndpointRdsOptions::VerifiedAccessEndpointRdsOptions(const XmlNode& xmlNode) + : VerifiedAccessEndpointRdsOptions() +{ + *this = xmlNode; +} + +VerifiedAccessEndpointRdsOptions& VerifiedAccessEndpointRdsOptions::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode protocolNode = resultNode.FirstChild("protocol"); + if(!protocolNode.IsNull()) + { + m_protocol = VerifiedAccessEndpointProtocolMapper::GetVerifiedAccessEndpointProtocolForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(protocolNode.GetText()).c_str()).c_str()); + m_protocolHasBeenSet = true; + } + XmlNode portNode = resultNode.FirstChild("port"); + if(!portNode.IsNull()) + { + m_port = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(portNode.GetText()).c_str()).c_str()); + m_portHasBeenSet = true; + } + XmlNode rdsDbInstanceArnNode = resultNode.FirstChild("rdsDbInstanceArn"); + if(!rdsDbInstanceArnNode.IsNull()) + { + m_rdsDbInstanceArn = Aws::Utils::Xml::DecodeEscapedXmlText(rdsDbInstanceArnNode.GetText()); + m_rdsDbInstanceArnHasBeenSet = true; + } + XmlNode rdsDbClusterArnNode = resultNode.FirstChild("rdsDbClusterArn"); + if(!rdsDbClusterArnNode.IsNull()) + { + m_rdsDbClusterArn = Aws::Utils::Xml::DecodeEscapedXmlText(rdsDbClusterArnNode.GetText()); + m_rdsDbClusterArnHasBeenSet = true; + } + XmlNode rdsDbProxyArnNode = resultNode.FirstChild("rdsDbProxyArn"); + if(!rdsDbProxyArnNode.IsNull()) + { + m_rdsDbProxyArn = Aws::Utils::Xml::DecodeEscapedXmlText(rdsDbProxyArnNode.GetText()); + m_rdsDbProxyArnHasBeenSet = true; + } + XmlNode rdsEndpointNode = resultNode.FirstChild("rdsEndpoint"); + if(!rdsEndpointNode.IsNull()) + { + m_rdsEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(rdsEndpointNode.GetText()); + m_rdsEndpointHasBeenSet = true; + } + XmlNode subnetIdsNode = resultNode.FirstChild("subnetIdSet"); + if(!subnetIdsNode.IsNull()) + { + XmlNode subnetIdsMember = subnetIdsNode.FirstChild("item"); + while(!subnetIdsMember.IsNull()) + { + m_subnetIds.push_back(subnetIdsMember.GetText()); + subnetIdsMember = subnetIdsMember.NextNode("item"); + } + + m_subnetIdsHasBeenSet = true; + } + } + + return *this; +} + +void VerifiedAccessEndpointRdsOptions::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_protocolHasBeenSet) + { + oStream << location << index << locationValue << ".Protocol=" << VerifiedAccessEndpointProtocolMapper::GetNameForVerifiedAccessEndpointProtocol(m_protocol) << "&"; + } + + if(m_portHasBeenSet) + { + oStream << location << index << locationValue << ".Port=" << m_port << "&"; + } + + if(m_rdsDbInstanceArnHasBeenSet) + { + oStream << location << index << locationValue << ".RdsDbInstanceArn=" << StringUtils::URLEncode(m_rdsDbInstanceArn.c_str()) << "&"; + } + + if(m_rdsDbClusterArnHasBeenSet) + { + oStream << location << index << locationValue << ".RdsDbClusterArn=" << StringUtils::URLEncode(m_rdsDbClusterArn.c_str()) << "&"; + } + + if(m_rdsDbProxyArnHasBeenSet) + { + oStream << location << index << locationValue << ".RdsDbProxyArn=" << StringUtils::URLEncode(m_rdsDbProxyArn.c_str()) << "&"; + } + + if(m_rdsEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".RdsEndpoint=" << StringUtils::URLEncode(m_rdsEndpoint.c_str()) << "&"; + } + + if(m_subnetIdsHasBeenSet) + { + unsigned subnetIdsIdx = 1; + for(auto& item : m_subnetIds) + { + oStream << location << index << locationValue << ".SubnetIdSet." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + +} + +void VerifiedAccessEndpointRdsOptions::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_protocolHasBeenSet) + { + oStream << location << ".Protocol=" << VerifiedAccessEndpointProtocolMapper::GetNameForVerifiedAccessEndpointProtocol(m_protocol) << "&"; + } + if(m_portHasBeenSet) + { + oStream << location << ".Port=" << m_port << "&"; + } + if(m_rdsDbInstanceArnHasBeenSet) + { + oStream << location << ".RdsDbInstanceArn=" << StringUtils::URLEncode(m_rdsDbInstanceArn.c_str()) << "&"; + } + if(m_rdsDbClusterArnHasBeenSet) + { + oStream << location << ".RdsDbClusterArn=" << StringUtils::URLEncode(m_rdsDbClusterArn.c_str()) << "&"; + } + if(m_rdsDbProxyArnHasBeenSet) + { + oStream << location << ".RdsDbProxyArn=" << StringUtils::URLEncode(m_rdsDbProxyArn.c_str()) << "&"; + } + if(m_rdsEndpointHasBeenSet) + { + oStream << location << ".RdsEndpoint=" << StringUtils::URLEncode(m_rdsEndpoint.c_str()) << "&"; + } + if(m_subnetIdsHasBeenSet) + { + unsigned subnetIdsIdx = 1; + for(auto& item : m_subnetIds) + { + oStream << location << ".SubnetIdSet." << subnetIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointTarget.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointTarget.cpp new file mode 100644 index 00000000000..0ea5abaf49f --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointTarget.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +VerifiedAccessEndpointTarget::VerifiedAccessEndpointTarget() : + m_verifiedAccessEndpointIdHasBeenSet(false), + m_verifiedAccessEndpointTargetIpAddressHasBeenSet(false), + m_verifiedAccessEndpointTargetDnsHasBeenSet(false) +{ +} + +VerifiedAccessEndpointTarget::VerifiedAccessEndpointTarget(const XmlNode& xmlNode) + : VerifiedAccessEndpointTarget() +{ + *this = xmlNode; +} + +VerifiedAccessEndpointTarget& VerifiedAccessEndpointTarget::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode verifiedAccessEndpointIdNode = resultNode.FirstChild("verifiedAccessEndpointId"); + if(!verifiedAccessEndpointIdNode.IsNull()) + { + m_verifiedAccessEndpointId = Aws::Utils::Xml::DecodeEscapedXmlText(verifiedAccessEndpointIdNode.GetText()); + m_verifiedAccessEndpointIdHasBeenSet = true; + } + XmlNode verifiedAccessEndpointTargetIpAddressNode = resultNode.FirstChild("verifiedAccessEndpointTargetIpAddress"); + if(!verifiedAccessEndpointTargetIpAddressNode.IsNull()) + { + m_verifiedAccessEndpointTargetIpAddress = Aws::Utils::Xml::DecodeEscapedXmlText(verifiedAccessEndpointTargetIpAddressNode.GetText()); + m_verifiedAccessEndpointTargetIpAddressHasBeenSet = true; + } + XmlNode verifiedAccessEndpointTargetDnsNode = resultNode.FirstChild("verifiedAccessEndpointTargetDns"); + if(!verifiedAccessEndpointTargetDnsNode.IsNull()) + { + m_verifiedAccessEndpointTargetDns = Aws::Utils::Xml::DecodeEscapedXmlText(verifiedAccessEndpointTargetDnsNode.GetText()); + m_verifiedAccessEndpointTargetDnsHasBeenSet = true; + } + } + + return *this; +} + +void VerifiedAccessEndpointTarget::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_verifiedAccessEndpointIdHasBeenSet) + { + oStream << location << index << locationValue << ".VerifiedAccessEndpointId=" << StringUtils::URLEncode(m_verifiedAccessEndpointId.c_str()) << "&"; + } + + if(m_verifiedAccessEndpointTargetIpAddressHasBeenSet) + { + oStream << location << index << locationValue << ".VerifiedAccessEndpointTargetIpAddress=" << StringUtils::URLEncode(m_verifiedAccessEndpointTargetIpAddress.c_str()) << "&"; + } + + if(m_verifiedAccessEndpointTargetDnsHasBeenSet) + { + oStream << location << index << locationValue << ".VerifiedAccessEndpointTargetDns=" << StringUtils::URLEncode(m_verifiedAccessEndpointTargetDns.c_str()) << "&"; + } + +} + +void VerifiedAccessEndpointTarget::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_verifiedAccessEndpointIdHasBeenSet) + { + oStream << location << ".VerifiedAccessEndpointId=" << StringUtils::URLEncode(m_verifiedAccessEndpointId.c_str()) << "&"; + } + if(m_verifiedAccessEndpointTargetIpAddressHasBeenSet) + { + oStream << location << ".VerifiedAccessEndpointTargetIpAddress=" << StringUtils::URLEncode(m_verifiedAccessEndpointTargetIpAddress.c_str()) << "&"; + } + if(m_verifiedAccessEndpointTargetDnsHasBeenSet) + { + oStream << location << ".VerifiedAccessEndpointTargetDns=" << StringUtils::URLEncode(m_verifiedAccessEndpointTargetDns.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointType.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointType.cpp index 143341419b2..0b8ba90b8f2 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointType.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessEndpointType.cpp @@ -22,6 +22,8 @@ namespace Aws static const int load_balancer_HASH = HashingUtils::HashString("load-balancer"); static const int network_interface_HASH = HashingUtils::HashString("network-interface"); + static const int rds_HASH = HashingUtils::HashString("rds"); + static const int cidr_HASH = HashingUtils::HashString("cidr"); VerifiedAccessEndpointType GetVerifiedAccessEndpointTypeForName(const Aws::String& name) @@ -35,6 +37,14 @@ namespace Aws { return VerifiedAccessEndpointType::network_interface; } + else if (hashCode == rds_HASH) + { + return VerifiedAccessEndpointType::rds; + } + else if (hashCode == cidr_HASH) + { + return VerifiedAccessEndpointType::cidr; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +65,10 @@ namespace Aws return "load-balancer"; case VerifiedAccessEndpointType::network_interface: return "network-interface"; + case VerifiedAccessEndpointType::rds: + return "rds"; + case VerifiedAccessEndpointType::cidr: + return "cidr"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstance.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstance.cpp index bfd2bce0ecc..8f69c7877d9 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstance.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstance.cpp @@ -28,7 +28,8 @@ VerifiedAccessInstance::VerifiedAccessInstance() : m_lastUpdatedTimeHasBeenSet(false), m_tagsHasBeenSet(false), m_fipsEnabled(false), - m_fipsEnabledHasBeenSet(false) + m_fipsEnabledHasBeenSet(false), + m_cidrEndpointsCustomSubDomainHasBeenSet(false) { } @@ -98,6 +99,12 @@ VerifiedAccessInstance& VerifiedAccessInstance::operator =(const XmlNode& xmlNod m_fipsEnabled = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fipsEnabledNode.GetText()).c_str()).c_str()); m_fipsEnabledHasBeenSet = true; } + XmlNode cidrEndpointsCustomSubDomainNode = resultNode.FirstChild("cidrEndpointsCustomSubDomain"); + if(!cidrEndpointsCustomSubDomainNode.IsNull()) + { + m_cidrEndpointsCustomSubDomain = cidrEndpointsCustomSubDomainNode; + m_cidrEndpointsCustomSubDomainHasBeenSet = true; + } } return *this; @@ -152,6 +159,13 @@ void VerifiedAccessInstance::OutputToStream(Aws::OStream& oStream, const char* l oStream << location << index << locationValue << ".FipsEnabled=" << std::boolalpha << m_fipsEnabled << "&"; } + if(m_cidrEndpointsCustomSubDomainHasBeenSet) + { + Aws::StringStream cidrEndpointsCustomSubDomainLocationAndMemberSs; + cidrEndpointsCustomSubDomainLocationAndMemberSs << location << index << locationValue << ".CidrEndpointsCustomSubDomain"; + m_cidrEndpointsCustomSubDomain.OutputToStream(oStream, cidrEndpointsCustomSubDomainLocationAndMemberSs.str().c_str()); + } + } void VerifiedAccessInstance::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -196,6 +210,12 @@ void VerifiedAccessInstance::OutputToStream(Aws::OStream& oStream, const char* l { oStream << location << ".FipsEnabled=" << std::boolalpha << m_fipsEnabled << "&"; } + if(m_cidrEndpointsCustomSubDomainHasBeenSet) + { + Aws::String cidrEndpointsCustomSubDomainLocationAndMember(location); + cidrEndpointsCustomSubDomainLocationAndMember += ".CidrEndpointsCustomSubDomain"; + m_cidrEndpointsCustomSubDomain.OutputToStream(oStream, cidrEndpointsCustomSubDomainLocationAndMember.c_str()); + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceCustomSubDomain.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceCustomSubDomain.cpp new file mode 100644 index 00000000000..7b52846e9c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceCustomSubDomain.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +VerifiedAccessInstanceCustomSubDomain::VerifiedAccessInstanceCustomSubDomain() : + m_subDomainHasBeenSet(false), + m_nameserversHasBeenSet(false) +{ +} + +VerifiedAccessInstanceCustomSubDomain::VerifiedAccessInstanceCustomSubDomain(const XmlNode& xmlNode) + : VerifiedAccessInstanceCustomSubDomain() +{ + *this = xmlNode; +} + +VerifiedAccessInstanceCustomSubDomain& VerifiedAccessInstanceCustomSubDomain::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode subDomainNode = resultNode.FirstChild("subDomain"); + if(!subDomainNode.IsNull()) + { + m_subDomain = Aws::Utils::Xml::DecodeEscapedXmlText(subDomainNode.GetText()); + m_subDomainHasBeenSet = true; + } + XmlNode nameserversNode = resultNode.FirstChild("nameserverSet"); + if(!nameserversNode.IsNull()) + { + XmlNode nameserversMember = nameserversNode.FirstChild("item"); + while(!nameserversMember.IsNull()) + { + m_nameservers.push_back(nameserversMember.GetText()); + nameserversMember = nameserversMember.NextNode("item"); + } + + m_nameserversHasBeenSet = true; + } + } + + return *this; +} + +void VerifiedAccessInstanceCustomSubDomain::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_subDomainHasBeenSet) + { + oStream << location << index << locationValue << ".SubDomain=" << StringUtils::URLEncode(m_subDomain.c_str()) << "&"; + } + + if(m_nameserversHasBeenSet) + { + unsigned nameserversIdx = 1; + for(auto& item : m_nameservers) + { + oStream << location << index << locationValue << ".NameserverSet." << nameserversIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + +} + +void VerifiedAccessInstanceCustomSubDomain::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_subDomainHasBeenSet) + { + oStream << location << ".SubDomain=" << StringUtils::URLEncode(m_subDomain.c_str()) << "&"; + } + if(m_nameserversHasBeenSet) + { + unsigned nameserversIdx = 1; + for(auto& item : m_nameservers) + { + oStream << location << ".NameserverSet." << nameserversIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceOpenVpnClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceOpenVpnClientConfiguration.cpp new file mode 100644 index 00000000000..7dc724ec257 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceOpenVpnClientConfiguration.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +VerifiedAccessInstanceOpenVpnClientConfiguration::VerifiedAccessInstanceOpenVpnClientConfiguration() : + m_configHasBeenSet(false), + m_routesHasBeenSet(false) +{ +} + +VerifiedAccessInstanceOpenVpnClientConfiguration::VerifiedAccessInstanceOpenVpnClientConfiguration(const XmlNode& xmlNode) + : VerifiedAccessInstanceOpenVpnClientConfiguration() +{ + *this = xmlNode; +} + +VerifiedAccessInstanceOpenVpnClientConfiguration& VerifiedAccessInstanceOpenVpnClientConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode configNode = resultNode.FirstChild("config"); + if(!configNode.IsNull()) + { + m_config = Aws::Utils::Xml::DecodeEscapedXmlText(configNode.GetText()); + m_configHasBeenSet = true; + } + XmlNode routesNode = resultNode.FirstChild("routeSet"); + if(!routesNode.IsNull()) + { + XmlNode routesMember = routesNode.FirstChild("item"); + while(!routesMember.IsNull()) + { + m_routes.push_back(routesMember); + routesMember = routesMember.NextNode("item"); + } + + m_routesHasBeenSet = true; + } + } + + return *this; +} + +void VerifiedAccessInstanceOpenVpnClientConfiguration::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_configHasBeenSet) + { + oStream << location << index << locationValue << ".Config=" << StringUtils::URLEncode(m_config.c_str()) << "&"; + } + + if(m_routesHasBeenSet) + { + unsigned routesIdx = 1; + for(auto& item : m_routes) + { + Aws::StringStream routesSs; + routesSs << location << index << locationValue << ".RouteSet." << routesIdx++; + item.OutputToStream(oStream, routesSs.str().c_str()); + } + } + +} + +void VerifiedAccessInstanceOpenVpnClientConfiguration::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_configHasBeenSet) + { + oStream << location << ".Config=" << StringUtils::URLEncode(m_config.c_str()) << "&"; + } + if(m_routesHasBeenSet) + { + unsigned routesIdx = 1; + for(auto& item : m_routes) + { + Aws::StringStream routesSs; + routesSs << location << ".RouteSet." << routesIdx++; + item.OutputToStream(oStream, routesSs.str().c_str()); + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceOpenVpnClientConfigurationRoute.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceOpenVpnClientConfigurationRoute.cpp new file mode 100644 index 00000000000..d602b675f89 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceOpenVpnClientConfigurationRoute.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +VerifiedAccessInstanceOpenVpnClientConfigurationRoute::VerifiedAccessInstanceOpenVpnClientConfigurationRoute() : + m_cidrHasBeenSet(false) +{ +} + +VerifiedAccessInstanceOpenVpnClientConfigurationRoute::VerifiedAccessInstanceOpenVpnClientConfigurationRoute(const XmlNode& xmlNode) + : VerifiedAccessInstanceOpenVpnClientConfigurationRoute() +{ + *this = xmlNode; +} + +VerifiedAccessInstanceOpenVpnClientConfigurationRoute& VerifiedAccessInstanceOpenVpnClientConfigurationRoute::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode cidrNode = resultNode.FirstChild("cidr"); + if(!cidrNode.IsNull()) + { + m_cidr = Aws::Utils::Xml::DecodeEscapedXmlText(cidrNode.GetText()); + m_cidrHasBeenSet = true; + } + } + + return *this; +} + +void VerifiedAccessInstanceOpenVpnClientConfigurationRoute::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_cidrHasBeenSet) + { + oStream << location << index << locationValue << ".Cidr=" << StringUtils::URLEncode(m_cidr.c_str()) << "&"; + } + +} + +void VerifiedAccessInstanceOpenVpnClientConfigurationRoute::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_cidrHasBeenSet) + { + oStream << location << ".Cidr=" << StringUtils::URLEncode(m_cidr.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceUserTrustProviderClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceUserTrustProviderClientConfiguration.cpp new file mode 100644 index 00000000000..e5d9183f47b --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessInstanceUserTrustProviderClientConfiguration.cpp @@ -0,0 +1,216 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +VerifiedAccessInstanceUserTrustProviderClientConfiguration::VerifiedAccessInstanceUserTrustProviderClientConfiguration() : + m_type(UserTrustProviderType::NOT_SET), + m_typeHasBeenSet(false), + m_scopesHasBeenSet(false), + m_issuerHasBeenSet(false), + m_authorizationEndpointHasBeenSet(false), + m_publicSigningKeyEndpointHasBeenSet(false), + m_tokenEndpointHasBeenSet(false), + m_userInfoEndpointHasBeenSet(false), + m_clientIdHasBeenSet(false), + m_clientSecretHasBeenSet(false), + m_pkceEnabled(false), + m_pkceEnabledHasBeenSet(false) +{ +} + +VerifiedAccessInstanceUserTrustProviderClientConfiguration::VerifiedAccessInstanceUserTrustProviderClientConfiguration(const XmlNode& xmlNode) + : VerifiedAccessInstanceUserTrustProviderClientConfiguration() +{ + *this = xmlNode; +} + +VerifiedAccessInstanceUserTrustProviderClientConfiguration& VerifiedAccessInstanceUserTrustProviderClientConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode typeNode = resultNode.FirstChild("type"); + if(!typeNode.IsNull()) + { + m_type = UserTrustProviderTypeMapper::GetUserTrustProviderTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(typeNode.GetText()).c_str()).c_str()); + m_typeHasBeenSet = true; + } + XmlNode scopesNode = resultNode.FirstChild("scopes"); + if(!scopesNode.IsNull()) + { + m_scopes = Aws::Utils::Xml::DecodeEscapedXmlText(scopesNode.GetText()); + m_scopesHasBeenSet = true; + } + XmlNode issuerNode = resultNode.FirstChild("issuer"); + if(!issuerNode.IsNull()) + { + m_issuer = Aws::Utils::Xml::DecodeEscapedXmlText(issuerNode.GetText()); + m_issuerHasBeenSet = true; + } + XmlNode authorizationEndpointNode = resultNode.FirstChild("authorizationEndpoint"); + if(!authorizationEndpointNode.IsNull()) + { + m_authorizationEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(authorizationEndpointNode.GetText()); + m_authorizationEndpointHasBeenSet = true; + } + XmlNode publicSigningKeyEndpointNode = resultNode.FirstChild("publicSigningKeyEndpoint"); + if(!publicSigningKeyEndpointNode.IsNull()) + { + m_publicSigningKeyEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(publicSigningKeyEndpointNode.GetText()); + m_publicSigningKeyEndpointHasBeenSet = true; + } + XmlNode tokenEndpointNode = resultNode.FirstChild("tokenEndpoint"); + if(!tokenEndpointNode.IsNull()) + { + m_tokenEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(tokenEndpointNode.GetText()); + m_tokenEndpointHasBeenSet = true; + } + XmlNode userInfoEndpointNode = resultNode.FirstChild("userInfoEndpoint"); + if(!userInfoEndpointNode.IsNull()) + { + m_userInfoEndpoint = Aws::Utils::Xml::DecodeEscapedXmlText(userInfoEndpointNode.GetText()); + m_userInfoEndpointHasBeenSet = true; + } + XmlNode clientIdNode = resultNode.FirstChild("clientId"); + if(!clientIdNode.IsNull()) + { + m_clientId = Aws::Utils::Xml::DecodeEscapedXmlText(clientIdNode.GetText()); + m_clientIdHasBeenSet = true; + } + XmlNode clientSecretNode = resultNode.FirstChild("clientSecret"); + if(!clientSecretNode.IsNull()) + { + m_clientSecret = Aws::Utils::Xml::DecodeEscapedXmlText(clientSecretNode.GetText()); + m_clientSecretHasBeenSet = true; + } + XmlNode pkceEnabledNode = resultNode.FirstChild("pkceEnabled"); + if(!pkceEnabledNode.IsNull()) + { + m_pkceEnabled = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(pkceEnabledNode.GetText()).c_str()).c_str()); + m_pkceEnabledHasBeenSet = true; + } + } + + return *this; +} + +void VerifiedAccessInstanceUserTrustProviderClientConfiguration::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_typeHasBeenSet) + { + oStream << location << index << locationValue << ".Type=" << UserTrustProviderTypeMapper::GetNameForUserTrustProviderType(m_type) << "&"; + } + + if(m_scopesHasBeenSet) + { + oStream << location << index << locationValue << ".Scopes=" << StringUtils::URLEncode(m_scopes.c_str()) << "&"; + } + + if(m_issuerHasBeenSet) + { + oStream << location << index << locationValue << ".Issuer=" << StringUtils::URLEncode(m_issuer.c_str()) << "&"; + } + + if(m_authorizationEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".AuthorizationEndpoint=" << StringUtils::URLEncode(m_authorizationEndpoint.c_str()) << "&"; + } + + if(m_publicSigningKeyEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".PublicSigningKeyEndpoint=" << StringUtils::URLEncode(m_publicSigningKeyEndpoint.c_str()) << "&"; + } + + if(m_tokenEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".TokenEndpoint=" << StringUtils::URLEncode(m_tokenEndpoint.c_str()) << "&"; + } + + if(m_userInfoEndpointHasBeenSet) + { + oStream << location << index << locationValue << ".UserInfoEndpoint=" << StringUtils::URLEncode(m_userInfoEndpoint.c_str()) << "&"; + } + + if(m_clientIdHasBeenSet) + { + oStream << location << index << locationValue << ".ClientId=" << StringUtils::URLEncode(m_clientId.c_str()) << "&"; + } + + if(m_clientSecretHasBeenSet) + { + oStream << location << index << locationValue << ".ClientSecret=" << StringUtils::URLEncode(m_clientSecret.c_str()) << "&"; + } + + if(m_pkceEnabledHasBeenSet) + { + oStream << location << index << locationValue << ".PkceEnabled=" << std::boolalpha << m_pkceEnabled << "&"; + } + +} + +void VerifiedAccessInstanceUserTrustProviderClientConfiguration::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_typeHasBeenSet) + { + oStream << location << ".Type=" << UserTrustProviderTypeMapper::GetNameForUserTrustProviderType(m_type) << "&"; + } + if(m_scopesHasBeenSet) + { + oStream << location << ".Scopes=" << StringUtils::URLEncode(m_scopes.c_str()) << "&"; + } + if(m_issuerHasBeenSet) + { + oStream << location << ".Issuer=" << StringUtils::URLEncode(m_issuer.c_str()) << "&"; + } + if(m_authorizationEndpointHasBeenSet) + { + oStream << location << ".AuthorizationEndpoint=" << StringUtils::URLEncode(m_authorizationEndpoint.c_str()) << "&"; + } + if(m_publicSigningKeyEndpointHasBeenSet) + { + oStream << location << ".PublicSigningKeyEndpoint=" << StringUtils::URLEncode(m_publicSigningKeyEndpoint.c_str()) << "&"; + } + if(m_tokenEndpointHasBeenSet) + { + oStream << location << ".TokenEndpoint=" << StringUtils::URLEncode(m_tokenEndpoint.c_str()) << "&"; + } + if(m_userInfoEndpointHasBeenSet) + { + oStream << location << ".UserInfoEndpoint=" << StringUtils::URLEncode(m_userInfoEndpoint.c_str()) << "&"; + } + if(m_clientIdHasBeenSet) + { + oStream << location << ".ClientId=" << StringUtils::URLEncode(m_clientId.c_str()) << "&"; + } + if(m_clientSecretHasBeenSet) + { + oStream << location << ".ClientSecret=" << StringUtils::URLEncode(m_clientSecret.c_str()) << "&"; + } + if(m_pkceEnabledHasBeenSet) + { + oStream << location << ".PkceEnabled=" << std::boolalpha << m_pkceEnabled << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessTrustProvider.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessTrustProvider.cpp index 9c0ef811da4..7a591fabcda 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessTrustProvider.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VerifiedAccessTrustProvider.cpp @@ -35,7 +35,8 @@ VerifiedAccessTrustProvider::VerifiedAccessTrustProvider() : m_creationTimeHasBeenSet(false), m_lastUpdatedTimeHasBeenSet(false), m_tagsHasBeenSet(false), - m_sseSpecificationHasBeenSet(false) + m_sseSpecificationHasBeenSet(false), + m_nativeApplicationOidcOptionsHasBeenSet(false) { } @@ -129,6 +130,12 @@ VerifiedAccessTrustProvider& VerifiedAccessTrustProvider::operator =(const XmlNo m_sseSpecification = sseSpecificationNode; m_sseSpecificationHasBeenSet = true; } + XmlNode nativeApplicationOidcOptionsNode = resultNode.FirstChild("nativeApplicationOidcOptions"); + if(!nativeApplicationOidcOptionsNode.IsNull()) + { + m_nativeApplicationOidcOptions = nativeApplicationOidcOptionsNode; + m_nativeApplicationOidcOptionsHasBeenSet = true; + } } return *this; @@ -208,6 +215,13 @@ void VerifiedAccessTrustProvider::OutputToStream(Aws::OStream& oStream, const ch m_sseSpecification.OutputToStream(oStream, sseSpecificationLocationAndMemberSs.str().c_str()); } + if(m_nativeApplicationOidcOptionsHasBeenSet) + { + Aws::StringStream nativeApplicationOidcOptionsLocationAndMemberSs; + nativeApplicationOidcOptionsLocationAndMemberSs << location << index << locationValue << ".NativeApplicationOidcOptions"; + m_nativeApplicationOidcOptions.OutputToStream(oStream, nativeApplicationOidcOptionsLocationAndMemberSs.str().c_str()); + } + } void VerifiedAccessTrustProvider::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -272,6 +286,12 @@ void VerifiedAccessTrustProvider::OutputToStream(Aws::OStream& oStream, const ch sseSpecificationLocationAndMember += ".SseSpecification"; m_sseSpecification.OutputToStream(oStream, sseSpecificationLocationAndMember.c_str()); } + if(m_nativeApplicationOidcOptionsHasBeenSet) + { + Aws::String nativeApplicationOidcOptionsLocationAndMember(location); + nativeApplicationOidcOptionsLocationAndMember += ".NativeApplicationOidcOptions"; + m_nativeApplicationOidcOptions.OutputToStream(oStream, nativeApplicationOidcOptionsLocationAndMember.c_str()); + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VpcBlockPublicAccessExclusionsAllowed.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VpcBlockPublicAccessExclusionsAllowed.cpp new file mode 100644 index 00000000000..06406c06393 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VpcBlockPublicAccessExclusionsAllowed.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace EC2 + { + namespace Model + { + namespace VpcBlockPublicAccessExclusionsAllowedMapper + { + + static const int allowed_HASH = HashingUtils::HashString("allowed"); + static const int not_allowed_HASH = HashingUtils::HashString("not-allowed"); + + + VpcBlockPublicAccessExclusionsAllowed GetVpcBlockPublicAccessExclusionsAllowedForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == allowed_HASH) + { + return VpcBlockPublicAccessExclusionsAllowed::allowed; + } + else if (hashCode == not_allowed_HASH) + { + return VpcBlockPublicAccessExclusionsAllowed::not_allowed; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return VpcBlockPublicAccessExclusionsAllowed::NOT_SET; + } + + Aws::String GetNameForVpcBlockPublicAccessExclusionsAllowed(VpcBlockPublicAccessExclusionsAllowed enumValue) + { + switch(enumValue) + { + case VpcBlockPublicAccessExclusionsAllowed::NOT_SET: + return {}; + case VpcBlockPublicAccessExclusionsAllowed::allowed: + return "allowed"; + case VpcBlockPublicAccessExclusionsAllowed::not_allowed: + return "not-allowed"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace VpcBlockPublicAccessExclusionsAllowedMapper + } // namespace Model + } // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VpcBlockPublicAccessOptions.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VpcBlockPublicAccessOptions.cpp index 9dcba6e520c..76bdb6e7df3 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/VpcBlockPublicAccessOptions.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VpcBlockPublicAccessOptions.cpp @@ -28,7 +28,11 @@ VpcBlockPublicAccessOptions::VpcBlockPublicAccessOptions() : m_internetGatewayBlockMode(InternetGatewayBlockMode::NOT_SET), m_internetGatewayBlockModeHasBeenSet(false), m_reasonHasBeenSet(false), - m_lastUpdateTimestampHasBeenSet(false) + m_lastUpdateTimestampHasBeenSet(false), + m_managedBy(ManagedBy::NOT_SET), + m_managedByHasBeenSet(false), + m_exclusionsAllowed(VpcBlockPublicAccessExclusionsAllowed::NOT_SET), + m_exclusionsAllowedHasBeenSet(false) { } @@ -80,6 +84,18 @@ VpcBlockPublicAccessOptions& VpcBlockPublicAccessOptions::operator =(const XmlNo m_lastUpdateTimestamp = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(lastUpdateTimestampNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_lastUpdateTimestampHasBeenSet = true; } + XmlNode managedByNode = resultNode.FirstChild("managedBy"); + if(!managedByNode.IsNull()) + { + m_managedBy = ManagedByMapper::GetManagedByForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(managedByNode.GetText()).c_str()).c_str()); + m_managedByHasBeenSet = true; + } + XmlNode exclusionsAllowedNode = resultNode.FirstChild("exclusionsAllowed"); + if(!exclusionsAllowedNode.IsNull()) + { + m_exclusionsAllowed = VpcBlockPublicAccessExclusionsAllowedMapper::GetVpcBlockPublicAccessExclusionsAllowedForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(exclusionsAllowedNode.GetText()).c_str()).c_str()); + m_exclusionsAllowedHasBeenSet = true; + } } return *this; @@ -117,6 +133,16 @@ void VpcBlockPublicAccessOptions::OutputToStream(Aws::OStream& oStream, const ch oStream << location << index << locationValue << ".LastUpdateTimestamp=" << StringUtils::URLEncode(m_lastUpdateTimestamp.ToGmtString(Aws::Utils::DateFormat::ISO_8601).c_str()) << "&"; } + if(m_managedByHasBeenSet) + { + oStream << location << index << locationValue << ".ManagedBy=" << ManagedByMapper::GetNameForManagedBy(m_managedBy) << "&"; + } + + if(m_exclusionsAllowedHasBeenSet) + { + oStream << location << index << locationValue << ".ExclusionsAllowed=" << VpcBlockPublicAccessExclusionsAllowedMapper::GetNameForVpcBlockPublicAccessExclusionsAllowed(m_exclusionsAllowed) << "&"; + } + } void VpcBlockPublicAccessOptions::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -145,6 +171,14 @@ void VpcBlockPublicAccessOptions::OutputToStream(Aws::OStream& oStream, const ch { oStream << location << ".LastUpdateTimestamp=" << StringUtils::URLEncode(m_lastUpdateTimestamp.ToGmtString(Aws::Utils::DateFormat::ISO_8601).c_str()) << "&"; } + if(m_managedByHasBeenSet) + { + oStream << location << ".ManagedBy=" << ManagedByMapper::GetNameForManagedBy(m_managedBy) << "&"; + } + if(m_exclusionsAllowedHasBeenSet) + { + oStream << location << ".ExclusionsAllowed=" << VpcBlockPublicAccessExclusionsAllowedMapper::GetNameForVpcBlockPublicAccessExclusionsAllowed(m_exclusionsAllowed) << "&"; + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpoint.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpoint.cpp index 926c679af8f..336d6ebd338 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpoint.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpoint.cpp @@ -45,6 +45,11 @@ VpcEndpoint::VpcEndpoint() : m_tagsHasBeenSet(false), m_ownerIdHasBeenSet(false), m_lastErrorHasBeenSet(false), + m_ipv4PrefixesHasBeenSet(false), + m_ipv6PrefixesHasBeenSet(false), + m_failureReasonHasBeenSet(false), + m_serviceNetworkArnHasBeenSet(false), + m_resourceConfigurationArnHasBeenSet(false), m_serviceRegionHasBeenSet(false) { } @@ -211,6 +216,48 @@ VpcEndpoint& VpcEndpoint::operator =(const XmlNode& xmlNode) m_lastError = lastErrorNode; m_lastErrorHasBeenSet = true; } + XmlNode ipv4PrefixesNode = resultNode.FirstChild("ipv4PrefixSet"); + if(!ipv4PrefixesNode.IsNull()) + { + XmlNode ipv4PrefixesMember = ipv4PrefixesNode.FirstChild("item"); + while(!ipv4PrefixesMember.IsNull()) + { + m_ipv4Prefixes.push_back(ipv4PrefixesMember); + ipv4PrefixesMember = ipv4PrefixesMember.NextNode("item"); + } + + m_ipv4PrefixesHasBeenSet = true; + } + XmlNode ipv6PrefixesNode = resultNode.FirstChild("ipv6PrefixSet"); + if(!ipv6PrefixesNode.IsNull()) + { + XmlNode ipv6PrefixesMember = ipv6PrefixesNode.FirstChild("item"); + while(!ipv6PrefixesMember.IsNull()) + { + m_ipv6Prefixes.push_back(ipv6PrefixesMember); + ipv6PrefixesMember = ipv6PrefixesMember.NextNode("item"); + } + + m_ipv6PrefixesHasBeenSet = true; + } + XmlNode failureReasonNode = resultNode.FirstChild("failureReason"); + if(!failureReasonNode.IsNull()) + { + m_failureReason = Aws::Utils::Xml::DecodeEscapedXmlText(failureReasonNode.GetText()); + m_failureReasonHasBeenSet = true; + } + XmlNode serviceNetworkArnNode = resultNode.FirstChild("serviceNetworkArn"); + if(!serviceNetworkArnNode.IsNull()) + { + m_serviceNetworkArn = Aws::Utils::Xml::DecodeEscapedXmlText(serviceNetworkArnNode.GetText()); + m_serviceNetworkArnHasBeenSet = true; + } + XmlNode resourceConfigurationArnNode = resultNode.FirstChild("resourceConfigurationArn"); + if(!resourceConfigurationArnNode.IsNull()) + { + m_resourceConfigurationArn = Aws::Utils::Xml::DecodeEscapedXmlText(resourceConfigurationArnNode.GetText()); + m_resourceConfigurationArnHasBeenSet = true; + } XmlNode serviceRegionNode = resultNode.FirstChild("serviceRegion"); if(!serviceRegionNode.IsNull()) { @@ -353,6 +400,43 @@ void VpcEndpoint::OutputToStream(Aws::OStream& oStream, const char* location, un m_lastError.OutputToStream(oStream, lastErrorLocationAndMemberSs.str().c_str()); } + if(m_ipv4PrefixesHasBeenSet) + { + unsigned ipv4PrefixesIdx = 1; + for(auto& item : m_ipv4Prefixes) + { + Aws::StringStream ipv4PrefixesSs; + ipv4PrefixesSs << location << index << locationValue << ".Ipv4PrefixSet." << ipv4PrefixesIdx++; + item.OutputToStream(oStream, ipv4PrefixesSs.str().c_str()); + } + } + + if(m_ipv6PrefixesHasBeenSet) + { + unsigned ipv6PrefixesIdx = 1; + for(auto& item : m_ipv6Prefixes) + { + Aws::StringStream ipv6PrefixesSs; + ipv6PrefixesSs << location << index << locationValue << ".Ipv6PrefixSet." << ipv6PrefixesIdx++; + item.OutputToStream(oStream, ipv6PrefixesSs.str().c_str()); + } + } + + if(m_failureReasonHasBeenSet) + { + oStream << location << index << locationValue << ".FailureReason=" << StringUtils::URLEncode(m_failureReason.c_str()) << "&"; + } + + if(m_serviceNetworkArnHasBeenSet) + { + oStream << location << index << locationValue << ".ServiceNetworkArn=" << StringUtils::URLEncode(m_serviceNetworkArn.c_str()) << "&"; + } + + if(m_resourceConfigurationArnHasBeenSet) + { + oStream << location << index << locationValue << ".ResourceConfigurationArn=" << StringUtils::URLEncode(m_resourceConfigurationArn.c_str()) << "&"; + } + if(m_serviceRegionHasBeenSet) { oStream << location << index << locationValue << ".ServiceRegion=" << StringUtils::URLEncode(m_serviceRegion.c_str()) << "&"; @@ -472,6 +556,38 @@ void VpcEndpoint::OutputToStream(Aws::OStream& oStream, const char* location) co lastErrorLocationAndMember += ".LastError"; m_lastError.OutputToStream(oStream, lastErrorLocationAndMember.c_str()); } + if(m_ipv4PrefixesHasBeenSet) + { + unsigned ipv4PrefixesIdx = 1; + for(auto& item : m_ipv4Prefixes) + { + Aws::StringStream ipv4PrefixesSs; + ipv4PrefixesSs << location << ".Ipv4PrefixSet." << ipv4PrefixesIdx++; + item.OutputToStream(oStream, ipv4PrefixesSs.str().c_str()); + } + } + if(m_ipv6PrefixesHasBeenSet) + { + unsigned ipv6PrefixesIdx = 1; + for(auto& item : m_ipv6Prefixes) + { + Aws::StringStream ipv6PrefixesSs; + ipv6PrefixesSs << location << ".Ipv6PrefixSet." << ipv6PrefixesIdx++; + item.OutputToStream(oStream, ipv6PrefixesSs.str().c_str()); + } + } + if(m_failureReasonHasBeenSet) + { + oStream << location << ".FailureReason=" << StringUtils::URLEncode(m_failureReason.c_str()) << "&"; + } + if(m_serviceNetworkArnHasBeenSet) + { + oStream << location << ".ServiceNetworkArn=" << StringUtils::URLEncode(m_serviceNetworkArn.c_str()) << "&"; + } + if(m_resourceConfigurationArnHasBeenSet) + { + oStream << location << ".ResourceConfigurationArn=" << StringUtils::URLEncode(m_resourceConfigurationArn.c_str()) << "&"; + } if(m_serviceRegionHasBeenSet) { oStream << location << ".ServiceRegion=" << StringUtils::URLEncode(m_serviceRegion.c_str()) << "&"; diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpointAssociation.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpointAssociation.cpp new file mode 100644 index 00000000000..b67dd687864 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpointAssociation.cpp @@ -0,0 +1,272 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +VpcEndpointAssociation::VpcEndpointAssociation() : + m_idHasBeenSet(false), + m_vpcEndpointIdHasBeenSet(false), + m_serviceNetworkArnHasBeenSet(false), + m_serviceNetworkNameHasBeenSet(false), + m_associatedResourceAccessibilityHasBeenSet(false), + m_failureReasonHasBeenSet(false), + m_failureCodeHasBeenSet(false), + m_dnsEntryHasBeenSet(false), + m_privateDnsEntryHasBeenSet(false), + m_associatedResourceArnHasBeenSet(false), + m_resourceConfigurationGroupArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +VpcEndpointAssociation::VpcEndpointAssociation(const XmlNode& xmlNode) + : VpcEndpointAssociation() +{ + *this = xmlNode; +} + +VpcEndpointAssociation& VpcEndpointAssociation::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode idNode = resultNode.FirstChild("id"); + if(!idNode.IsNull()) + { + m_id = Aws::Utils::Xml::DecodeEscapedXmlText(idNode.GetText()); + m_idHasBeenSet = true; + } + XmlNode vpcEndpointIdNode = resultNode.FirstChild("vpcEndpointId"); + if(!vpcEndpointIdNode.IsNull()) + { + m_vpcEndpointId = Aws::Utils::Xml::DecodeEscapedXmlText(vpcEndpointIdNode.GetText()); + m_vpcEndpointIdHasBeenSet = true; + } + XmlNode serviceNetworkArnNode = resultNode.FirstChild("serviceNetworkArn"); + if(!serviceNetworkArnNode.IsNull()) + { + m_serviceNetworkArn = Aws::Utils::Xml::DecodeEscapedXmlText(serviceNetworkArnNode.GetText()); + m_serviceNetworkArnHasBeenSet = true; + } + XmlNode serviceNetworkNameNode = resultNode.FirstChild("serviceNetworkName"); + if(!serviceNetworkNameNode.IsNull()) + { + m_serviceNetworkName = Aws::Utils::Xml::DecodeEscapedXmlText(serviceNetworkNameNode.GetText()); + m_serviceNetworkNameHasBeenSet = true; + } + XmlNode associatedResourceAccessibilityNode = resultNode.FirstChild("associatedResourceAccessibility"); + if(!associatedResourceAccessibilityNode.IsNull()) + { + m_associatedResourceAccessibility = Aws::Utils::Xml::DecodeEscapedXmlText(associatedResourceAccessibilityNode.GetText()); + m_associatedResourceAccessibilityHasBeenSet = true; + } + XmlNode failureReasonNode = resultNode.FirstChild("failureReason"); + if(!failureReasonNode.IsNull()) + { + m_failureReason = Aws::Utils::Xml::DecodeEscapedXmlText(failureReasonNode.GetText()); + m_failureReasonHasBeenSet = true; + } + XmlNode failureCodeNode = resultNode.FirstChild("failureCode"); + if(!failureCodeNode.IsNull()) + { + m_failureCode = Aws::Utils::Xml::DecodeEscapedXmlText(failureCodeNode.GetText()); + m_failureCodeHasBeenSet = true; + } + XmlNode dnsEntryNode = resultNode.FirstChild("dnsEntry"); + if(!dnsEntryNode.IsNull()) + { + m_dnsEntry = dnsEntryNode; + m_dnsEntryHasBeenSet = true; + } + XmlNode privateDnsEntryNode = resultNode.FirstChild("privateDnsEntry"); + if(!privateDnsEntryNode.IsNull()) + { + m_privateDnsEntry = privateDnsEntryNode; + m_privateDnsEntryHasBeenSet = true; + } + XmlNode associatedResourceArnNode = resultNode.FirstChild("associatedResourceArn"); + if(!associatedResourceArnNode.IsNull()) + { + m_associatedResourceArn = Aws::Utils::Xml::DecodeEscapedXmlText(associatedResourceArnNode.GetText()); + m_associatedResourceArnHasBeenSet = true; + } + XmlNode resourceConfigurationGroupArnNode = resultNode.FirstChild("resourceConfigurationGroupArn"); + if(!resourceConfigurationGroupArnNode.IsNull()) + { + m_resourceConfigurationGroupArn = Aws::Utils::Xml::DecodeEscapedXmlText(resourceConfigurationGroupArnNode.GetText()); + m_resourceConfigurationGroupArnHasBeenSet = true; + } + XmlNode tagsNode = resultNode.FirstChild("tagSet"); + if(!tagsNode.IsNull()) + { + XmlNode tagsMember = tagsNode.FirstChild("item"); + while(!tagsMember.IsNull()) + { + m_tags.push_back(tagsMember); + tagsMember = tagsMember.NextNode("item"); + } + + m_tagsHasBeenSet = true; + } + } + + return *this; +} + +void VpcEndpointAssociation::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_idHasBeenSet) + { + oStream << location << index << locationValue << ".Id=" << StringUtils::URLEncode(m_id.c_str()) << "&"; + } + + if(m_vpcEndpointIdHasBeenSet) + { + oStream << location << index << locationValue << ".VpcEndpointId=" << StringUtils::URLEncode(m_vpcEndpointId.c_str()) << "&"; + } + + if(m_serviceNetworkArnHasBeenSet) + { + oStream << location << index << locationValue << ".ServiceNetworkArn=" << StringUtils::URLEncode(m_serviceNetworkArn.c_str()) << "&"; + } + + if(m_serviceNetworkNameHasBeenSet) + { + oStream << location << index << locationValue << ".ServiceNetworkName=" << StringUtils::URLEncode(m_serviceNetworkName.c_str()) << "&"; + } + + if(m_associatedResourceAccessibilityHasBeenSet) + { + oStream << location << index << locationValue << ".AssociatedResourceAccessibility=" << StringUtils::URLEncode(m_associatedResourceAccessibility.c_str()) << "&"; + } + + if(m_failureReasonHasBeenSet) + { + oStream << location << index << locationValue << ".FailureReason=" << StringUtils::URLEncode(m_failureReason.c_str()) << "&"; + } + + if(m_failureCodeHasBeenSet) + { + oStream << location << index << locationValue << ".FailureCode=" << StringUtils::URLEncode(m_failureCode.c_str()) << "&"; + } + + if(m_dnsEntryHasBeenSet) + { + Aws::StringStream dnsEntryLocationAndMemberSs; + dnsEntryLocationAndMemberSs << location << index << locationValue << ".DnsEntry"; + m_dnsEntry.OutputToStream(oStream, dnsEntryLocationAndMemberSs.str().c_str()); + } + + if(m_privateDnsEntryHasBeenSet) + { + Aws::StringStream privateDnsEntryLocationAndMemberSs; + privateDnsEntryLocationAndMemberSs << location << index << locationValue << ".PrivateDnsEntry"; + m_privateDnsEntry.OutputToStream(oStream, privateDnsEntryLocationAndMemberSs.str().c_str()); + } + + if(m_associatedResourceArnHasBeenSet) + { + oStream << location << index << locationValue << ".AssociatedResourceArn=" << StringUtils::URLEncode(m_associatedResourceArn.c_str()) << "&"; + } + + if(m_resourceConfigurationGroupArnHasBeenSet) + { + oStream << location << index << locationValue << ".ResourceConfigurationGroupArn=" << StringUtils::URLEncode(m_resourceConfigurationGroupArn.c_str()) << "&"; + } + + if(m_tagsHasBeenSet) + { + unsigned tagsIdx = 1; + for(auto& item : m_tags) + { + Aws::StringStream tagsSs; + tagsSs << location << index << locationValue << ".TagSet." << tagsIdx++; + item.OutputToStream(oStream, tagsSs.str().c_str()); + } + } + +} + +void VpcEndpointAssociation::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_idHasBeenSet) + { + oStream << location << ".Id=" << StringUtils::URLEncode(m_id.c_str()) << "&"; + } + if(m_vpcEndpointIdHasBeenSet) + { + oStream << location << ".VpcEndpointId=" << StringUtils::URLEncode(m_vpcEndpointId.c_str()) << "&"; + } + if(m_serviceNetworkArnHasBeenSet) + { + oStream << location << ".ServiceNetworkArn=" << StringUtils::URLEncode(m_serviceNetworkArn.c_str()) << "&"; + } + if(m_serviceNetworkNameHasBeenSet) + { + oStream << location << ".ServiceNetworkName=" << StringUtils::URLEncode(m_serviceNetworkName.c_str()) << "&"; + } + if(m_associatedResourceAccessibilityHasBeenSet) + { + oStream << location << ".AssociatedResourceAccessibility=" << StringUtils::URLEncode(m_associatedResourceAccessibility.c_str()) << "&"; + } + if(m_failureReasonHasBeenSet) + { + oStream << location << ".FailureReason=" << StringUtils::URLEncode(m_failureReason.c_str()) << "&"; + } + if(m_failureCodeHasBeenSet) + { + oStream << location << ".FailureCode=" << StringUtils::URLEncode(m_failureCode.c_str()) << "&"; + } + if(m_dnsEntryHasBeenSet) + { + Aws::String dnsEntryLocationAndMember(location); + dnsEntryLocationAndMember += ".DnsEntry"; + m_dnsEntry.OutputToStream(oStream, dnsEntryLocationAndMember.c_str()); + } + if(m_privateDnsEntryHasBeenSet) + { + Aws::String privateDnsEntryLocationAndMember(location); + privateDnsEntryLocationAndMember += ".PrivateDnsEntry"; + m_privateDnsEntry.OutputToStream(oStream, privateDnsEntryLocationAndMember.c_str()); + } + if(m_associatedResourceArnHasBeenSet) + { + oStream << location << ".AssociatedResourceArn=" << StringUtils::URLEncode(m_associatedResourceArn.c_str()) << "&"; + } + if(m_resourceConfigurationGroupArnHasBeenSet) + { + oStream << location << ".ResourceConfigurationGroupArn=" << StringUtils::URLEncode(m_resourceConfigurationGroupArn.c_str()) << "&"; + } + if(m_tagsHasBeenSet) + { + unsigned tagsIdx = 1; + for(auto& item : m_tags) + { + Aws::StringStream tagsSs; + tagsSs << location << ".TagSet." << tagsIdx++; + item.OutputToStream(oStream, tagsSs.str().c_str()); + } + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpointType.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpointType.cpp index 5c2a540af97..1dd04aeff6a 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpointType.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/VpcEndpointType.cpp @@ -23,6 +23,8 @@ namespace Aws static const int Interface_HASH = HashingUtils::HashString("Interface"); static const int Gateway_HASH = HashingUtils::HashString("Gateway"); static const int GatewayLoadBalancer_HASH = HashingUtils::HashString("GatewayLoadBalancer"); + static const int Resource_HASH = HashingUtils::HashString("Resource"); + static const int ServiceNetwork_HASH = HashingUtils::HashString("ServiceNetwork"); VpcEndpointType GetVpcEndpointTypeForName(const Aws::String& name) @@ -40,6 +42,14 @@ namespace Aws { return VpcEndpointType::GatewayLoadBalancer; } + else if (hashCode == Resource_HASH) + { + return VpcEndpointType::Resource; + } + else if (hashCode == ServiceNetwork_HASH) + { + return VpcEndpointType::ServiceNetwork; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +72,10 @@ namespace Aws return "Gateway"; case VpcEndpointType::GatewayLoadBalancer: return "GatewayLoadBalancer"; + case VpcEndpointType::Resource: + return "Resource"; + case VpcEndpointType::ServiceNetwork: + return "ServiceNetwork"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h index 0a9e0cdd2ce..6dff200567e 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h @@ -375,7 +375,7 @@ namespace ECS * FARGATE and FARGATE_SPOT capacity providers are * reserved and can't be deleted. You can disassociate them from a cluster using * either PutCapacityProviderProviders + * href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutClusterCapacityProviders.html">PutClusterCapacityProviders * or by deleting the cluster.

    Prior to a capacity provider being * deleted, the capacity provider must be removed from the capacity provider * strategy from all services. The Describes one or more of your clusters.

    See Also:

    Describes one or more of your clusters.

    For CLI examples, see describe-clusters.rst + * on GitHub.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/AwsVpcConfiguration.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/AwsVpcConfiguration.h index 936c384ec66..913e7ebf4a6 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/AwsVpcConfiguration.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/AwsVpcConfiguration.h @@ -81,7 +81,7 @@ namespace Model ///@{ /** *

    Whether the task's elastic network interface receives a public IP address. - * The default value is DISABLED.

    + * The default value is ENABLED.

    */ inline const AssignPublicIp& GetAssignPublicIp() const{ return m_assignPublicIp; } inline bool AssignPublicIpHasBeenSet() const { return m_assignPublicIpHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ClusterSetting.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ClusterSetting.h index 1abff89a5ae..99bc2a5c1a3 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ClusterSetting.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ClusterSetting.h @@ -26,7 +26,20 @@ namespace Model /** *

    The settings to use when creating a cluster. This parameter is used to turn - * on CloudWatch Container Insights for a cluster.

    See Also:

    Container Insights with enhanced + * observability provides all the Container Insights metrics, plus additional task + * and container metrics. This version supports enhanced observability for Amazon + * ECS clusters using the Amazon EC2 and Fargate launch types. After you configure + * Container Insights with enhanced observability on Amazon ECS, Container Insights + * auto-collects detailed infrastructure telemetry from the cluster level down to + * the container level in your environment and displays these critical performance + * data in curated dashboards removing the heavy lifting in observability set-up. + *

    For more information, see Monitor + * Amazon ECS containers using Container Insights with enhanced observability + * in the Amazon Elastic Container Service Developer Guide.

    See + * Also:

    AWS * API Reference

    */ @@ -55,12 +68,12 @@ namespace Model ///@{ /** *

    The value to set for the cluster setting. The supported values are - * enabled and disabled.

    If you set - * name to containerInsights and value to - * enabled, CloudWatch Container Insights will be on for the cluster, - * otherwise it will be off unless the containerInsights account - * setting is turned on. If a cluster value is specified, it will override the - * containerInsights value set with enhanced, enabled, and disabled.

    + *

    To use Container Insights with enhanced observability, set the + * containerInsights account setting to enhanced.

    + *

    To use Container Insights, set the containerInsights account + * setting to enabled.

    If a cluster value is specified, it will + * override the containerInsights value set with PutAccountSetting * or PutAccountSettingDefault.

    diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeTasksRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeTasksRequest.h index f54285b8e94..476d530bac6 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeTasksRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeTasksRequest.h @@ -40,8 +40,8 @@ namespace Model /** *

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts * the task or tasks to describe. If you do not specify a cluster, the default - * cluster is assumed. This parameter is required if the task or tasks you are - * describing were launched in any cluster other than the default cluster.

    + * cluster is assumed. This parameter is required. If you do not specify a value, + * the default cluster is used.

    */ inline const Aws::String& GetCluster() const{ return m_cluster; } inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/EphemeralStorage.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/EphemeralStorage.h index c0632cac147..8e962ea8422 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/EphemeralStorage.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/EphemeralStorage.h @@ -46,7 +46,7 @@ namespace Model ///@{ /** *

    The total amount, in GiB, of ephemeral storage to set for the task. The - * minimum supported value is 20 GiB and the maximum supported value + * minimum supported value is 21 GiB and the maximum supported value * is 200 GiB.

    */ inline int GetSizeInGiB() const{ return m_sizeInGiB; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ListServiceDeploymentsRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ListServiceDeploymentsRequest.h index 4e6030d5d76..9d53ef7b726 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ListServiceDeploymentsRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ListServiceDeploymentsRequest.h @@ -57,7 +57,7 @@ namespace Model * ARN. Starting April 15, 2023, Amazon Web Services will not onboard new customers * to Amazon Elastic Inference (EI), and will help current customers migrate their * workloads to options that offer better price and performanceIf you don't specify - * a cluster, deault is used.

    + * a cluster, default is used.

    */ inline const Aws::String& GetCluster() const{ return m_cluster; } inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingDefaultRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingDefaultRequest.h index dd0a0eb6c79..ef58edcee89 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingDefaultRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingDefaultRequest.h @@ -66,18 +66,26 @@ namespace Model * them. For more information, see Elastic * Network Interface Trunking in the Amazon Elastic Container Service - * Developer Guide.

  • containerInsights - When - * modified, the default setting indicating whether Amazon Web Services CloudWatch - * Container Insights is turned on for your clusters is changed. If - * containerInsights is turned on, any new clusters that are created - * will have Container Insights turned on unless you disable it during cluster - * creation. For more information, see CloudWatch - * Container Insights in the Amazon Elastic Container Service Developer - * Guide.

  • dualStackIPv6 - When turned on, when - * using a VPC in dual stack mode, your tasks using the awsvpc network - * mode can have an IPv6 address assigned. For more information on using IPv6 with - * tasks launched on Amazon EC2 instances, see .

  • containerInsights - + * Container Insights with enhanced observability provides all the Container + * Insights metrics, plus additional task and container metrics. This version + * supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and + * Fargate launch types. After you configure Container Insights with enhanced + * observability on Amazon ECS, Container Insights auto-collects detailed + * infrastructure telemetry from the cluster level down to the container level in + * your environment and displays these critical performance data in curated + * dashboards removing the heavy lifting in observability set-up.

    To use + * Container Insights with enhanced observability, set the + * containerInsights account setting to enhanced.

    + *

    To use Container Insights, set the containerInsights account + * setting to enabled.

    For more information, see Monitor + * Amazon ECS containers using Container Insights with enhanced observability + * in the Amazon Elastic Container Service Developer Guide.

  • + *

    dualStackIPv6 - When turned on, when using a VPC in dual stack + * mode, your tasks using the awsvpc network mode can have an IPv6 + * address assigned. For more information on using IPv6 with tasks launched on + * Amazon EC2 instances, see Using * a VPC in dual-stack mode. For more information on using IPv6 with tasks * launched on Fargate, see The account setting value for the specified principal ARN. Accepted values - * are enabled, disabled, on, and - * off.

    When you specify + * are enabled, disabled, on, + * enhanced, and off.

    When you specify * fargateTaskRetirementWaitPeriod for the name, the * following are the valid values:

    • 0 - Amazon Web * Services sends the notification, and immediately retires the affected tasks.

      diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingRequest.h index 2315e4cca82..c7e98a85ae1 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingRequest.h @@ -66,18 +66,26 @@ namespace Model * them. For more information, see
      Elastic * Network Interface Trunking in the Amazon Elastic Container Service - * Developer Guide.

    • containerInsights - When - * modified, the default setting indicating whether Amazon Web Services CloudWatch - * Container Insights is turned on for your clusters is changed. If - * containerInsights is turned on, any new clusters that are created - * will have Container Insights turned on unless you disable it during cluster - * creation. For more information, see CloudWatch - * Container Insights in the Amazon Elastic Container Service Developer - * Guide.

    • dualStackIPv6 - When turned on, when - * using a VPC in dual stack mode, your tasks using the awsvpc network - * mode can have an IPv6 address assigned. For more information on using IPv6 with - * tasks launched on Amazon EC2 instances, see .

    • containerInsights - + * Container Insights with enhanced observability provides all the Container + * Insights metrics, plus additional task and container metrics. This version + * supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and + * Fargate launch types. After you configure Container Insights with enhanced + * observability on Amazon ECS, Container Insights auto-collects detailed + * infrastructure telemetry from the cluster level down to the container level in + * your environment and displays these critical performance data in curated + * dashboards removing the heavy lifting in observability set-up.

      To use + * Container Insights with enhanced observability, set the + * containerInsights account setting to enhanced.

      + *

      To use Container Insights, set the containerInsights account + * setting to enabled.

      For more information, see Monitor + * Amazon ECS containers using Container Insights with enhanced observability + * in the Amazon Elastic Container Service Developer Guide.

    • + *

      dualStackIPv6 - When turned on, when using a VPC in dual stack + * mode, your tasks using the awsvpc network mode can have an IPv6 + * address assigned. For more information on using IPv6 with tasks launched on + * Amazon EC2 instances, see Using * a VPC in dual-stack mode. For more information on using IPv6 with tasks * launched on Fargate, see The account setting value for the specified principal ARN. Accepted values - * are enabled, disabled, on, and - * off.

      When you specify + * are enabled, disabled, enhanced, + * on, and off.

      When you specify * fargateTaskRetirementWaitPeriod for the name, the * following are the valid values:

      • 0 - Amazon Web * Services sends the notification, and immediately retires the affected tasks.

        diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonVersionInfo.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonVersionInfo.h index dbc24ec3495..1304d728626 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonVersionInfo.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonVersionInfo.h @@ -68,6 +68,21 @@ namespace Model inline AddonVersionInfo& AddArchitecture(const char* value) { m_architectureHasBeenSet = true; m_architecture.push_back(value); return *this; } ///@} + ///@{ + /** + *

        Indicates the compute type of the addon version.

        + */ + inline const Aws::Vector& GetComputeTypes() const{ return m_computeTypes; } + inline bool ComputeTypesHasBeenSet() const { return m_computeTypesHasBeenSet; } + inline void SetComputeTypes(const Aws::Vector& value) { m_computeTypesHasBeenSet = true; m_computeTypes = value; } + inline void SetComputeTypes(Aws::Vector&& value) { m_computeTypesHasBeenSet = true; m_computeTypes = std::move(value); } + inline AddonVersionInfo& WithComputeTypes(const Aws::Vector& value) { SetComputeTypes(value); return *this;} + inline AddonVersionInfo& WithComputeTypes(Aws::Vector&& value) { SetComputeTypes(std::move(value)); return *this;} + inline AddonVersionInfo& AddComputeTypes(const Aws::String& value) { m_computeTypesHasBeenSet = true; m_computeTypes.push_back(value); return *this; } + inline AddonVersionInfo& AddComputeTypes(Aws::String&& value) { m_computeTypesHasBeenSet = true; m_computeTypes.push_back(std::move(value)); return *this; } + inline AddonVersionInfo& AddComputeTypes(const char* value) { m_computeTypesHasBeenSet = true; m_computeTypes.push_back(value); return *this; } + ///@} + ///@{ /** *

        An object representing the compatibilities of a version.

        @@ -110,6 +125,9 @@ namespace Model Aws::Vector m_architecture; bool m_architectureHasBeenSet = false; + Aws::Vector m_computeTypes; + bool m_computeTypesHasBeenSet = false; + Aws::Vector m_compatibilities; bool m_compatibilitiesHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/BlockStorage.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/BlockStorage.h new file mode 100644 index 00000000000..fede6c179ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/BlockStorage.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + + /** + *

        Indicates the current configuration of the block storage capability on your + * EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If + * the block storage capability is enabled, EKS Auto Mode will create and delete + * EBS volumes in your Amazon Web Services account. For more information, see EKS + * Auto Mode block storage capability in the EKS User Guide.

        See + * Also:

        AWS + * API Reference

        + */ + class BlockStorage + { + public: + AWS_EKS_API BlockStorage(); + AWS_EKS_API BlockStorage(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API BlockStorage& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Indicates if the block storage capability is enabled on your EKS Auto Mode + * cluster. If the block storage capability is enabled, EKS Auto Mode will create + * and delete EBS volumes in your Amazon Web Services account.

        + */ + inline bool GetEnabled() const{ return m_enabled; } + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + inline BlockStorage& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + private: + + bool m_enabled; + bool m_enabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Cluster.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Cluster.h index 8f7edb2d845..253d75a7499 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Cluster.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Cluster.h @@ -21,6 +21,9 @@ #include #include #include +#include +#include +#include #include #include @@ -378,6 +381,51 @@ namespace Model inline Cluster& WithZonalShiftConfig(const ZonalShiftConfigResponse& value) { SetZonalShiftConfig(value); return *this;} inline Cluster& WithZonalShiftConfig(ZonalShiftConfigResponse&& value) { SetZonalShiftConfig(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        The configuration in the cluster for EKS Hybrid Nodes. You can't change or + * update this configuration after the cluster is created.

        + */ + inline const RemoteNetworkConfigResponse& GetRemoteNetworkConfig() const{ return m_remoteNetworkConfig; } + inline bool RemoteNetworkConfigHasBeenSet() const { return m_remoteNetworkConfigHasBeenSet; } + inline void SetRemoteNetworkConfig(const RemoteNetworkConfigResponse& value) { m_remoteNetworkConfigHasBeenSet = true; m_remoteNetworkConfig = value; } + inline void SetRemoteNetworkConfig(RemoteNetworkConfigResponse&& value) { m_remoteNetworkConfigHasBeenSet = true; m_remoteNetworkConfig = std::move(value); } + inline Cluster& WithRemoteNetworkConfig(const RemoteNetworkConfigResponse& value) { SetRemoteNetworkConfig(value); return *this;} + inline Cluster& WithRemoteNetworkConfig(RemoteNetworkConfigResponse&& value) { SetRemoteNetworkConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Indicates the current configuration of the compute capability on your EKS + * Auto Mode cluster. For example, if the capability is enabled or disabled. If the + * compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed + * Instances in your Amazon Web Services account. For more information, see EKS + * Auto Mode compute capability in the EKS User Guide.

        + */ + inline const ComputeConfigResponse& GetComputeConfig() const{ return m_computeConfig; } + inline bool ComputeConfigHasBeenSet() const { return m_computeConfigHasBeenSet; } + inline void SetComputeConfig(const ComputeConfigResponse& value) { m_computeConfigHasBeenSet = true; m_computeConfig = value; } + inline void SetComputeConfig(ComputeConfigResponse&& value) { m_computeConfigHasBeenSet = true; m_computeConfig = std::move(value); } + inline Cluster& WithComputeConfig(const ComputeConfigResponse& value) { SetComputeConfig(value); return *this;} + inline Cluster& WithComputeConfig(ComputeConfigResponse&& value) { SetComputeConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Indicates the current configuration of the block storage capability on your + * EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If + * the block storage capability is enabled, EKS Auto Mode will create and delete + * EBS volumes in your Amazon Web Services account. For more information, see EKS + * Auto Mode block storage capability in the EKS User Guide.

        + */ + inline const StorageConfigResponse& GetStorageConfig() const{ return m_storageConfig; } + inline bool StorageConfigHasBeenSet() const { return m_storageConfigHasBeenSet; } + inline void SetStorageConfig(const StorageConfigResponse& value) { m_storageConfigHasBeenSet = true; m_storageConfig = value; } + inline void SetStorageConfig(StorageConfigResponse&& value) { m_storageConfigHasBeenSet = true; m_storageConfig = std::move(value); } + inline Cluster& WithStorageConfig(const StorageConfigResponse& value) { SetStorageConfig(value); return *this;} + inline Cluster& WithStorageConfig(StorageConfigResponse&& value) { SetStorageConfig(std::move(value)); return *this;} + ///@} private: Aws::String m_name; @@ -448,6 +496,15 @@ namespace Model ZonalShiftConfigResponse m_zonalShiftConfig; bool m_zonalShiftConfigHasBeenSet = false; + + RemoteNetworkConfigResponse m_remoteNetworkConfig; + bool m_remoteNetworkConfigHasBeenSet = false; + + ComputeConfigResponse m_computeConfig; + bool m_computeConfigHasBeenSet = false; + + StorageConfigResponse m_storageConfig; + bool m_storageConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigRequest.h new file mode 100644 index 00000000000..3ae5e42ab0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigRequest.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + + /** + *

        Request to update the configuration of the compute capability of your EKS + * Auto Mode cluster. For example, enable the capability. For more information, see + * EKS Auto Mode compute capability in the EKS User Guide.

        See Also:

        + * AWS + * API Reference

        + */ + class ComputeConfigRequest + { + public: + AWS_EKS_API ComputeConfigRequest(); + AWS_EKS_API ComputeConfigRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API ComputeConfigRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Request to enable or disable the compute capability on your EKS Auto Mode + * cluster. If the compute capability is enabled, EKS Auto Mode will create and + * delete EC2 Managed Instances in your Amazon Web Services account.

        + */ + inline bool GetEnabled() const{ return m_enabled; } + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + inline ComputeConfigRequest& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + + ///@{ + /** + *

        Configuration for node pools that defines the compute resources for your EKS + * Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the EKS + * User Guide.

        + */ + inline const Aws::Vector& GetNodePools() const{ return m_nodePools; } + inline bool NodePoolsHasBeenSet() const { return m_nodePoolsHasBeenSet; } + inline void SetNodePools(const Aws::Vector& value) { m_nodePoolsHasBeenSet = true; m_nodePools = value; } + inline void SetNodePools(Aws::Vector&& value) { m_nodePoolsHasBeenSet = true; m_nodePools = std::move(value); } + inline ComputeConfigRequest& WithNodePools(const Aws::Vector& value) { SetNodePools(value); return *this;} + inline ComputeConfigRequest& WithNodePools(Aws::Vector&& value) { SetNodePools(std::move(value)); return *this;} + inline ComputeConfigRequest& AddNodePools(const Aws::String& value) { m_nodePoolsHasBeenSet = true; m_nodePools.push_back(value); return *this; } + inline ComputeConfigRequest& AddNodePools(Aws::String&& value) { m_nodePoolsHasBeenSet = true; m_nodePools.push_back(std::move(value)); return *this; } + inline ComputeConfigRequest& AddNodePools(const char* value) { m_nodePoolsHasBeenSet = true; m_nodePools.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS + * Auto Mode cluster. This value cannot be changed after the compute capability of + * EKS Auto Mode is enabled. For more information, see the IAM Reference in the EKS + * User Guide.

        + */ + inline const Aws::String& GetNodeRoleArn() const{ return m_nodeRoleArn; } + inline bool NodeRoleArnHasBeenSet() const { return m_nodeRoleArnHasBeenSet; } + inline void SetNodeRoleArn(const Aws::String& value) { m_nodeRoleArnHasBeenSet = true; m_nodeRoleArn = value; } + inline void SetNodeRoleArn(Aws::String&& value) { m_nodeRoleArnHasBeenSet = true; m_nodeRoleArn = std::move(value); } + inline void SetNodeRoleArn(const char* value) { m_nodeRoleArnHasBeenSet = true; m_nodeRoleArn.assign(value); } + inline ComputeConfigRequest& WithNodeRoleArn(const Aws::String& value) { SetNodeRoleArn(value); return *this;} + inline ComputeConfigRequest& WithNodeRoleArn(Aws::String&& value) { SetNodeRoleArn(std::move(value)); return *this;} + inline ComputeConfigRequest& WithNodeRoleArn(const char* value) { SetNodeRoleArn(value); return *this;} + ///@} + private: + + bool m_enabled; + bool m_enabledHasBeenSet = false; + + Aws::Vector m_nodePools; + bool m_nodePoolsHasBeenSet = false; + + Aws::String m_nodeRoleArn; + bool m_nodeRoleArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigResponse.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigResponse.h new file mode 100644 index 00000000000..1255e994664 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigResponse.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + + /** + *

        Indicates the status of the request to update the compute capability of your + * EKS Auto Mode cluster.

        See Also:

        AWS + * API Reference

        + */ + class ComputeConfigResponse + { + public: + AWS_EKS_API ComputeConfigResponse(); + AWS_EKS_API ComputeConfigResponse(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API ComputeConfigResponse& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Indicates if the compute capability is enabled on your EKS Auto Mode cluster. + * If the compute capability is enabled, EKS Auto Mode will create and delete EC2 + * Managed Instances in your Amazon Web Services account.

        + */ + inline bool GetEnabled() const{ return m_enabled; } + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + inline ComputeConfigResponse& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + + ///@{ + /** + *

        Indicates the current configuration of node pools in your EKS Auto Mode + * cluster. For more information, see EKS Auto Mode Node Pools in the EKS User + * Guide.

        + */ + inline const Aws::Vector& GetNodePools() const{ return m_nodePools; } + inline bool NodePoolsHasBeenSet() const { return m_nodePoolsHasBeenSet; } + inline void SetNodePools(const Aws::Vector& value) { m_nodePoolsHasBeenSet = true; m_nodePools = value; } + inline void SetNodePools(Aws::Vector&& value) { m_nodePoolsHasBeenSet = true; m_nodePools = std::move(value); } + inline ComputeConfigResponse& WithNodePools(const Aws::Vector& value) { SetNodePools(value); return *this;} + inline ComputeConfigResponse& WithNodePools(Aws::Vector&& value) { SetNodePools(std::move(value)); return *this;} + inline ComputeConfigResponse& AddNodePools(const Aws::String& value) { m_nodePoolsHasBeenSet = true; m_nodePools.push_back(value); return *this; } + inline ComputeConfigResponse& AddNodePools(Aws::String&& value) { m_nodePoolsHasBeenSet = true; m_nodePools.push_back(std::move(value)); return *this; } + inline ComputeConfigResponse& AddNodePools(const char* value) { m_nodePoolsHasBeenSet = true; m_nodePools.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS + * Auto Mode cluster.

        + */ + inline const Aws::String& GetNodeRoleArn() const{ return m_nodeRoleArn; } + inline bool NodeRoleArnHasBeenSet() const { return m_nodeRoleArnHasBeenSet; } + inline void SetNodeRoleArn(const Aws::String& value) { m_nodeRoleArnHasBeenSet = true; m_nodeRoleArn = value; } + inline void SetNodeRoleArn(Aws::String&& value) { m_nodeRoleArnHasBeenSet = true; m_nodeRoleArn = std::move(value); } + inline void SetNodeRoleArn(const char* value) { m_nodeRoleArnHasBeenSet = true; m_nodeRoleArn.assign(value); } + inline ComputeConfigResponse& WithNodeRoleArn(const Aws::String& value) { SetNodeRoleArn(value); return *this;} + inline ComputeConfigResponse& WithNodeRoleArn(Aws::String&& value) { SetNodeRoleArn(std::move(value)); return *this;} + inline ComputeConfigResponse& WithNodeRoleArn(const char* value) { SetNodeRoleArn(value); return *this;} + ///@} + private: + + bool m_enabled; + bool m_enabledHasBeenSet = false; + + Aws::Vector m_nodePools; + bool m_nodePoolsHasBeenSet = false; + + Aws::String m_nodeRoleArn; + bool m_nodeRoleArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateClusterRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateClusterRequest.h index dce0888a95b..3d8b5dd6705 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateClusterRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateClusterRequest.h @@ -16,6 +16,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -282,6 +285,47 @@ namespace Model inline CreateClusterRequest& WithZonalShiftConfig(const ZonalShiftConfigRequest& value) { SetZonalShiftConfig(value); return *this;} inline CreateClusterRequest& WithZonalShiftConfig(ZonalShiftConfigRequest&& value) { SetZonalShiftConfig(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        The configuration in the cluster for EKS Hybrid Nodes. You can't change or + * update this configuration after the cluster is created.

        + */ + inline const RemoteNetworkConfigRequest& GetRemoteNetworkConfig() const{ return m_remoteNetworkConfig; } + inline bool RemoteNetworkConfigHasBeenSet() const { return m_remoteNetworkConfigHasBeenSet; } + inline void SetRemoteNetworkConfig(const RemoteNetworkConfigRequest& value) { m_remoteNetworkConfigHasBeenSet = true; m_remoteNetworkConfig = value; } + inline void SetRemoteNetworkConfig(RemoteNetworkConfigRequest&& value) { m_remoteNetworkConfigHasBeenSet = true; m_remoteNetworkConfig = std::move(value); } + inline CreateClusterRequest& WithRemoteNetworkConfig(const RemoteNetworkConfigRequest& value) { SetRemoteNetworkConfig(value); return *this;} + inline CreateClusterRequest& WithRemoteNetworkConfig(RemoteNetworkConfigRequest&& value) { SetRemoteNetworkConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Enable or disable the compute capability of EKS Auto Mode when creating your + * EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will + * create and delete EC2 Managed Instances in your Amazon Web Services account

        + */ + inline const ComputeConfigRequest& GetComputeConfig() const{ return m_computeConfig; } + inline bool ComputeConfigHasBeenSet() const { return m_computeConfigHasBeenSet; } + inline void SetComputeConfig(const ComputeConfigRequest& value) { m_computeConfigHasBeenSet = true; m_computeConfig = value; } + inline void SetComputeConfig(ComputeConfigRequest&& value) { m_computeConfigHasBeenSet = true; m_computeConfig = std::move(value); } + inline CreateClusterRequest& WithComputeConfig(const ComputeConfigRequest& value) { SetComputeConfig(value); return *this;} + inline CreateClusterRequest& WithComputeConfig(ComputeConfigRequest&& value) { SetComputeConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Enable or disable the block storage capability of EKS Auto Mode when creating + * your EKS Auto Mode cluster. If the block storage capability is enabled, EKS Auto + * Mode will create and delete EBS volumes in your Amazon Web Services account.

        + */ + inline const StorageConfigRequest& GetStorageConfig() const{ return m_storageConfig; } + inline bool StorageConfigHasBeenSet() const { return m_storageConfigHasBeenSet; } + inline void SetStorageConfig(const StorageConfigRequest& value) { m_storageConfigHasBeenSet = true; m_storageConfig = value; } + inline void SetStorageConfig(StorageConfigRequest&& value) { m_storageConfigHasBeenSet = true; m_storageConfig = std::move(value); } + inline CreateClusterRequest& WithStorageConfig(const StorageConfigRequest& value) { SetStorageConfig(value); return *this;} + inline CreateClusterRequest& WithStorageConfig(StorageConfigRequest&& value) { SetStorageConfig(std::move(value)); return *this;} + ///@} private: Aws::String m_name; @@ -325,6 +369,15 @@ namespace Model ZonalShiftConfigRequest m_zonalShiftConfig; bool m_zonalShiftConfigHasBeenSet = false; + + RemoteNetworkConfigRequest m_remoteNetworkConfig; + bool m_remoteNetworkConfigHasBeenSet = false; + + ComputeConfigRequest m_computeConfig; + bool m_computeConfigHasBeenSet = false; + + StorageConfigRequest m_storageConfig; + bool m_storageConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ElasticLoadBalancing.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ElasticLoadBalancing.h new file mode 100644 index 00000000000..6d86fbc60e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ElasticLoadBalancing.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + + /** + *

        Indicates the current configuration of the load balancing capability on your + * EKS Auto Mode cluster. For example, if the capability is enabled or disabled. + * For more information, see EKS Auto Mode load balancing capability in the EKS + * User Guide.

        See Also:

        AWS + * API Reference

        + */ + class ElasticLoadBalancing + { + public: + AWS_EKS_API ElasticLoadBalancing(); + AWS_EKS_API ElasticLoadBalancing(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API ElasticLoadBalancing& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Indicates if the load balancing capability is enabled on your EKS Auto Mode + * cluster. If the load balancing capability is enabled, EKS Auto Mode will create + * and delete load balancers in your Amazon Web Services account.

        + */ + inline bool GetEnabled() const{ return m_enabled; } + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + inline ElasticLoadBalancing& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + private: + + bool m_enabled; + bool m_enabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigRequest.h index a083dbd94ab..c212b27ba5a 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -91,6 +92,20 @@ namespace Model inline KubernetesNetworkConfigRequest& WithIpFamily(const IpFamily& value) { SetIpFamily(value); return *this;} inline KubernetesNetworkConfigRequest& WithIpFamily(IpFamily&& value) { SetIpFamily(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        Request to enable or disable the load balancing capability on your EKS Auto + * Mode cluster. For more information, see EKS Auto Mode load balancing capability + * in the EKS User Guide.

        + */ + inline const ElasticLoadBalancing& GetElasticLoadBalancing() const{ return m_elasticLoadBalancing; } + inline bool ElasticLoadBalancingHasBeenSet() const { return m_elasticLoadBalancingHasBeenSet; } + inline void SetElasticLoadBalancing(const ElasticLoadBalancing& value) { m_elasticLoadBalancingHasBeenSet = true; m_elasticLoadBalancing = value; } + inline void SetElasticLoadBalancing(ElasticLoadBalancing&& value) { m_elasticLoadBalancingHasBeenSet = true; m_elasticLoadBalancing = std::move(value); } + inline KubernetesNetworkConfigRequest& WithElasticLoadBalancing(const ElasticLoadBalancing& value) { SetElasticLoadBalancing(value); return *this;} + inline KubernetesNetworkConfigRequest& WithElasticLoadBalancing(ElasticLoadBalancing&& value) { SetElasticLoadBalancing(std::move(value)); return *this;} + ///@} private: Aws::String m_serviceIpv4Cidr; @@ -98,6 +113,9 @@ namespace Model IpFamily m_ipFamily; bool m_ipFamilyHasBeenSet = false; + + ElasticLoadBalancing m_elasticLoadBalancing; + bool m_elasticLoadBalancingHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigResponse.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigResponse.h index f28022eb01d..702efeeca02 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigResponse.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigResponse.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -94,6 +95,20 @@ namespace Model inline KubernetesNetworkConfigResponse& WithIpFamily(const IpFamily& value) { SetIpFamily(value); return *this;} inline KubernetesNetworkConfigResponse& WithIpFamily(IpFamily&& value) { SetIpFamily(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        Indicates the current configuration of the load balancing capability on your + * EKS Auto Mode cluster. For example, if the capability is enabled or + * disabled.

        + */ + inline const ElasticLoadBalancing& GetElasticLoadBalancing() const{ return m_elasticLoadBalancing; } + inline bool ElasticLoadBalancingHasBeenSet() const { return m_elasticLoadBalancingHasBeenSet; } + inline void SetElasticLoadBalancing(const ElasticLoadBalancing& value) { m_elasticLoadBalancingHasBeenSet = true; m_elasticLoadBalancing = value; } + inline void SetElasticLoadBalancing(ElasticLoadBalancing&& value) { m_elasticLoadBalancingHasBeenSet = true; m_elasticLoadBalancing = std::move(value); } + inline KubernetesNetworkConfigResponse& WithElasticLoadBalancing(const ElasticLoadBalancing& value) { SetElasticLoadBalancing(value); return *this;} + inline KubernetesNetworkConfigResponse& WithElasticLoadBalancing(ElasticLoadBalancing&& value) { SetElasticLoadBalancing(std::move(value)); return *this;} + ///@} private: Aws::String m_serviceIpv4Cidr; @@ -104,6 +119,9 @@ namespace Model IpFamily m_ipFamily; bool m_ipFamilyHasBeenSet = false; + + ElasticLoadBalancing m_elasticLoadBalancing; + bool m_elasticLoadBalancingHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigRequest.h new file mode 100644 index 00000000000..da004b731aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigRequest.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + + /** + *

        The configuration in the cluster for EKS Hybrid Nodes. You can't change or + * update this configuration after the cluster is created.

        See Also:

        + * AWS + * API Reference

        + */ + class RemoteNetworkConfigRequest + { + public: + AWS_EKS_API RemoteNetworkConfigRequest(); + AWS_EKS_API RemoteNetworkConfigRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API RemoteNetworkConfigRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The list of network CIDRs that can contain hybrid nodes.

        + */ + inline const Aws::Vector& GetRemoteNodeNetworks() const{ return m_remoteNodeNetworks; } + inline bool RemoteNodeNetworksHasBeenSet() const { return m_remoteNodeNetworksHasBeenSet; } + inline void SetRemoteNodeNetworks(const Aws::Vector& value) { m_remoteNodeNetworksHasBeenSet = true; m_remoteNodeNetworks = value; } + inline void SetRemoteNodeNetworks(Aws::Vector&& value) { m_remoteNodeNetworksHasBeenSet = true; m_remoteNodeNetworks = std::move(value); } + inline RemoteNetworkConfigRequest& WithRemoteNodeNetworks(const Aws::Vector& value) { SetRemoteNodeNetworks(value); return *this;} + inline RemoteNetworkConfigRequest& WithRemoteNodeNetworks(Aws::Vector&& value) { SetRemoteNodeNetworks(std::move(value)); return *this;} + inline RemoteNetworkConfigRequest& AddRemoteNodeNetworks(const RemoteNodeNetwork& value) { m_remoteNodeNetworksHasBeenSet = true; m_remoteNodeNetworks.push_back(value); return *this; } + inline RemoteNetworkConfigRequest& AddRemoteNodeNetworks(RemoteNodeNetwork&& value) { m_remoteNodeNetworksHasBeenSet = true; m_remoteNodeNetworks.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The list of network CIDRs that can contain pods that run Kubernetes webhooks + * on hybrid nodes.

        + */ + inline const Aws::Vector& GetRemotePodNetworks() const{ return m_remotePodNetworks; } + inline bool RemotePodNetworksHasBeenSet() const { return m_remotePodNetworksHasBeenSet; } + inline void SetRemotePodNetworks(const Aws::Vector& value) { m_remotePodNetworksHasBeenSet = true; m_remotePodNetworks = value; } + inline void SetRemotePodNetworks(Aws::Vector&& value) { m_remotePodNetworksHasBeenSet = true; m_remotePodNetworks = std::move(value); } + inline RemoteNetworkConfigRequest& WithRemotePodNetworks(const Aws::Vector& value) { SetRemotePodNetworks(value); return *this;} + inline RemoteNetworkConfigRequest& WithRemotePodNetworks(Aws::Vector&& value) { SetRemotePodNetworks(std::move(value)); return *this;} + inline RemoteNetworkConfigRequest& AddRemotePodNetworks(const RemotePodNetwork& value) { m_remotePodNetworksHasBeenSet = true; m_remotePodNetworks.push_back(value); return *this; } + inline RemoteNetworkConfigRequest& AddRemotePodNetworks(RemotePodNetwork&& value) { m_remotePodNetworksHasBeenSet = true; m_remotePodNetworks.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_remoteNodeNetworks; + bool m_remoteNodeNetworksHasBeenSet = false; + + Aws::Vector m_remotePodNetworks; + bool m_remotePodNetworksHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigResponse.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigResponse.h new file mode 100644 index 00000000000..c21c91abc26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigResponse.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + + /** + *

        The configuration in the cluster for EKS Hybrid Nodes. You can't change or + * update this configuration after the cluster is created.

        See Also:

        + * AWS + * API Reference

        + */ + class RemoteNetworkConfigResponse + { + public: + AWS_EKS_API RemoteNetworkConfigResponse(); + AWS_EKS_API RemoteNetworkConfigResponse(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API RemoteNetworkConfigResponse& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The list of network CIDRs that can contain hybrid nodes.

        + */ + inline const Aws::Vector& GetRemoteNodeNetworks() const{ return m_remoteNodeNetworks; } + inline bool RemoteNodeNetworksHasBeenSet() const { return m_remoteNodeNetworksHasBeenSet; } + inline void SetRemoteNodeNetworks(const Aws::Vector& value) { m_remoteNodeNetworksHasBeenSet = true; m_remoteNodeNetworks = value; } + inline void SetRemoteNodeNetworks(Aws::Vector&& value) { m_remoteNodeNetworksHasBeenSet = true; m_remoteNodeNetworks = std::move(value); } + inline RemoteNetworkConfigResponse& WithRemoteNodeNetworks(const Aws::Vector& value) { SetRemoteNodeNetworks(value); return *this;} + inline RemoteNetworkConfigResponse& WithRemoteNodeNetworks(Aws::Vector&& value) { SetRemoteNodeNetworks(std::move(value)); return *this;} + inline RemoteNetworkConfigResponse& AddRemoteNodeNetworks(const RemoteNodeNetwork& value) { m_remoteNodeNetworksHasBeenSet = true; m_remoteNodeNetworks.push_back(value); return *this; } + inline RemoteNetworkConfigResponse& AddRemoteNodeNetworks(RemoteNodeNetwork&& value) { m_remoteNodeNetworksHasBeenSet = true; m_remoteNodeNetworks.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The list of network CIDRs that can contain pods that run Kubernetes webhooks + * on hybrid nodes.

        + */ + inline const Aws::Vector& GetRemotePodNetworks() const{ return m_remotePodNetworks; } + inline bool RemotePodNetworksHasBeenSet() const { return m_remotePodNetworksHasBeenSet; } + inline void SetRemotePodNetworks(const Aws::Vector& value) { m_remotePodNetworksHasBeenSet = true; m_remotePodNetworks = value; } + inline void SetRemotePodNetworks(Aws::Vector&& value) { m_remotePodNetworksHasBeenSet = true; m_remotePodNetworks = std::move(value); } + inline RemoteNetworkConfigResponse& WithRemotePodNetworks(const Aws::Vector& value) { SetRemotePodNetworks(value); return *this;} + inline RemoteNetworkConfigResponse& WithRemotePodNetworks(Aws::Vector&& value) { SetRemotePodNetworks(std::move(value)); return *this;} + inline RemoteNetworkConfigResponse& AddRemotePodNetworks(const RemotePodNetwork& value) { m_remotePodNetworksHasBeenSet = true; m_remotePodNetworks.push_back(value); return *this; } + inline RemoteNetworkConfigResponse& AddRemotePodNetworks(RemotePodNetwork&& value) { m_remotePodNetworksHasBeenSet = true; m_remotePodNetworks.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_remoteNodeNetworks; + bool m_remoteNodeNetworksHasBeenSet = false; + + Aws::Vector m_remotePodNetworks; + bool m_remotePodNetworksHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNodeNetwork.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNodeNetwork.h new file mode 100644 index 00000000000..48a4f33ccc7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNodeNetwork.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + + /** + *

        A network CIDR that can contain hybrid nodes.

        See Also:

        AWS + * API Reference

        + */ + class RemoteNodeNetwork + { + public: + AWS_EKS_API RemoteNodeNetwork(); + AWS_EKS_API RemoteNodeNetwork(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API RemoteNodeNetwork& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        A network CIDR that can contain hybrid nodes.

        + */ + inline const Aws::Vector& GetCidrs() const{ return m_cidrs; } + inline bool CidrsHasBeenSet() const { return m_cidrsHasBeenSet; } + inline void SetCidrs(const Aws::Vector& value) { m_cidrsHasBeenSet = true; m_cidrs = value; } + inline void SetCidrs(Aws::Vector&& value) { m_cidrsHasBeenSet = true; m_cidrs = std::move(value); } + inline RemoteNodeNetwork& WithCidrs(const Aws::Vector& value) { SetCidrs(value); return *this;} + inline RemoteNodeNetwork& WithCidrs(Aws::Vector&& value) { SetCidrs(std::move(value)); return *this;} + inline RemoteNodeNetwork& AddCidrs(const Aws::String& value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(value); return *this; } + inline RemoteNodeNetwork& AddCidrs(Aws::String&& value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(std::move(value)); return *this; } + inline RemoteNodeNetwork& AddCidrs(const char* value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_cidrs; + bool m_cidrsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemotePodNetwork.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemotePodNetwork.h new file mode 100644 index 00000000000..49dca992ebc --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemotePodNetwork.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + + /** + *

        A network CIDR that can contain pods that run Kubernetes webhooks on hybrid + * nodes.

        See Also:

        AWS + * API Reference

        + */ + class RemotePodNetwork + { + public: + AWS_EKS_API RemotePodNetwork(); + AWS_EKS_API RemotePodNetwork(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API RemotePodNetwork& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        A network CIDR that can contain pods that run Kubernetes webhooks on hybrid + * nodes.

        + */ + inline const Aws::Vector& GetCidrs() const{ return m_cidrs; } + inline bool CidrsHasBeenSet() const { return m_cidrsHasBeenSet; } + inline void SetCidrs(const Aws::Vector& value) { m_cidrsHasBeenSet = true; m_cidrs = value; } + inline void SetCidrs(Aws::Vector&& value) { m_cidrsHasBeenSet = true; m_cidrs = std::move(value); } + inline RemotePodNetwork& WithCidrs(const Aws::Vector& value) { SetCidrs(value); return *this;} + inline RemotePodNetwork& WithCidrs(Aws::Vector&& value) { SetCidrs(std::move(value)); return *this;} + inline RemotePodNetwork& AddCidrs(const Aws::String& value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(value); return *this; } + inline RemotePodNetwork& AddCidrs(Aws::String&& value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(std::move(value)); return *this; } + inline RemotePodNetwork& AddCidrs(const char* value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_cidrs; + bool m_cidrsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigRequest.h new file mode 100644 index 00000000000..01e6adc3afa --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigRequest.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + + /** + *

        Request to update the configuration of the storage capability of your EKS + * Auto Mode cluster. For example, enable the capability. For more information, see + * EKS Auto Mode block storage capability in the EKS User Guide.

        See + * Also:

        AWS + * API Reference

        + */ + class StorageConfigRequest + { + public: + AWS_EKS_API StorageConfigRequest(); + AWS_EKS_API StorageConfigRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API StorageConfigRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Request to configure EBS Block Storage settings for your EKS Auto Mode + * cluster.

        + */ + inline const BlockStorage& GetBlockStorage() const{ return m_blockStorage; } + inline bool BlockStorageHasBeenSet() const { return m_blockStorageHasBeenSet; } + inline void SetBlockStorage(const BlockStorage& value) { m_blockStorageHasBeenSet = true; m_blockStorage = value; } + inline void SetBlockStorage(BlockStorage&& value) { m_blockStorageHasBeenSet = true; m_blockStorage = std::move(value); } + inline StorageConfigRequest& WithBlockStorage(const BlockStorage& value) { SetBlockStorage(value); return *this;} + inline StorageConfigRequest& WithBlockStorage(BlockStorage&& value) { SetBlockStorage(std::move(value)); return *this;} + ///@} + private: + + BlockStorage m_blockStorage; + bool m_blockStorageHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigResponse.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigResponse.h new file mode 100644 index 00000000000..1bf8d078c14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigResponse.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + + /** + *

        Indicates the status of the request to update the block storage capability of + * your EKS Auto Mode cluster.

        See Also:

        AWS + * API Reference

        + */ + class StorageConfigResponse + { + public: + AWS_EKS_API StorageConfigResponse(); + AWS_EKS_API StorageConfigResponse(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API StorageConfigResponse& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Indicates the current configuration of the block storage capability on your + * EKS Auto Mode cluster. For example, if the capability is enabled or + * disabled.

        + */ + inline const BlockStorage& GetBlockStorage() const{ return m_blockStorage; } + inline bool BlockStorageHasBeenSet() const { return m_blockStorageHasBeenSet; } + inline void SetBlockStorage(const BlockStorage& value) { m_blockStorageHasBeenSet = true; m_blockStorage = value; } + inline void SetBlockStorage(BlockStorage&& value) { m_blockStorageHasBeenSet = true; m_blockStorage = std::move(value); } + inline StorageConfigResponse& WithBlockStorage(const BlockStorage& value) { SetBlockStorage(value); return *this;} + inline StorageConfigResponse& WithBlockStorage(BlockStorage&& value) { SetBlockStorage(std::move(value)); return *this;} + ///@} + private: + + BlockStorage m_blockStorage; + bool m_blockStorageHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateClusterConfigRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateClusterConfigRequest.h index 928468e36ab..964c8776a32 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateClusterConfigRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateClusterConfigRequest.h @@ -12,6 +12,9 @@ #include #include #include +#include +#include +#include #include #include @@ -149,6 +152,42 @@ namespace Model inline UpdateClusterConfigRequest& WithZonalShiftConfig(const ZonalShiftConfigRequest& value) { SetZonalShiftConfig(value); return *this;} inline UpdateClusterConfigRequest& WithZonalShiftConfig(ZonalShiftConfigRequest&& value) { SetZonalShiftConfig(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        Update the configuration of the compute capability of your EKS Auto Mode + * cluster. For example, enable the capability.

        + */ + inline const ComputeConfigRequest& GetComputeConfig() const{ return m_computeConfig; } + inline bool ComputeConfigHasBeenSet() const { return m_computeConfigHasBeenSet; } + inline void SetComputeConfig(const ComputeConfigRequest& value) { m_computeConfigHasBeenSet = true; m_computeConfig = value; } + inline void SetComputeConfig(ComputeConfigRequest&& value) { m_computeConfigHasBeenSet = true; m_computeConfig = std::move(value); } + inline UpdateClusterConfigRequest& WithComputeConfig(const ComputeConfigRequest& value) { SetComputeConfig(value); return *this;} + inline UpdateClusterConfigRequest& WithComputeConfig(ComputeConfigRequest&& value) { SetComputeConfig(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const KubernetesNetworkConfigRequest& GetKubernetesNetworkConfig() const{ return m_kubernetesNetworkConfig; } + inline bool KubernetesNetworkConfigHasBeenSet() const { return m_kubernetesNetworkConfigHasBeenSet; } + inline void SetKubernetesNetworkConfig(const KubernetesNetworkConfigRequest& value) { m_kubernetesNetworkConfigHasBeenSet = true; m_kubernetesNetworkConfig = value; } + inline void SetKubernetesNetworkConfig(KubernetesNetworkConfigRequest&& value) { m_kubernetesNetworkConfigHasBeenSet = true; m_kubernetesNetworkConfig = std::move(value); } + inline UpdateClusterConfigRequest& WithKubernetesNetworkConfig(const KubernetesNetworkConfigRequest& value) { SetKubernetesNetworkConfig(value); return *this;} + inline UpdateClusterConfigRequest& WithKubernetesNetworkConfig(KubernetesNetworkConfigRequest&& value) { SetKubernetesNetworkConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Update the configuration of the block storage capability of your EKS Auto + * Mode cluster. For example, enable the capability.

        + */ + inline const StorageConfigRequest& GetStorageConfig() const{ return m_storageConfig; } + inline bool StorageConfigHasBeenSet() const { return m_storageConfigHasBeenSet; } + inline void SetStorageConfig(const StorageConfigRequest& value) { m_storageConfigHasBeenSet = true; m_storageConfig = value; } + inline void SetStorageConfig(StorageConfigRequest&& value) { m_storageConfigHasBeenSet = true; m_storageConfig = std::move(value); } + inline UpdateClusterConfigRequest& WithStorageConfig(const StorageConfigRequest& value) { SetStorageConfig(value); return *this;} + inline UpdateClusterConfigRequest& WithStorageConfig(StorageConfigRequest&& value) { SetStorageConfig(std::move(value)); return *this;} + ///@} private: Aws::String m_name; @@ -171,6 +210,15 @@ namespace Model ZonalShiftConfigRequest m_zonalShiftConfig; bool m_zonalShiftConfigHasBeenSet = false; + + ComputeConfigRequest m_computeConfig; + bool m_computeConfigHasBeenSet = false; + + KubernetesNetworkConfigRequest m_kubernetesNetworkConfig; + bool m_kubernetesNetworkConfigHasBeenSet = false; + + StorageConfigRequest m_storageConfig; + bool m_storageConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateParamType.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateParamType.h index 0b3a3c3411a..c4e1718f5ae 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateParamType.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateParamType.h @@ -45,7 +45,10 @@ namespace Model AuthenticationMode, PodIdentityAssociations, UpgradePolicy, - ZonalShiftConfig + ZonalShiftConfig, + ComputeConfig, + StorageConfig, + KubernetesNetworkConfig }; namespace UpdateParamTypeMapper diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateType.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateType.h index f83aa70eec4..bf4042de4b2 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateType.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateType.h @@ -27,7 +27,8 @@ namespace Model VpcConfigUpdate, AccessConfigUpdate, UpgradePolicyUpdate, - ZonalShiftConfigUpdate + ZonalShiftConfigUpdate, + AutoModeUpdate }; namespace UpdateTypeMapper diff --git a/generated/src/aws-cpp-sdk-eks/source/model/AddonVersionInfo.cpp b/generated/src/aws-cpp-sdk-eks/source/model/AddonVersionInfo.cpp index 792d672780f..7de638ee0ed 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/AddonVersionInfo.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/AddonVersionInfo.cpp @@ -21,6 +21,7 @@ namespace Model AddonVersionInfo::AddonVersionInfo() : m_addonVersionHasBeenSet(false), m_architectureHasBeenSet(false), + m_computeTypesHasBeenSet(false), m_compatibilitiesHasBeenSet(false), m_requiresConfiguration(false), m_requiresConfigurationHasBeenSet(false), @@ -54,6 +55,16 @@ AddonVersionInfo& AddonVersionInfo::operator =(JsonView jsonValue) m_architectureHasBeenSet = true; } + if(jsonValue.ValueExists("computeTypes")) + { + Aws::Utils::Array computeTypesJsonList = jsonValue.GetArray("computeTypes"); + for(unsigned computeTypesIndex = 0; computeTypesIndex < computeTypesJsonList.GetLength(); ++computeTypesIndex) + { + m_computeTypes.push_back(computeTypesJsonList[computeTypesIndex].AsString()); + } + m_computeTypesHasBeenSet = true; + } + if(jsonValue.ValueExists("compatibilities")) { Aws::Utils::Array compatibilitiesJsonList = jsonValue.GetArray("compatibilities"); @@ -102,6 +113,17 @@ JsonValue AddonVersionInfo::Jsonize() const } + if(m_computeTypesHasBeenSet) + { + Aws::Utils::Array computeTypesJsonList(m_computeTypes.size()); + for(unsigned computeTypesIndex = 0; computeTypesIndex < computeTypesJsonList.GetLength(); ++computeTypesIndex) + { + computeTypesJsonList[computeTypesIndex].AsString(m_computeTypes[computeTypesIndex]); + } + payload.WithArray("computeTypes", std::move(computeTypesJsonList)); + + } + if(m_compatibilitiesHasBeenSet) { Aws::Utils::Array compatibilitiesJsonList(m_compatibilities.size()); diff --git a/generated/src/aws-cpp-sdk-eks/source/model/BlockStorage.cpp b/generated/src/aws-cpp-sdk-eks/source/model/BlockStorage.cpp new file mode 100644 index 00000000000..d29894fa3bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/BlockStorage.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EKS +{ +namespace Model +{ + +BlockStorage::BlockStorage() : + m_enabled(false), + m_enabledHasBeenSet(false) +{ +} + +BlockStorage::BlockStorage(JsonView jsonValue) + : BlockStorage() +{ + *this = jsonValue; +} + +BlockStorage& BlockStorage::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabled")) + { + m_enabled = jsonValue.GetBool("enabled"); + + m_enabledHasBeenSet = true; + } + + return *this; +} + +JsonValue BlockStorage::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/Cluster.cpp b/generated/src/aws-cpp-sdk-eks/source/model/Cluster.cpp index ed912867c57..ee809d9e4f2 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/Cluster.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/Cluster.cpp @@ -42,7 +42,10 @@ Cluster::Cluster() : m_outpostConfigHasBeenSet(false), m_accessConfigHasBeenSet(false), m_upgradePolicyHasBeenSet(false), - m_zonalShiftConfigHasBeenSet(false) + m_zonalShiftConfigHasBeenSet(false), + m_remoteNetworkConfigHasBeenSet(false), + m_computeConfigHasBeenSet(false), + m_storageConfigHasBeenSet(false) { } @@ -221,6 +224,27 @@ Cluster& Cluster::operator =(JsonView jsonValue) m_zonalShiftConfigHasBeenSet = true; } + if(jsonValue.ValueExists("remoteNetworkConfig")) + { + m_remoteNetworkConfig = jsonValue.GetObject("remoteNetworkConfig"); + + m_remoteNetworkConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("computeConfig")) + { + m_computeConfig = jsonValue.GetObject("computeConfig"); + + m_computeConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("storageConfig")) + { + m_storageConfig = jsonValue.GetObject("storageConfig"); + + m_storageConfigHasBeenSet = true; + } + return *this; } @@ -374,6 +398,24 @@ JsonValue Cluster::Jsonize() const } + if(m_remoteNetworkConfigHasBeenSet) + { + payload.WithObject("remoteNetworkConfig", m_remoteNetworkConfig.Jsonize()); + + } + + if(m_computeConfigHasBeenSet) + { + payload.WithObject("computeConfig", m_computeConfig.Jsonize()); + + } + + if(m_storageConfigHasBeenSet) + { + payload.WithObject("storageConfig", m_storageConfig.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-eks/source/model/ComputeConfigRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/ComputeConfigRequest.cpp new file mode 100644 index 00000000000..f99e33c5144 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/ComputeConfigRequest.cpp @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EKS +{ +namespace Model +{ + +ComputeConfigRequest::ComputeConfigRequest() : + m_enabled(false), + m_enabledHasBeenSet(false), + m_nodePoolsHasBeenSet(false), + m_nodeRoleArnHasBeenSet(false) +{ +} + +ComputeConfigRequest::ComputeConfigRequest(JsonView jsonValue) + : ComputeConfigRequest() +{ + *this = jsonValue; +} + +ComputeConfigRequest& ComputeConfigRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabled")) + { + m_enabled = jsonValue.GetBool("enabled"); + + m_enabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("nodePools")) + { + Aws::Utils::Array nodePoolsJsonList = jsonValue.GetArray("nodePools"); + for(unsigned nodePoolsIndex = 0; nodePoolsIndex < nodePoolsJsonList.GetLength(); ++nodePoolsIndex) + { + m_nodePools.push_back(nodePoolsJsonList[nodePoolsIndex].AsString()); + } + m_nodePoolsHasBeenSet = true; + } + + if(jsonValue.ValueExists("nodeRoleArn")) + { + m_nodeRoleArn = jsonValue.GetString("nodeRoleArn"); + + m_nodeRoleArnHasBeenSet = true; + } + + return *this; +} + +JsonValue ComputeConfigRequest::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + if(m_nodePoolsHasBeenSet) + { + Aws::Utils::Array nodePoolsJsonList(m_nodePools.size()); + for(unsigned nodePoolsIndex = 0; nodePoolsIndex < nodePoolsJsonList.GetLength(); ++nodePoolsIndex) + { + nodePoolsJsonList[nodePoolsIndex].AsString(m_nodePools[nodePoolsIndex]); + } + payload.WithArray("nodePools", std::move(nodePoolsJsonList)); + + } + + if(m_nodeRoleArnHasBeenSet) + { + payload.WithString("nodeRoleArn", m_nodeRoleArn); + + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/ComputeConfigResponse.cpp b/generated/src/aws-cpp-sdk-eks/source/model/ComputeConfigResponse.cpp new file mode 100644 index 00000000000..8dc7f2f43f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/ComputeConfigResponse.cpp @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EKS +{ +namespace Model +{ + +ComputeConfigResponse::ComputeConfigResponse() : + m_enabled(false), + m_enabledHasBeenSet(false), + m_nodePoolsHasBeenSet(false), + m_nodeRoleArnHasBeenSet(false) +{ +} + +ComputeConfigResponse::ComputeConfigResponse(JsonView jsonValue) + : ComputeConfigResponse() +{ + *this = jsonValue; +} + +ComputeConfigResponse& ComputeConfigResponse::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabled")) + { + m_enabled = jsonValue.GetBool("enabled"); + + m_enabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("nodePools")) + { + Aws::Utils::Array nodePoolsJsonList = jsonValue.GetArray("nodePools"); + for(unsigned nodePoolsIndex = 0; nodePoolsIndex < nodePoolsJsonList.GetLength(); ++nodePoolsIndex) + { + m_nodePools.push_back(nodePoolsJsonList[nodePoolsIndex].AsString()); + } + m_nodePoolsHasBeenSet = true; + } + + if(jsonValue.ValueExists("nodeRoleArn")) + { + m_nodeRoleArn = jsonValue.GetString("nodeRoleArn"); + + m_nodeRoleArnHasBeenSet = true; + } + + return *this; +} + +JsonValue ComputeConfigResponse::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + if(m_nodePoolsHasBeenSet) + { + Aws::Utils::Array nodePoolsJsonList(m_nodePools.size()); + for(unsigned nodePoolsIndex = 0; nodePoolsIndex < nodePoolsJsonList.GetLength(); ++nodePoolsIndex) + { + nodePoolsJsonList[nodePoolsIndex].AsString(m_nodePools[nodePoolsIndex]); + } + payload.WithArray("nodePools", std::move(nodePoolsJsonList)); + + } + + if(m_nodeRoleArnHasBeenSet) + { + payload.WithString("nodeRoleArn", m_nodeRoleArn); + + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/CreateClusterRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/CreateClusterRequest.cpp index fa1f7006b35..028adfb12ff 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/CreateClusterRequest.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/CreateClusterRequest.cpp @@ -28,7 +28,10 @@ CreateClusterRequest::CreateClusterRequest() : m_bootstrapSelfManagedAddons(false), m_bootstrapSelfManagedAddonsHasBeenSet(false), m_upgradePolicyHasBeenSet(false), - m_zonalShiftConfigHasBeenSet(false) + m_zonalShiftConfigHasBeenSet(false), + m_remoteNetworkConfigHasBeenSet(false), + m_computeConfigHasBeenSet(false), + m_storageConfigHasBeenSet(false) { } @@ -130,6 +133,24 @@ Aws::String CreateClusterRequest::SerializePayload() const } + if(m_remoteNetworkConfigHasBeenSet) + { + payload.WithObject("remoteNetworkConfig", m_remoteNetworkConfig.Jsonize()); + + } + + if(m_computeConfigHasBeenSet) + { + payload.WithObject("computeConfig", m_computeConfig.Jsonize()); + + } + + if(m_storageConfigHasBeenSet) + { + payload.WithObject("storageConfig", m_storageConfig.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-eks/source/model/ElasticLoadBalancing.cpp b/generated/src/aws-cpp-sdk-eks/source/model/ElasticLoadBalancing.cpp new file mode 100644 index 00000000000..6dd534243ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/ElasticLoadBalancing.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EKS +{ +namespace Model +{ + +ElasticLoadBalancing::ElasticLoadBalancing() : + m_enabled(false), + m_enabledHasBeenSet(false) +{ +} + +ElasticLoadBalancing::ElasticLoadBalancing(JsonView jsonValue) + : ElasticLoadBalancing() +{ + *this = jsonValue; +} + +ElasticLoadBalancing& ElasticLoadBalancing::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabled")) + { + m_enabled = jsonValue.GetBool("enabled"); + + m_enabledHasBeenSet = true; + } + + return *this; +} + +JsonValue ElasticLoadBalancing::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/KubernetesNetworkConfigRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/KubernetesNetworkConfigRequest.cpp index c5c4142d447..4b755410b29 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/KubernetesNetworkConfigRequest.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/KubernetesNetworkConfigRequest.cpp @@ -21,7 +21,8 @@ namespace Model KubernetesNetworkConfigRequest::KubernetesNetworkConfigRequest() : m_serviceIpv4CidrHasBeenSet(false), m_ipFamily(IpFamily::NOT_SET), - m_ipFamilyHasBeenSet(false) + m_ipFamilyHasBeenSet(false), + m_elasticLoadBalancingHasBeenSet(false) { } @@ -47,6 +48,13 @@ KubernetesNetworkConfigRequest& KubernetesNetworkConfigRequest::operator =(JsonV m_ipFamilyHasBeenSet = true; } + if(jsonValue.ValueExists("elasticLoadBalancing")) + { + m_elasticLoadBalancing = jsonValue.GetObject("elasticLoadBalancing"); + + m_elasticLoadBalancingHasBeenSet = true; + } + return *this; } @@ -65,6 +73,12 @@ JsonValue KubernetesNetworkConfigRequest::Jsonize() const payload.WithString("ipFamily", IpFamilyMapper::GetNameForIpFamily(m_ipFamily)); } + if(m_elasticLoadBalancingHasBeenSet) + { + payload.WithObject("elasticLoadBalancing", m_elasticLoadBalancing.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-eks/source/model/KubernetesNetworkConfigResponse.cpp b/generated/src/aws-cpp-sdk-eks/source/model/KubernetesNetworkConfigResponse.cpp index 706a3bd5523..78989e39733 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/KubernetesNetworkConfigResponse.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/KubernetesNetworkConfigResponse.cpp @@ -22,7 +22,8 @@ KubernetesNetworkConfigResponse::KubernetesNetworkConfigResponse() : m_serviceIpv4CidrHasBeenSet(false), m_serviceIpv6CidrHasBeenSet(false), m_ipFamily(IpFamily::NOT_SET), - m_ipFamilyHasBeenSet(false) + m_ipFamilyHasBeenSet(false), + m_elasticLoadBalancingHasBeenSet(false) { } @@ -55,6 +56,13 @@ KubernetesNetworkConfigResponse& KubernetesNetworkConfigResponse::operator =(Jso m_ipFamilyHasBeenSet = true; } + if(jsonValue.ValueExists("elasticLoadBalancing")) + { + m_elasticLoadBalancing = jsonValue.GetObject("elasticLoadBalancing"); + + m_elasticLoadBalancingHasBeenSet = true; + } + return *this; } @@ -79,6 +87,12 @@ JsonValue KubernetesNetworkConfigResponse::Jsonize() const payload.WithString("ipFamily", IpFamilyMapper::GetNameForIpFamily(m_ipFamily)); } + if(m_elasticLoadBalancingHasBeenSet) + { + payload.WithObject("elasticLoadBalancing", m_elasticLoadBalancing.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-eks/source/model/RemoteNetworkConfigRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/RemoteNetworkConfigRequest.cpp new file mode 100644 index 00000000000..876a196989a --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/RemoteNetworkConfigRequest.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EKS +{ +namespace Model +{ + +RemoteNetworkConfigRequest::RemoteNetworkConfigRequest() : + m_remoteNodeNetworksHasBeenSet(false), + m_remotePodNetworksHasBeenSet(false) +{ +} + +RemoteNetworkConfigRequest::RemoteNetworkConfigRequest(JsonView jsonValue) + : RemoteNetworkConfigRequest() +{ + *this = jsonValue; +} + +RemoteNetworkConfigRequest& RemoteNetworkConfigRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("remoteNodeNetworks")) + { + Aws::Utils::Array remoteNodeNetworksJsonList = jsonValue.GetArray("remoteNodeNetworks"); + for(unsigned remoteNodeNetworksIndex = 0; remoteNodeNetworksIndex < remoteNodeNetworksJsonList.GetLength(); ++remoteNodeNetworksIndex) + { + m_remoteNodeNetworks.push_back(remoteNodeNetworksJsonList[remoteNodeNetworksIndex].AsObject()); + } + m_remoteNodeNetworksHasBeenSet = true; + } + + if(jsonValue.ValueExists("remotePodNetworks")) + { + Aws::Utils::Array remotePodNetworksJsonList = jsonValue.GetArray("remotePodNetworks"); + for(unsigned remotePodNetworksIndex = 0; remotePodNetworksIndex < remotePodNetworksJsonList.GetLength(); ++remotePodNetworksIndex) + { + m_remotePodNetworks.push_back(remotePodNetworksJsonList[remotePodNetworksIndex].AsObject()); + } + m_remotePodNetworksHasBeenSet = true; + } + + return *this; +} + +JsonValue RemoteNetworkConfigRequest::Jsonize() const +{ + JsonValue payload; + + if(m_remoteNodeNetworksHasBeenSet) + { + Aws::Utils::Array remoteNodeNetworksJsonList(m_remoteNodeNetworks.size()); + for(unsigned remoteNodeNetworksIndex = 0; remoteNodeNetworksIndex < remoteNodeNetworksJsonList.GetLength(); ++remoteNodeNetworksIndex) + { + remoteNodeNetworksJsonList[remoteNodeNetworksIndex].AsObject(m_remoteNodeNetworks[remoteNodeNetworksIndex].Jsonize()); + } + payload.WithArray("remoteNodeNetworks", std::move(remoteNodeNetworksJsonList)); + + } + + if(m_remotePodNetworksHasBeenSet) + { + Aws::Utils::Array remotePodNetworksJsonList(m_remotePodNetworks.size()); + for(unsigned remotePodNetworksIndex = 0; remotePodNetworksIndex < remotePodNetworksJsonList.GetLength(); ++remotePodNetworksIndex) + { + remotePodNetworksJsonList[remotePodNetworksIndex].AsObject(m_remotePodNetworks[remotePodNetworksIndex].Jsonize()); + } + payload.WithArray("remotePodNetworks", std::move(remotePodNetworksJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/RemoteNetworkConfigResponse.cpp b/generated/src/aws-cpp-sdk-eks/source/model/RemoteNetworkConfigResponse.cpp new file mode 100644 index 00000000000..03348efbf27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/RemoteNetworkConfigResponse.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EKS +{ +namespace Model +{ + +RemoteNetworkConfigResponse::RemoteNetworkConfigResponse() : + m_remoteNodeNetworksHasBeenSet(false), + m_remotePodNetworksHasBeenSet(false) +{ +} + +RemoteNetworkConfigResponse::RemoteNetworkConfigResponse(JsonView jsonValue) + : RemoteNetworkConfigResponse() +{ + *this = jsonValue; +} + +RemoteNetworkConfigResponse& RemoteNetworkConfigResponse::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("remoteNodeNetworks")) + { + Aws::Utils::Array remoteNodeNetworksJsonList = jsonValue.GetArray("remoteNodeNetworks"); + for(unsigned remoteNodeNetworksIndex = 0; remoteNodeNetworksIndex < remoteNodeNetworksJsonList.GetLength(); ++remoteNodeNetworksIndex) + { + m_remoteNodeNetworks.push_back(remoteNodeNetworksJsonList[remoteNodeNetworksIndex].AsObject()); + } + m_remoteNodeNetworksHasBeenSet = true; + } + + if(jsonValue.ValueExists("remotePodNetworks")) + { + Aws::Utils::Array remotePodNetworksJsonList = jsonValue.GetArray("remotePodNetworks"); + for(unsigned remotePodNetworksIndex = 0; remotePodNetworksIndex < remotePodNetworksJsonList.GetLength(); ++remotePodNetworksIndex) + { + m_remotePodNetworks.push_back(remotePodNetworksJsonList[remotePodNetworksIndex].AsObject()); + } + m_remotePodNetworksHasBeenSet = true; + } + + return *this; +} + +JsonValue RemoteNetworkConfigResponse::Jsonize() const +{ + JsonValue payload; + + if(m_remoteNodeNetworksHasBeenSet) + { + Aws::Utils::Array remoteNodeNetworksJsonList(m_remoteNodeNetworks.size()); + for(unsigned remoteNodeNetworksIndex = 0; remoteNodeNetworksIndex < remoteNodeNetworksJsonList.GetLength(); ++remoteNodeNetworksIndex) + { + remoteNodeNetworksJsonList[remoteNodeNetworksIndex].AsObject(m_remoteNodeNetworks[remoteNodeNetworksIndex].Jsonize()); + } + payload.WithArray("remoteNodeNetworks", std::move(remoteNodeNetworksJsonList)); + + } + + if(m_remotePodNetworksHasBeenSet) + { + Aws::Utils::Array remotePodNetworksJsonList(m_remotePodNetworks.size()); + for(unsigned remotePodNetworksIndex = 0; remotePodNetworksIndex < remotePodNetworksJsonList.GetLength(); ++remotePodNetworksIndex) + { + remotePodNetworksJsonList[remotePodNetworksIndex].AsObject(m_remotePodNetworks[remotePodNetworksIndex].Jsonize()); + } + payload.WithArray("remotePodNetworks", std::move(remotePodNetworksJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/RemoteNodeNetwork.cpp b/generated/src/aws-cpp-sdk-eks/source/model/RemoteNodeNetwork.cpp new file mode 100644 index 00000000000..f296286816a --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/RemoteNodeNetwork.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EKS +{ +namespace Model +{ + +RemoteNodeNetwork::RemoteNodeNetwork() : + m_cidrsHasBeenSet(false) +{ +} + +RemoteNodeNetwork::RemoteNodeNetwork(JsonView jsonValue) + : RemoteNodeNetwork() +{ + *this = jsonValue; +} + +RemoteNodeNetwork& RemoteNodeNetwork::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("cidrs")) + { + Aws::Utils::Array cidrsJsonList = jsonValue.GetArray("cidrs"); + for(unsigned cidrsIndex = 0; cidrsIndex < cidrsJsonList.GetLength(); ++cidrsIndex) + { + m_cidrs.push_back(cidrsJsonList[cidrsIndex].AsString()); + } + m_cidrsHasBeenSet = true; + } + + return *this; +} + +JsonValue RemoteNodeNetwork::Jsonize() const +{ + JsonValue payload; + + if(m_cidrsHasBeenSet) + { + Aws::Utils::Array cidrsJsonList(m_cidrs.size()); + for(unsigned cidrsIndex = 0; cidrsIndex < cidrsJsonList.GetLength(); ++cidrsIndex) + { + cidrsJsonList[cidrsIndex].AsString(m_cidrs[cidrsIndex]); + } + payload.WithArray("cidrs", std::move(cidrsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/RemotePodNetwork.cpp b/generated/src/aws-cpp-sdk-eks/source/model/RemotePodNetwork.cpp new file mode 100644 index 00000000000..af99234c704 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/RemotePodNetwork.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EKS +{ +namespace Model +{ + +RemotePodNetwork::RemotePodNetwork() : + m_cidrsHasBeenSet(false) +{ +} + +RemotePodNetwork::RemotePodNetwork(JsonView jsonValue) + : RemotePodNetwork() +{ + *this = jsonValue; +} + +RemotePodNetwork& RemotePodNetwork::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("cidrs")) + { + Aws::Utils::Array cidrsJsonList = jsonValue.GetArray("cidrs"); + for(unsigned cidrsIndex = 0; cidrsIndex < cidrsJsonList.GetLength(); ++cidrsIndex) + { + m_cidrs.push_back(cidrsJsonList[cidrsIndex].AsString()); + } + m_cidrsHasBeenSet = true; + } + + return *this; +} + +JsonValue RemotePodNetwork::Jsonize() const +{ + JsonValue payload; + + if(m_cidrsHasBeenSet) + { + Aws::Utils::Array cidrsJsonList(m_cidrs.size()); + for(unsigned cidrsIndex = 0; cidrsIndex < cidrsJsonList.GetLength(); ++cidrsIndex) + { + cidrsJsonList[cidrsIndex].AsString(m_cidrs[cidrsIndex]); + } + payload.WithArray("cidrs", std::move(cidrsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/StorageConfigRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/StorageConfigRequest.cpp new file mode 100644 index 00000000000..3b0f425f619 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/StorageConfigRequest.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EKS +{ +namespace Model +{ + +StorageConfigRequest::StorageConfigRequest() : + m_blockStorageHasBeenSet(false) +{ +} + +StorageConfigRequest::StorageConfigRequest(JsonView jsonValue) + : StorageConfigRequest() +{ + *this = jsonValue; +} + +StorageConfigRequest& StorageConfigRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("blockStorage")) + { + m_blockStorage = jsonValue.GetObject("blockStorage"); + + m_blockStorageHasBeenSet = true; + } + + return *this; +} + +JsonValue StorageConfigRequest::Jsonize() const +{ + JsonValue payload; + + if(m_blockStorageHasBeenSet) + { + payload.WithObject("blockStorage", m_blockStorage.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/StorageConfigResponse.cpp b/generated/src/aws-cpp-sdk-eks/source/model/StorageConfigResponse.cpp new file mode 100644 index 00000000000..a3ad48956ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/StorageConfigResponse.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EKS +{ +namespace Model +{ + +StorageConfigResponse::StorageConfigResponse() : + m_blockStorageHasBeenSet(false) +{ +} + +StorageConfigResponse::StorageConfigResponse(JsonView jsonValue) + : StorageConfigResponse() +{ + *this = jsonValue; +} + +StorageConfigResponse& StorageConfigResponse::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("blockStorage")) + { + m_blockStorage = jsonValue.GetObject("blockStorage"); + + m_blockStorageHasBeenSet = true; + } + + return *this; +} + +JsonValue StorageConfigResponse::Jsonize() const +{ + JsonValue payload; + + if(m_blockStorageHasBeenSet) + { + payload.WithObject("blockStorage", m_blockStorage.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/UpdateClusterConfigRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/UpdateClusterConfigRequest.cpp index 19d7e5d49ed..64d6f5c1e5e 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/UpdateClusterConfigRequest.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpdateClusterConfigRequest.cpp @@ -20,7 +20,10 @@ UpdateClusterConfigRequest::UpdateClusterConfigRequest() : m_clientRequestTokenHasBeenSet(true), m_accessConfigHasBeenSet(false), m_upgradePolicyHasBeenSet(false), - m_zonalShiftConfigHasBeenSet(false) + m_zonalShiftConfigHasBeenSet(false), + m_computeConfigHasBeenSet(false), + m_kubernetesNetworkConfigHasBeenSet(false), + m_storageConfigHasBeenSet(false) { } @@ -64,6 +67,24 @@ Aws::String UpdateClusterConfigRequest::SerializePayload() const } + if(m_computeConfigHasBeenSet) + { + payload.WithObject("computeConfig", m_computeConfig.Jsonize()); + + } + + if(m_kubernetesNetworkConfigHasBeenSet) + { + payload.WithObject("kubernetesNetworkConfig", m_kubernetesNetworkConfig.Jsonize()); + + } + + if(m_storageConfigHasBeenSet) + { + payload.WithObject("storageConfig", m_storageConfig.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-eks/source/model/UpdateParamType.cpp b/generated/src/aws-cpp-sdk-eks/source/model/UpdateParamType.cpp index f8476fb84f1..2113ed1cd15 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/UpdateParamType.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpdateParamType.cpp @@ -50,6 +50,9 @@ namespace Aws static const int PodIdentityAssociations_HASH = HashingUtils::HashString("PodIdentityAssociations"); static const int UpgradePolicy_HASH = HashingUtils::HashString("UpgradePolicy"); static const int ZonalShiftConfig_HASH = HashingUtils::HashString("ZonalShiftConfig"); + static const int ComputeConfig_HASH = HashingUtils::HashString("ComputeConfig"); + static const int StorageConfig_HASH = HashingUtils::HashString("StorageConfig"); + static const int KubernetesNetworkConfig_HASH = HashingUtils::HashString("KubernetesNetworkConfig"); UpdateParamType GetUpdateParamTypeForName(const Aws::String& name) @@ -175,6 +178,18 @@ namespace Aws { return UpdateParamType::ZonalShiftConfig; } + else if (hashCode == ComputeConfig_HASH) + { + return UpdateParamType::ComputeConfig; + } + else if (hashCode == StorageConfig_HASH) + { + return UpdateParamType::StorageConfig; + } + else if (hashCode == KubernetesNetworkConfig_HASH) + { + return UpdateParamType::KubernetesNetworkConfig; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -251,6 +266,12 @@ namespace Aws return "UpgradePolicy"; case UpdateParamType::ZonalShiftConfig: return "ZonalShiftConfig"; + case UpdateParamType::ComputeConfig: + return "ComputeConfig"; + case UpdateParamType::StorageConfig: + return "StorageConfig"; + case UpdateParamType::KubernetesNetworkConfig: + return "KubernetesNetworkConfig"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-eks/source/model/UpdateType.cpp b/generated/src/aws-cpp-sdk-eks/source/model/UpdateType.cpp index 60d3c92305a..a35f340c75f 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/UpdateType.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpdateType.cpp @@ -32,6 +32,7 @@ namespace Aws static const int AccessConfigUpdate_HASH = HashingUtils::HashString("AccessConfigUpdate"); static const int UpgradePolicyUpdate_HASH = HashingUtils::HashString("UpgradePolicyUpdate"); static const int ZonalShiftConfigUpdate_HASH = HashingUtils::HashString("ZonalShiftConfigUpdate"); + static const int AutoModeUpdate_HASH = HashingUtils::HashString("AutoModeUpdate"); UpdateType GetUpdateTypeForName(const Aws::String& name) @@ -85,6 +86,10 @@ namespace Aws { return UpdateType::ZonalShiftConfigUpdate; } + else if (hashCode == AutoModeUpdate_HASH) + { + return UpdateType::AutoModeUpdate; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -125,6 +130,8 @@ namespace Aws return "UpgradePolicyUpdate"; case UpdateType::ZonalShiftConfigUpdate: return "ZonalShiftConfigUpdate"; + case UpdateType::AutoModeUpdate: + return "AutoModeUpdate"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClient.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClient.h index e4990dc173f..d58d82c82ac 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClient.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClient.h @@ -220,8 +220,11 @@ namespace EventBridge /** *

        Creates a connection. A connection defines the authorization type and - * credentials to use for authorization with an API destination HTTP - * endpoint.

        See Also:

        + *

        For more information, see Connections + * for endpoint targets in the Amazon EventBridge User + * Guide.

        See Also:

        AWS * API Reference

        */ @@ -1287,7 +1290,7 @@ namespace EventBridge *

        PutEvents accepts the data in JSON format. For the JSON number * (integer) data type, the constraints are: a minimum value of * -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807.

        - *

        PutEvents will only process nested JSON up to 1100 levels deep.

        + *

        PutEvents will only process nested JSON up to 1000 levels deep.

        *

        See Also:

        AWS * API Reference

        @@ -1345,14 +1348,14 @@ namespace EventBridge /** *

        Running PutPermission permits the specified Amazon Web Services * account or Amazon Web Services organization to put events to the specified - * event bus. Amazon EventBridge (CloudWatch Events) rules in your account - * are triggered by these events arriving to an event bus in your account.

        - *

        For another account to send events to your account, that external account - * must have an EventBridge rule with your account's event bus as a target.

        - *

        To enable multiple Amazon Web Services accounts to put events to your event - * bus, run PutPermission once for each of these accounts. Or, if all - * the accounts are members of the same Amazon Web Services organization, you can - * run PutPermission once specifying Principal as "*" and + * event bus. Amazon EventBridge rules in your account are triggered by + * these events arriving to an event bus in your account.

        For another + * account to send events to your account, that external account must have an + * EventBridge rule with your account's event bus as a target.

        To enable + * multiple Amazon Web Services accounts to put events to your event bus, run + * PutPermission once for each of these accounts. Or, if all the + * accounts are members of the same Amazon Web Services organization, you can run + * PutPermission once specifying Principal as "*" and * specifying the Amazon Web Services organization ID in Condition, to * grant permissions to all accounts in that organization.

        If you grant * permissions using an organization, then accounts in that organization must @@ -1435,7 +1438,11 @@ namespace EventBridge * alerts you when charges exceed your specified limit. For more information, see * Managing - * Your Costs with Budgets.

        See Also:

        .

        To create a rule that filters for management + * events from Amazon Web Services services, see Receiving + * read-only management events from Amazon Web Services services in the + * EventBridge User Guide.

        See Also:

        AWS * API Reference

        */ @@ -1726,8 +1733,7 @@ namespace EventBridge /** *

        Removes one or more tags from the specified EventBridge resource. In Amazon - * EventBridge (CloudWatch Events), rules and event buses can be - * tagged.

        See Also:

        See Also:

        AWS * API Reference

        */ diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionAuthResponseParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionAuthResponseParameters.h index d7d09709356..04bba83fa29 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionAuthResponseParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionAuthResponseParameters.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -27,8 +28,8 @@ namespace Model { /** - *

        Contains the authorization parameters to use for the - * connection.

        See Also:

        Tthe authorization parameters to use for the connection.

        See + * Also:

        AWS * API Reference

        */ @@ -89,6 +90,22 @@ namespace Model inline ConnectionAuthResponseParameters& WithInvocationHttpParameters(const ConnectionHttpParameters& value) { SetInvocationHttpParameters(value); return *this;} inline ConnectionAuthResponseParameters& WithInvocationHttpParameters(ConnectionHttpParameters&& value) { SetInvocationHttpParameters(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        For private OAuth authentication endpoints. The parameters EventBridge uses + * to authenticate against the endpoint.

        For more information, see Authorization + * methods for connections in the Amazon EventBridge User Guide + * .

        + */ + inline const DescribeConnectionConnectivityParameters& GetConnectivityParameters() const{ return m_connectivityParameters; } + inline bool ConnectivityParametersHasBeenSet() const { return m_connectivityParametersHasBeenSet; } + inline void SetConnectivityParameters(const DescribeConnectionConnectivityParameters& value) { m_connectivityParametersHasBeenSet = true; m_connectivityParameters = value; } + inline void SetConnectivityParameters(DescribeConnectionConnectivityParameters&& value) { m_connectivityParametersHasBeenSet = true; m_connectivityParameters = std::move(value); } + inline ConnectionAuthResponseParameters& WithConnectivityParameters(const DescribeConnectionConnectivityParameters& value) { SetConnectivityParameters(value); return *this;} + inline ConnectionAuthResponseParameters& WithConnectivityParameters(DescribeConnectionConnectivityParameters&& value) { SetConnectivityParameters(std::move(value)); return *this;} + ///@} private: ConnectionBasicAuthResponseParameters m_basicAuthParameters; @@ -102,6 +119,9 @@ namespace Model ConnectionHttpParameters m_invocationHttpParameters; bool m_invocationHttpParametersHasBeenSet = false; + + DescribeConnectionConnectivityParameters m_connectivityParameters; + bool m_connectivityParametersHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionBasicAuthResponseParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionBasicAuthResponseParameters.h index 7f50752b2a5..53a124c62d0 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionBasicAuthResponseParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionBasicAuthResponseParameters.h @@ -24,8 +24,8 @@ namespace Model { /** - *

        Contains the authorization parameters for the connection if Basic is - * specified as the authorization type.

        See Also:

        The authorization parameters for the connection if Basic is specified as the + * authorization type.

        See Also:

        AWS * API Reference

        */ diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionBodyParameter.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionBodyParameter.h index edf5140aac8..ceeff965788 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionBodyParameter.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionBodyParameter.h @@ -69,7 +69,7 @@ namespace Model ///@{ /** - *

        Specified whether the value is secret.

        + *

        Specifies whether the value is secret.

        */ inline bool GetIsValueSecret() const{ return m_isValueSecret; } inline bool IsValueSecretHasBeenSet() const { return m_isValueSecretHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionHeaderParameter.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionHeaderParameter.h index 85c44b18c91..661a9b2d7b5 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionHeaderParameter.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionHeaderParameter.h @@ -69,7 +69,7 @@ namespace Model ///@{ /** - *

        Specified whether the value is a secret.

        + *

        Specifies whether the value is a secret.

        */ inline bool GetIsValueSecret() const{ return m_isValueSecret; } inline bool IsValueSecretHasBeenSet() const { return m_isValueSecretHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionHttpParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionHttpParameters.h index 82c019ded1d..15b2b7f618e 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionHttpParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionHttpParameters.h @@ -27,8 +27,7 @@ namespace Model { /** - *

        Contains additional parameters for the connection.

        See Also:

        - * Any additional parameters for the connection.

        See Also:

        AWS * API Reference

        */ @@ -43,7 +42,7 @@ namespace Model ///@{ /** - *

        Contains additional header parameters for the connection.

        + *

        Any additional header parameters for the connection.

        */ inline const Aws::Vector& GetHeaderParameters() const{ return m_headerParameters; } inline bool HeaderParametersHasBeenSet() const { return m_headerParametersHasBeenSet; } @@ -57,7 +56,7 @@ namespace Model ///@{ /** - *

        Contains additional query string parameters for the connection.

        + *

        Any additional query string parameters for the connection.

        */ inline const Aws::Vector& GetQueryStringParameters() const{ return m_queryStringParameters; } inline bool QueryStringParametersHasBeenSet() const { return m_queryStringParametersHasBeenSet; } @@ -71,7 +70,7 @@ namespace Model ///@{ /** - *

        Contains additional body string parameters for the connection.

        + *

        Any additional body string parameters for the connection.

        */ inline const Aws::Vector& GetBodyParameters() const{ return m_bodyParameters; } inline bool BodyParametersHasBeenSet() const { return m_bodyParametersHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionOAuthClientResponseParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionOAuthClientResponseParameters.h index 4494e0b35ac..de72e65fba2 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionOAuthClientResponseParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionOAuthClientResponseParameters.h @@ -24,8 +24,8 @@ namespace Model { /** - *

        Contains the client response parameters for the connection when OAuth is - * specified as the authorization type.

        See Also:

        The client response parameters for the connection when OAuth is specified as + * the authorization type.

        See Also:

        AWS * API Reference

        */ diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionOAuthResponseParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionOAuthResponseParameters.h index e8ccb6247ec..75e03cf43a6 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionOAuthResponseParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionOAuthResponseParameters.h @@ -27,7 +27,7 @@ namespace Model { /** - *

        Contains the response parameters when OAuth is specified as the authorization + *

        The response parameters when OAuth is specified as the authorization * type.

        See Also:

        AWS * API Reference

        @@ -43,8 +43,7 @@ namespace Model ///@{ /** - *

        A ConnectionOAuthClientResponseParameters object that contains - * details about the client parameters returned when OAuth is specified as the + *

        Details about the client parameters returned when OAuth is specified as the * authorization type.

        */ inline const ConnectionOAuthClientResponseParameters& GetClientParameters() const{ return m_clientParameters; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionQueryStringParameter.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionQueryStringParameter.h index 575cfdecd9d..4cd601f4a0c 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionQueryStringParameter.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionQueryStringParameter.h @@ -24,8 +24,8 @@ namespace Model { /** - *

        Additional query string parameter for the connection. You can include up to - * 100 additional query string parameters per request. Each additional parameter + *

        Any additional query string parameter for the connection. You can include up + * to 100 additional query string parameters per request. Each additional parameter * counts towards the event payload size, which cannot exceed 64 KB.

        See * Also:

        AWS diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionState.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionState.h index db2682fc14b..eac694e6d0a 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionState.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectionState.h @@ -22,7 +22,9 @@ namespace Model AUTHORIZED, DEAUTHORIZED, AUTHORIZING, - DEAUTHORIZING + DEAUTHORIZING, + ACTIVE, + FAILED_CONNECTIVITY }; namespace ConnectionStateMapper diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectivityResourceConfigurationArn.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectivityResourceConfigurationArn.h new file mode 100644 index 00000000000..8459d9ebf6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectivityResourceConfigurationArn.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EventBridge +{ +namespace Model +{ + + /** + *

        The Amazon Resource Name (ARN) of the resource configuration for the resource + * endpoint.

        See Also:

        AWS + * API Reference

        + */ + class ConnectivityResourceConfigurationArn + { + public: + AWS_EVENTBRIDGE_API ConnectivityResourceConfigurationArn(); + AWS_EVENTBRIDGE_API ConnectivityResourceConfigurationArn(Aws::Utils::Json::JsonView jsonValue); + AWS_EVENTBRIDGE_API ConnectivityResourceConfigurationArn& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EVENTBRIDGE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource configuration for the resource + * endpoint.

        + */ + inline const Aws::String& GetResourceConfigurationArn() const{ return m_resourceConfigurationArn; } + inline bool ResourceConfigurationArnHasBeenSet() const { return m_resourceConfigurationArnHasBeenSet; } + inline void SetResourceConfigurationArn(const Aws::String& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = value; } + inline void SetResourceConfigurationArn(Aws::String&& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = std::move(value); } + inline void SetResourceConfigurationArn(const char* value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn.assign(value); } + inline ConnectivityResourceConfigurationArn& WithResourceConfigurationArn(const Aws::String& value) { SetResourceConfigurationArn(value); return *this;} + inline ConnectivityResourceConfigurationArn& WithResourceConfigurationArn(Aws::String&& value) { SetResourceConfigurationArn(std::move(value)); return *this;} + inline ConnectivityResourceConfigurationArn& WithResourceConfigurationArn(const char* value) { SetResourceConfigurationArn(value); return *this;} + ///@} + private: + + Aws::String m_resourceConfigurationArn; + bool m_resourceConfigurationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace EventBridge +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectivityResourceParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectivityResourceParameters.h new file mode 100644 index 00000000000..c59a4cb369b --- /dev/null +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ConnectivityResourceParameters.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EventBridge +{ +namespace Model +{ + + /** + *

        The parameters for EventBridge to use when invoking the resource + * endpoint.

        See Also:

        AWS + * API Reference

        + */ + class ConnectivityResourceParameters + { + public: + AWS_EVENTBRIDGE_API ConnectivityResourceParameters(); + AWS_EVENTBRIDGE_API ConnectivityResourceParameters(Aws::Utils::Json::JsonView jsonValue); + AWS_EVENTBRIDGE_API ConnectivityResourceParameters& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EVENTBRIDGE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The parameters for EventBridge to use when invoking the resource + * endpoint.

        + */ + inline const ConnectivityResourceConfigurationArn& GetResourceParameters() const{ return m_resourceParameters; } + inline bool ResourceParametersHasBeenSet() const { return m_resourceParametersHasBeenSet; } + inline void SetResourceParameters(const ConnectivityResourceConfigurationArn& value) { m_resourceParametersHasBeenSet = true; m_resourceParameters = value; } + inline void SetResourceParameters(ConnectivityResourceConfigurationArn&& value) { m_resourceParametersHasBeenSet = true; m_resourceParameters = std::move(value); } + inline ConnectivityResourceParameters& WithResourceParameters(const ConnectivityResourceConfigurationArn& value) { SetResourceParameters(value); return *this;} + inline ConnectivityResourceParameters& WithResourceParameters(ConnectivityResourceConfigurationArn&& value) { SetResourceParameters(std::move(value)); return *this;} + ///@} + private: + + ConnectivityResourceConfigurationArn m_resourceParameters; + bool m_resourceParametersHasBeenSet = false; + }; + +} // namespace Model +} // namespace EventBridge +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionApiKeyAuthRequestParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionApiKeyAuthRequestParameters.h index 5448d24b45c..e470096a09c 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionApiKeyAuthRequestParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionApiKeyAuthRequestParameters.h @@ -24,8 +24,8 @@ namespace Model { /** - *

        Contains the API key authorization parameters for the - * connection.

        See Also:

        The API key authorization parameters for the connection.

        See + * Also:

        AWS * API Reference

        */ diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionAuthRequestParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionAuthRequestParameters.h index b86db0d0e42..6174d69257b 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionAuthRequestParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionAuthRequestParameters.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -27,8 +28,9 @@ namespace Model { /** - *

        Contains the authorization parameters for the connection.

        See - * Also:

        The authorization parameters for the connection.

        You must include only + * authorization parameters for the AuthorizationType you + * specify.

        See Also:

        AWS * API Reference

        */ @@ -43,8 +45,7 @@ namespace Model ///@{ /** - *

        A CreateConnectionBasicAuthRequestParameters object that - * contains the Basic authorization parameters to use for the connection.

        + *

        The Basic authorization parameters to use for the connection.

        */ inline const CreateConnectionBasicAuthRequestParameters& GetBasicAuthParameters() const{ return m_basicAuthParameters; } inline bool BasicAuthParametersHasBeenSet() const { return m_basicAuthParametersHasBeenSet; } @@ -56,8 +57,7 @@ namespace Model ///@{ /** - *

        A CreateConnectionOAuthRequestParameters object that contains - * the OAuth authorization parameters to use for the connection.

        + *

        The OAuth authorization parameters to use for the connection.

        */ inline const CreateConnectionOAuthRequestParameters& GetOAuthParameters() const{ return m_oAuthParameters; } inline bool OAuthParametersHasBeenSet() const { return m_oAuthParametersHasBeenSet; } @@ -69,8 +69,7 @@ namespace Model ///@{ /** - *

        A CreateConnectionApiKeyAuthRequestParameters object that - * contains the API key authorization parameters to use for the connection.

        + *

        The API key authorization parameters to use for the connection.

        */ inline const CreateConnectionApiKeyAuthRequestParameters& GetApiKeyAuthParameters() const{ return m_apiKeyAuthParameters; } inline bool ApiKeyAuthParametersHasBeenSet() const { return m_apiKeyAuthParametersHasBeenSet; } @@ -82,11 +81,10 @@ namespace Model ///@{ /** - *

        A ConnectionHttpParameters object that contains the API key - * authorization parameters to use for the connection. Note that if you include - * additional parameters for the target of a rule via HttpParameters, - * including query strings, the parameters added for the connection take - * precedence.

        + *

        The API key authorization parameters to use for the connection. Note that if + * you include additional parameters for the target of a rule via + * HttpParameters, including query strings, the parameters added for + * the connection take precedence.

        */ inline const ConnectionHttpParameters& GetInvocationHttpParameters() const{ return m_invocationHttpParameters; } inline bool InvocationHttpParametersHasBeenSet() const { return m_invocationHttpParametersHasBeenSet; } @@ -95,6 +93,23 @@ namespace Model inline CreateConnectionAuthRequestParameters& WithInvocationHttpParameters(const ConnectionHttpParameters& value) { SetInvocationHttpParameters(value); return *this;} inline CreateConnectionAuthRequestParameters& WithInvocationHttpParameters(ConnectionHttpParameters&& value) { SetInvocationHttpParameters(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        If you specify a private OAuth endpoint, the parameters for EventBridge to + * use when authenticating against the endpoint.

        For more information, see + * Authorization + * methods for connections in the Amazon EventBridge User Guide + * .

        + */ + inline const ConnectivityResourceParameters& GetConnectivityParameters() const{ return m_connectivityParameters; } + inline bool ConnectivityParametersHasBeenSet() const { return m_connectivityParametersHasBeenSet; } + inline void SetConnectivityParameters(const ConnectivityResourceParameters& value) { m_connectivityParametersHasBeenSet = true; m_connectivityParameters = value; } + inline void SetConnectivityParameters(ConnectivityResourceParameters&& value) { m_connectivityParametersHasBeenSet = true; m_connectivityParameters = std::move(value); } + inline CreateConnectionAuthRequestParameters& WithConnectivityParameters(const ConnectivityResourceParameters& value) { SetConnectivityParameters(value); return *this;} + inline CreateConnectionAuthRequestParameters& WithConnectivityParameters(ConnectivityResourceParameters&& value) { SetConnectivityParameters(std::move(value)); return *this;} + ///@} private: CreateConnectionBasicAuthRequestParameters m_basicAuthParameters; @@ -108,6 +123,9 @@ namespace Model ConnectionHttpParameters m_invocationHttpParameters; bool m_invocationHttpParametersHasBeenSet = false; + + ConnectivityResourceParameters m_connectivityParameters; + bool m_connectivityParametersHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionOAuthClientRequestParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionOAuthClientRequestParameters.h index 617c0e99793..656c674cf19 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionOAuthClientRequestParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionOAuthClientRequestParameters.h @@ -24,8 +24,8 @@ namespace Model { /** - *

        Contains the Basic authorization parameters to use for the - * connection.

        See Also:

        The Basic authorization parameters to use for the connection.

        See + * Also:

        AWS * API Reference

        */ diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionOAuthRequestParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionOAuthRequestParameters.h index 77bbf4b4cc7..bcf8891e1a4 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionOAuthRequestParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionOAuthRequestParameters.h @@ -43,8 +43,7 @@ namespace Model ///@{ /** - *

        A CreateConnectionOAuthClientRequestParameters object that - * contains the client parameters for OAuth authorization.

        + *

        The client parameters for OAuth authorization.

        */ inline const CreateConnectionOAuthClientRequestParameters& GetClientParameters() const{ return m_clientParameters; } inline bool ClientParametersHasBeenSet() const { return m_clientParametersHasBeenSet; } @@ -83,8 +82,7 @@ namespace Model ///@{ /** - *

        A ConnectionHttpParameters object that contains details about - * the additional parameters to use for the connection.

        + *

        Details about the additional parameters to use for the connection.

        */ inline const ConnectionHttpParameters& GetOAuthHttpParameters() const{ return m_oAuthHttpParameters; } inline bool OAuthHttpParametersHasBeenSet() const { return m_oAuthHttpParametersHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionRequest.h index 60cdb4ed14a..af427a517dc 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/CreateConnectionRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -79,8 +80,9 @@ namespace Model ///@{ /** - *

        A CreateConnectionAuthRequestParameters object that contains the - * authorization parameters to use to authorize with the endpoint.

        + *

        The authorization parameters to use to authorize with the endpoint.

        + *

        You must include only authorization parameters for the + * AuthorizationType you specify.

        */ inline const CreateConnectionAuthRequestParameters& GetAuthParameters() const{ return m_authParameters; } inline bool AuthParametersHasBeenSet() const { return m_authParametersHasBeenSet; } @@ -89,6 +91,22 @@ namespace Model inline CreateConnectionRequest& WithAuthParameters(const CreateConnectionAuthRequestParameters& value) { SetAuthParameters(value); return *this;} inline CreateConnectionRequest& WithAuthParameters(CreateConnectionAuthRequestParameters&& value) { SetAuthParameters(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        For connections to private resource endpoints, the parameters to use for + * invoking the resource endpoint.

        For more information, see Connecting + * to private resources in the Amazon EventBridge User Guide + * .

        + */ + inline const ConnectivityResourceParameters& GetInvocationConnectivityParameters() const{ return m_invocationConnectivityParameters; } + inline bool InvocationConnectivityParametersHasBeenSet() const { return m_invocationConnectivityParametersHasBeenSet; } + inline void SetInvocationConnectivityParameters(const ConnectivityResourceParameters& value) { m_invocationConnectivityParametersHasBeenSet = true; m_invocationConnectivityParameters = value; } + inline void SetInvocationConnectivityParameters(ConnectivityResourceParameters&& value) { m_invocationConnectivityParametersHasBeenSet = true; m_invocationConnectivityParameters = std::move(value); } + inline CreateConnectionRequest& WithInvocationConnectivityParameters(const ConnectivityResourceParameters& value) { SetInvocationConnectivityParameters(value); return *this;} + inline CreateConnectionRequest& WithInvocationConnectivityParameters(ConnectivityResourceParameters&& value) { SetInvocationConnectivityParameters(std::move(value)); return *this;} + ///@} private: Aws::String m_name; @@ -102,6 +120,9 @@ namespace Model CreateConnectionAuthRequestParameters m_authParameters; bool m_authParametersHasBeenSet = false; + + ConnectivityResourceParameters m_invocationConnectivityParameters; + bool m_invocationConnectivityParametersHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DeadLetterConfig.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DeadLetterConfig.h index 4854ce03206..000542f78db 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DeadLetterConfig.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DeadLetterConfig.h @@ -26,9 +26,9 @@ namespace Model /** *

        Configuration details of the Amazon SQS queue for EventBridge to use as a * dead-letter queue (DLQ).

        For more information, see Event retry policy and - * using dead-letter queues in the EventBridge User Guide.

        See - * Also:

        Using + * dead-letter queues to process undelivered events in the EventBridge User + * Guide.

        See Also:

        AWS * API Reference

        */ diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionConnectivityParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionConnectivityParameters.h new file mode 100644 index 00000000000..2eeb5c08c04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionConnectivityParameters.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EventBridge +{ +namespace Model +{ + + /** + *

        If the connection uses a private OAuth endpoint, the parameters for + * EventBridge to use when authenticating against the endpoint.

        For more + * information, see Authorization + * methods for connections in the Amazon EventBridge User Guide + * .

        See Also:

        AWS + * API Reference

        + */ + class DescribeConnectionConnectivityParameters + { + public: + AWS_EVENTBRIDGE_API DescribeConnectionConnectivityParameters(); + AWS_EVENTBRIDGE_API DescribeConnectionConnectivityParameters(Aws::Utils::Json::JsonView jsonValue); + AWS_EVENTBRIDGE_API DescribeConnectionConnectivityParameters& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EVENTBRIDGE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The parameters for EventBridge to use when invoking the resource + * endpoint.

        + */ + inline const DescribeConnectionResourceParameters& GetResourceParameters() const{ return m_resourceParameters; } + inline bool ResourceParametersHasBeenSet() const { return m_resourceParametersHasBeenSet; } + inline void SetResourceParameters(const DescribeConnectionResourceParameters& value) { m_resourceParametersHasBeenSet = true; m_resourceParameters = value; } + inline void SetResourceParameters(DescribeConnectionResourceParameters&& value) { m_resourceParametersHasBeenSet = true; m_resourceParameters = std::move(value); } + inline DescribeConnectionConnectivityParameters& WithResourceParameters(const DescribeConnectionResourceParameters& value) { SetResourceParameters(value); return *this;} + inline DescribeConnectionConnectivityParameters& WithResourceParameters(DescribeConnectionResourceParameters&& value) { SetResourceParameters(std::move(value)); return *this;} + ///@} + private: + + DescribeConnectionResourceParameters m_resourceParameters; + bool m_resourceParametersHasBeenSet = false; + }; + +} // namespace Model +} // namespace EventBridge +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionResourceParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionResourceParameters.h new file mode 100644 index 00000000000..4664ea37a95 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionResourceParameters.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EventBridge +{ +namespace Model +{ + + /** + *

        The parameters for EventBridge to use when invoking the resource + * endpoint.

        See Also:

        AWS + * API Reference

        + */ + class DescribeConnectionResourceParameters + { + public: + AWS_EVENTBRIDGE_API DescribeConnectionResourceParameters(); + AWS_EVENTBRIDGE_API DescribeConnectionResourceParameters(Aws::Utils::Json::JsonView jsonValue); + AWS_EVENTBRIDGE_API DescribeConnectionResourceParameters& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EVENTBRIDGE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource configuration for the private + * API.

        + */ + inline const Aws::String& GetResourceConfigurationArn() const{ return m_resourceConfigurationArn; } + inline bool ResourceConfigurationArnHasBeenSet() const { return m_resourceConfigurationArnHasBeenSet; } + inline void SetResourceConfigurationArn(const Aws::String& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = value; } + inline void SetResourceConfigurationArn(Aws::String&& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = std::move(value); } + inline void SetResourceConfigurationArn(const char* value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn.assign(value); } + inline DescribeConnectionResourceParameters& WithResourceConfigurationArn(const Aws::String& value) { SetResourceConfigurationArn(value); return *this;} + inline DescribeConnectionResourceParameters& WithResourceConfigurationArn(Aws::String&& value) { SetResourceConfigurationArn(std::move(value)); return *this;} + inline DescribeConnectionResourceParameters& WithResourceConfigurationArn(const char* value) { SetResourceConfigurationArn(value); return *this;} + ///@} + + ///@{ + /** + *

        For connections to private APIs, the Amazon Resource Name (ARN) of the + * resource association EventBridge created between the connection and the private + * API's resource configuration.

        + */ + inline const Aws::String& GetResourceAssociationArn() const{ return m_resourceAssociationArn; } + inline bool ResourceAssociationArnHasBeenSet() const { return m_resourceAssociationArnHasBeenSet; } + inline void SetResourceAssociationArn(const Aws::String& value) { m_resourceAssociationArnHasBeenSet = true; m_resourceAssociationArn = value; } + inline void SetResourceAssociationArn(Aws::String&& value) { m_resourceAssociationArnHasBeenSet = true; m_resourceAssociationArn = std::move(value); } + inline void SetResourceAssociationArn(const char* value) { m_resourceAssociationArnHasBeenSet = true; m_resourceAssociationArn.assign(value); } + inline DescribeConnectionResourceParameters& WithResourceAssociationArn(const Aws::String& value) { SetResourceAssociationArn(value); return *this;} + inline DescribeConnectionResourceParameters& WithResourceAssociationArn(Aws::String&& value) { SetResourceAssociationArn(std::move(value)); return *this;} + inline DescribeConnectionResourceParameters& WithResourceAssociationArn(const char* value) { SetResourceAssociationArn(value); return *this;} + ///@} + private: + + Aws::String m_resourceConfigurationArn; + bool m_resourceConfigurationArnHasBeenSet = false; + + Aws::String m_resourceAssociationArn; + bool m_resourceAssociationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace EventBridge +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionResult.h index 59f56df0551..b7b19a58d39 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/DescribeConnectionResult.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include #include @@ -75,6 +76,21 @@ namespace Model inline DescribeConnectionResult& WithDescription(const char* value) { SetDescription(value); return *this;} ///@} + ///@{ + /** + *

        For connections to private resource endpoints. The parameters EventBridge + * uses to invoke the resource endpoint.

        For more information, see Connecting + * to private resources in the Amazon EventBridge User Guide + * .

        + */ + inline const DescribeConnectionConnectivityParameters& GetInvocationConnectivityParameters() const{ return m_invocationConnectivityParameters; } + inline void SetInvocationConnectivityParameters(const DescribeConnectionConnectivityParameters& value) { m_invocationConnectivityParameters = value; } + inline void SetInvocationConnectivityParameters(DescribeConnectionConnectivityParameters&& value) { m_invocationConnectivityParameters = std::move(value); } + inline DescribeConnectionResult& WithInvocationConnectivityParameters(const DescribeConnectionConnectivityParameters& value) { SetInvocationConnectivityParameters(value); return *this;} + inline DescribeConnectionResult& WithInvocationConnectivityParameters(DescribeConnectionConnectivityParameters&& value) { SetInvocationConnectivityParameters(std::move(value)); return *this;} + ///@} + ///@{ /** *

        The state of the connection retrieved.

        @@ -186,6 +202,8 @@ namespace Model Aws::String m_description; + DescribeConnectionConnectivityParameters m_invocationConnectivityParameters; + ConnectionState m_connectionState; Aws::String m_stateReason; diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListApiDestinationsRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListApiDestinationsRequest.h index ed8efc8de6a..bcf36949e7f 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListApiDestinationsRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListApiDestinationsRequest.h @@ -65,8 +65,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to retrieve the next set of - * results.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListApiDestinationsResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListApiDestinationsResult.h index 23c19a8d912..f7927c176a6 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListApiDestinationsResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListApiDestinationsResult.h @@ -36,8 +36,7 @@ namespace Model ///@{ /** - *

        An array of ApiDestination objects that include information - * about an API destination.

        + *

        An array that includes information about each API destination.

        */ inline const Aws::Vector& GetApiDestinations() const{ return m_apiDestinations; } inline void SetApiDestinations(const Aws::Vector& value) { m_apiDestinations = value; } @@ -50,8 +49,12 @@ namespace Model ///@{ /** - *

        A token you can use in a subsequent request to retrieve the next set of - * results.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListArchivesRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListArchivesRequest.h index 137b9bf7340..63531bb2b3a 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListArchivesRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListArchivesRequest.h @@ -78,8 +78,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to retrieve the next set of - * results.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListArchivesResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListArchivesResult.h index 85cebb1614a..f3da75ff8ef 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListArchivesResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListArchivesResult.h @@ -50,8 +50,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to retrieve the next set of - * results.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListConnectionsRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListConnectionsRequest.h index 38f6fffecb5..d2bf7298383 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListConnectionsRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListConnectionsRequest.h @@ -64,8 +64,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to retrieve the next set of - * results.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListConnectionsResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListConnectionsResult.h index fe89cc78adb..efda852870b 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListConnectionsResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListConnectionsResult.h @@ -50,8 +50,12 @@ namespace Model ///@{ /** - *

        A token you can use in a subsequent request to retrieve the next set of - * results.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEndpointsRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEndpointsRequest.h index 8d1cf8ccced..4ad3bda8d04 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEndpointsRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEndpointsRequest.h @@ -67,11 +67,12 @@ namespace Model ///@{ /** - *

        If nextToken is returned, there are more results available. The - * value of nextToken is a unique pagination token for each page. Make - * the call again using the returned token to retrieve the next page. Keep all - * other arguments unchanged. Each pagination token expires after 24 hours. Using - * an expired pagination token will return an HTTP 400 InvalidToken error.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEndpointsResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEndpointsResult.h index 52c97aaa424..e8fc1f35f22 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEndpointsResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEndpointsResult.h @@ -49,11 +49,12 @@ namespace Model ///@{ /** - *

        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.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventBusesRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventBusesRequest.h index 1050f842d5c..f976b60eb5f 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventBusesRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventBusesRequest.h @@ -51,8 +51,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to retrieve the next set of - * results.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventBusesResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventBusesResult.h index dcbc6c24db6..1b38de4209e 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventBusesResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventBusesResult.h @@ -49,8 +49,12 @@ namespace Model ///@{ /** - *

        A token you can use in a subsequent operation to retrieve the next set of - * results.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventSourcesRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventSourcesRequest.h index 92ee0f80580..41bf4327f0f 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventSourcesRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventSourcesRequest.h @@ -51,8 +51,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to retrieve the next set of - * results.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventSourcesResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventSourcesResult.h index 327508b8729..692d97c8293 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventSourcesResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListEventSourcesResult.h @@ -49,8 +49,12 @@ namespace Model ///@{ /** - *

        A token you can use in a subsequent operation to retrieve the next set of - * results.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourceAccountsRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourceAccountsRequest.h index abf2e34c3ca..be2c7b85e95 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourceAccountsRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourceAccountsRequest.h @@ -51,8 +51,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to this operation. Specifying this - * retrieves the next set of results.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourceAccountsResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourceAccountsResult.h index 8e8c17d47d0..f8dd71b184a 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourceAccountsResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourceAccountsResult.h @@ -49,8 +49,12 @@ namespace Model ///@{ /** - *

        A token you can use in a subsequent operation to retrieve the next set of - * results.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourcesRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourcesRequest.h index ba034650f27..b84ca748e3d 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourcesRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourcesRequest.h @@ -51,8 +51,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to this operation. Specifying this - * retrieves the next set of results.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourcesResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourcesResult.h index cacd3cb940d..6163175499d 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourcesResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListPartnerEventSourcesResult.h @@ -49,8 +49,12 @@ namespace Model ///@{ /** - *

        A token you can use in a subsequent operation to retrieve the next set of - * results.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListReplaysRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListReplaysRequest.h index 49d74865bc2..1412752887a 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListReplaysRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListReplaysRequest.h @@ -78,8 +78,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to retrieve the next set of - * results.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListReplaysResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListReplaysResult.h index e2059b25550..3ab03c49ed8 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListReplaysResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListReplaysResult.h @@ -50,8 +50,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to retrieve the next set of - * results.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRuleNamesByTargetRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRuleNamesByTargetRequest.h index 4d763f27bc8..392b42c514b 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRuleNamesByTargetRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRuleNamesByTargetRequest.h @@ -65,8 +65,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to retrieve the next set of - * results.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRuleNamesByTargetResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRuleNamesByTargetResult.h index c949deb7d94..6f5007caa5e 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRuleNamesByTargetResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRuleNamesByTargetResult.h @@ -49,8 +49,12 @@ namespace Model ///@{ /** - *

        Indicates whether there are additional results to retrieve. If there are no - * more results, the value is null.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRulesRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRulesRequest.h index 2d55e7072f9..b48d8e1fd29 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRulesRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRulesRequest.h @@ -65,8 +65,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to retrieve the next set of - * results.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRulesResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRulesResult.h index 9f126087df5..0bf069512b9 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRulesResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListRulesResult.h @@ -49,8 +49,12 @@ namespace Model ///@{ /** - *

        Indicates whether there are additional results to retrieve. If there are no - * more results, the value is null.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListTargetsByRuleRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListTargetsByRuleRequest.h index 3bd63659530..38450ee489f 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListTargetsByRuleRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListTargetsByRuleRequest.h @@ -65,8 +65,12 @@ namespace Model ///@{ /** - *

        The token returned by a previous call to retrieve the next set of - * results.

        + *

        The token returned by a previous call, which you can use to retrieve the next + * set of results.

        The value of nextToken is a unique + * pagination token for each page. To retrieve the next page of results, make the + * call again using the returned token. Keep all other arguments unchanged.

        + * Using an expired pagination token results in an HTTP 400 + * InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListTargetsByRuleResult.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListTargetsByRuleResult.h index 77587e69b4f..60a7b97ee35 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListTargetsByRuleResult.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/ListTargetsByRuleResult.h @@ -49,8 +49,12 @@ namespace Model ///@{ /** - *

        Indicates whether there are additional results to retrieve. If there are no - * more results, the value is null.

        + *

        A token indicating there are more results available. If there are no more + * results, no token is included in the response.

        The value of + * nextToken is a unique pagination token for each page. To retrieve + * the next page of results, make the call again using the returned token. Keep all + * other arguments unchanged.

        Using an expired pagination token results in + * an HTTP 400 InvalidToken error.

        */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/Target.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/Target.h index 3c5d873e272..9e670af6ba1 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/Target.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/Target.h @@ -288,8 +288,7 @@ namespace Model ///@{ /** - *

        The RetryPolicy object that contains the retry policy - * configuration to use for the dead-letter queue.

        + *

        The retry policy configuration to use for the dead-letter queue.

        */ inline const RetryPolicy& GetRetryPolicy() const{ return m_retryPolicy; } inline bool RetryPolicyHasBeenSet() const { return m_retryPolicyHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionApiKeyAuthRequestParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionApiKeyAuthRequestParameters.h index f59eb37220c..0af86fb6d68 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionApiKeyAuthRequestParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionApiKeyAuthRequestParameters.h @@ -54,7 +54,7 @@ namespace Model ///@{ /** - *

        The value associated with teh API key to use for authorization.

        + *

        The value associated with the API key to use for authorization.

        */ inline const Aws::String& GetApiKeyValue() const{ return m_apiKeyValue; } inline bool ApiKeyValueHasBeenSet() const { return m_apiKeyValueHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionAuthRequestParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionAuthRequestParameters.h index f55a0f8cdb4..f8941dda8ae 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionAuthRequestParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionAuthRequestParameters.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -43,8 +44,7 @@ namespace Model ///@{ /** - *

        A UpdateConnectionBasicAuthRequestParameters object that - * contains the authorization parameters for Basic authorization.

        + *

        The authorization parameters for Basic authorization.

        */ inline const UpdateConnectionBasicAuthRequestParameters& GetBasicAuthParameters() const{ return m_basicAuthParameters; } inline bool BasicAuthParametersHasBeenSet() const { return m_basicAuthParametersHasBeenSet; } @@ -56,8 +56,7 @@ namespace Model ///@{ /** - *

        A UpdateConnectionOAuthRequestParameters object that contains - * the authorization parameters for OAuth authorization.

        + *

        The authorization parameters for OAuth authorization.

        */ inline const UpdateConnectionOAuthRequestParameters& GetOAuthParameters() const{ return m_oAuthParameters; } inline bool OAuthParametersHasBeenSet() const { return m_oAuthParametersHasBeenSet; } @@ -69,8 +68,7 @@ namespace Model ///@{ /** - *

        A UpdateConnectionApiKeyAuthRequestParameters object that - * contains the authorization parameters for API key authorization.

        + *

        The authorization parameters for API key authorization.

        */ inline const UpdateConnectionApiKeyAuthRequestParameters& GetApiKeyAuthParameters() const{ return m_apiKeyAuthParameters; } inline bool ApiKeyAuthParametersHasBeenSet() const { return m_apiKeyAuthParametersHasBeenSet; } @@ -82,8 +80,7 @@ namespace Model ///@{ /** - *

        A ConnectionHttpParameters object that contains the additional - * parameters to use for the connection.

        + *

        The additional parameters to use for the connection.

        */ inline const ConnectionHttpParameters& GetInvocationHttpParameters() const{ return m_invocationHttpParameters; } inline bool InvocationHttpParametersHasBeenSet() const { return m_invocationHttpParametersHasBeenSet; } @@ -92,6 +89,23 @@ namespace Model inline UpdateConnectionAuthRequestParameters& WithInvocationHttpParameters(const ConnectionHttpParameters& value) { SetInvocationHttpParameters(value); return *this;} inline UpdateConnectionAuthRequestParameters& WithInvocationHttpParameters(ConnectionHttpParameters&& value) { SetInvocationHttpParameters(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        If you specify a private OAuth endpoint, the parameters for EventBridge to + * use when authenticating against the endpoint.

        For more information, see + * Authorization + * methods for connections in the Amazon EventBridge User Guide + * .

        + */ + inline const ConnectivityResourceParameters& GetConnectivityParameters() const{ return m_connectivityParameters; } + inline bool ConnectivityParametersHasBeenSet() const { return m_connectivityParametersHasBeenSet; } + inline void SetConnectivityParameters(const ConnectivityResourceParameters& value) { m_connectivityParametersHasBeenSet = true; m_connectivityParameters = value; } + inline void SetConnectivityParameters(ConnectivityResourceParameters&& value) { m_connectivityParametersHasBeenSet = true; m_connectivityParameters = std::move(value); } + inline UpdateConnectionAuthRequestParameters& WithConnectivityParameters(const ConnectivityResourceParameters& value) { SetConnectivityParameters(value); return *this;} + inline UpdateConnectionAuthRequestParameters& WithConnectivityParameters(ConnectivityResourceParameters&& value) { SetConnectivityParameters(std::move(value)); return *this;} + ///@} private: UpdateConnectionBasicAuthRequestParameters m_basicAuthParameters; @@ -105,6 +119,9 @@ namespace Model ConnectionHttpParameters m_invocationHttpParameters; bool m_invocationHttpParametersHasBeenSet = false; + + ConnectivityResourceParameters m_connectivityParameters; + bool m_connectivityParametersHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionBasicAuthRequestParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionBasicAuthRequestParameters.h index 666bf3bcac3..86f88053dfb 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionBasicAuthRequestParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionBasicAuthRequestParameters.h @@ -24,7 +24,7 @@ namespace Model { /** - *

        Contains the Basic authorization parameters for the connection.

        See + *

        The Basic authorization parameters for the connection.

        See * Also:

        AWS * API Reference

        diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionOAuthClientRequestParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionOAuthClientRequestParameters.h index 0496f59814d..00a13cbec9d 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionOAuthClientRequestParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionOAuthClientRequestParameters.h @@ -24,8 +24,8 @@ namespace Model { /** - *

        Contains the OAuth authorization parameters to use for the - * connection.

        See Also:

        The OAuth authorization parameters to use for the connection.

        See + * Also:

        AWS * API Reference

        */ diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionOAuthRequestParameters.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionOAuthRequestParameters.h index 036ab8f6779..8ec9bb50cca 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionOAuthRequestParameters.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionOAuthRequestParameters.h @@ -27,8 +27,8 @@ namespace Model { /** - *

        Contains the OAuth request parameters to use for the - * connection.

        See Also:

        The OAuth request parameters to use for the connection.

        See + * Also:

        AWS * API Reference

        */ @@ -43,9 +43,8 @@ namespace Model ///@{ /** - *

        A UpdateConnectionOAuthClientRequestParameters object that - * contains the client parameters to use for the connection when OAuth is specified - * as the authorization type.

        + *

        The client parameters to use for the connection when OAuth is specified as + * the authorization type.

        */ inline const UpdateConnectionOAuthClientRequestParameters& GetClientParameters() const{ return m_clientParameters; } inline bool ClientParametersHasBeenSet() const { return m_clientParametersHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionRequest.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionRequest.h index 0e949304fd3..d826dce2bac 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionRequest.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/model/UpdateConnectionRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -87,6 +88,22 @@ namespace Model inline UpdateConnectionRequest& WithAuthParameters(const UpdateConnectionAuthRequestParameters& value) { SetAuthParameters(value); return *this;} inline UpdateConnectionRequest& WithAuthParameters(UpdateConnectionAuthRequestParameters&& value) { SetAuthParameters(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        For connections to private resource endpoints, the parameters to use for + * invoking the resource endpoint.

        For more information, see Connecting + * to private resources in the Amazon EventBridge User Guide + * .

        + */ + inline const ConnectivityResourceParameters& GetInvocationConnectivityParameters() const{ return m_invocationConnectivityParameters; } + inline bool InvocationConnectivityParametersHasBeenSet() const { return m_invocationConnectivityParametersHasBeenSet; } + inline void SetInvocationConnectivityParameters(const ConnectivityResourceParameters& value) { m_invocationConnectivityParametersHasBeenSet = true; m_invocationConnectivityParameters = value; } + inline void SetInvocationConnectivityParameters(ConnectivityResourceParameters&& value) { m_invocationConnectivityParametersHasBeenSet = true; m_invocationConnectivityParameters = std::move(value); } + inline UpdateConnectionRequest& WithInvocationConnectivityParameters(const ConnectivityResourceParameters& value) { SetInvocationConnectivityParameters(value); return *this;} + inline UpdateConnectionRequest& WithInvocationConnectivityParameters(ConnectivityResourceParameters&& value) { SetInvocationConnectivityParameters(std::move(value)); return *this;} + ///@} private: Aws::String m_name; @@ -100,6 +117,9 @@ namespace Model UpdateConnectionAuthRequestParameters m_authParameters; bool m_authParametersHasBeenSet = false; + + ConnectivityResourceParameters m_invocationConnectivityParameters; + bool m_invocationConnectivityParametersHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectionAuthResponseParameters.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectionAuthResponseParameters.cpp index 69ed2a2bb0c..3e5f7e5ffb0 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectionAuthResponseParameters.cpp +++ b/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectionAuthResponseParameters.cpp @@ -22,7 +22,8 @@ ConnectionAuthResponseParameters::ConnectionAuthResponseParameters() : m_basicAuthParametersHasBeenSet(false), m_oAuthParametersHasBeenSet(false), m_apiKeyAuthParametersHasBeenSet(false), - m_invocationHttpParametersHasBeenSet(false) + m_invocationHttpParametersHasBeenSet(false), + m_connectivityParametersHasBeenSet(false) { } @@ -62,6 +63,13 @@ ConnectionAuthResponseParameters& ConnectionAuthResponseParameters::operator =(J m_invocationHttpParametersHasBeenSet = true; } + if(jsonValue.ValueExists("ConnectivityParameters")) + { + m_connectivityParameters = jsonValue.GetObject("ConnectivityParameters"); + + m_connectivityParametersHasBeenSet = true; + } + return *this; } @@ -93,6 +101,12 @@ JsonValue ConnectionAuthResponseParameters::Jsonize() const } + if(m_connectivityParametersHasBeenSet) + { + payload.WithObject("ConnectivityParameters", m_connectivityParameters.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectionState.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectionState.cpp index 87f9b7fdf06..9dee0869988 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectionState.cpp +++ b/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectionState.cpp @@ -27,6 +27,8 @@ namespace Aws static const int DEAUTHORIZED_HASH = HashingUtils::HashString("DEAUTHORIZED"); static const int AUTHORIZING_HASH = HashingUtils::HashString("AUTHORIZING"); static const int DEAUTHORIZING_HASH = HashingUtils::HashString("DEAUTHORIZING"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int FAILED_CONNECTIVITY_HASH = HashingUtils::HashString("FAILED_CONNECTIVITY"); ConnectionState GetConnectionStateForName(const Aws::String& name) @@ -60,6 +62,14 @@ namespace Aws { return ConnectionState::DEAUTHORIZING; } + else if (hashCode == ACTIVE_HASH) + { + return ConnectionState::ACTIVE; + } + else if (hashCode == FAILED_CONNECTIVITY_HASH) + { + return ConnectionState::FAILED_CONNECTIVITY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -90,6 +100,10 @@ namespace Aws return "AUTHORIZING"; case ConnectionState::DEAUTHORIZING: return "DEAUTHORIZING"; + case ConnectionState::ACTIVE: + return "ACTIVE"; + case ConnectionState::FAILED_CONNECTIVITY: + return "FAILED_CONNECTIVITY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectivityResourceConfigurationArn.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectivityResourceConfigurationArn.cpp new file mode 100644 index 00000000000..a77de4006c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectivityResourceConfigurationArn.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EventBridge +{ +namespace Model +{ + +ConnectivityResourceConfigurationArn::ConnectivityResourceConfigurationArn() : + m_resourceConfigurationArnHasBeenSet(false) +{ +} + +ConnectivityResourceConfigurationArn::ConnectivityResourceConfigurationArn(JsonView jsonValue) + : ConnectivityResourceConfigurationArn() +{ + *this = jsonValue; +} + +ConnectivityResourceConfigurationArn& ConnectivityResourceConfigurationArn::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ResourceConfigurationArn")) + { + m_resourceConfigurationArn = jsonValue.GetString("ResourceConfigurationArn"); + + m_resourceConfigurationArnHasBeenSet = true; + } + + return *this; +} + +JsonValue ConnectivityResourceConfigurationArn::Jsonize() const +{ + JsonValue payload; + + if(m_resourceConfigurationArnHasBeenSet) + { + payload.WithString("ResourceConfigurationArn", m_resourceConfigurationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace EventBridge +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectivityResourceParameters.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectivityResourceParameters.cpp new file mode 100644 index 00000000000..4c5ead45b58 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eventbridge/source/model/ConnectivityResourceParameters.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EventBridge +{ +namespace Model +{ + +ConnectivityResourceParameters::ConnectivityResourceParameters() : + m_resourceParametersHasBeenSet(false) +{ +} + +ConnectivityResourceParameters::ConnectivityResourceParameters(JsonView jsonValue) + : ConnectivityResourceParameters() +{ + *this = jsonValue; +} + +ConnectivityResourceParameters& ConnectivityResourceParameters::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ResourceParameters")) + { + m_resourceParameters = jsonValue.GetObject("ResourceParameters"); + + m_resourceParametersHasBeenSet = true; + } + + return *this; +} + +JsonValue ConnectivityResourceParameters::Jsonize() const +{ + JsonValue payload; + + if(m_resourceParametersHasBeenSet) + { + payload.WithObject("ResourceParameters", m_resourceParameters.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace EventBridge +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/model/CreateConnectionAuthRequestParameters.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/model/CreateConnectionAuthRequestParameters.cpp index c0add3c57c1..593e4caccbb 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/source/model/CreateConnectionAuthRequestParameters.cpp +++ b/generated/src/aws-cpp-sdk-eventbridge/source/model/CreateConnectionAuthRequestParameters.cpp @@ -22,7 +22,8 @@ CreateConnectionAuthRequestParameters::CreateConnectionAuthRequestParameters() : m_basicAuthParametersHasBeenSet(false), m_oAuthParametersHasBeenSet(false), m_apiKeyAuthParametersHasBeenSet(false), - m_invocationHttpParametersHasBeenSet(false) + m_invocationHttpParametersHasBeenSet(false), + m_connectivityParametersHasBeenSet(false) { } @@ -62,6 +63,13 @@ CreateConnectionAuthRequestParameters& CreateConnectionAuthRequestParameters::op m_invocationHttpParametersHasBeenSet = true; } + if(jsonValue.ValueExists("ConnectivityParameters")) + { + m_connectivityParameters = jsonValue.GetObject("ConnectivityParameters"); + + m_connectivityParametersHasBeenSet = true; + } + return *this; } @@ -93,6 +101,12 @@ JsonValue CreateConnectionAuthRequestParameters::Jsonize() const } + if(m_connectivityParametersHasBeenSet) + { + payload.WithObject("ConnectivityParameters", m_connectivityParameters.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/model/CreateConnectionRequest.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/model/CreateConnectionRequest.cpp index fe55e5c0ec4..2d9660bce0d 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/source/model/CreateConnectionRequest.cpp +++ b/generated/src/aws-cpp-sdk-eventbridge/source/model/CreateConnectionRequest.cpp @@ -17,7 +17,8 @@ CreateConnectionRequest::CreateConnectionRequest() : m_descriptionHasBeenSet(false), m_authorizationType(ConnectionAuthorizationType::NOT_SET), m_authorizationTypeHasBeenSet(false), - m_authParametersHasBeenSet(false) + m_authParametersHasBeenSet(false), + m_invocationConnectivityParametersHasBeenSet(false) { } @@ -48,6 +49,12 @@ Aws::String CreateConnectionRequest::SerializePayload() const } + if(m_invocationConnectivityParametersHasBeenSet) + { + payload.WithObject("InvocationConnectivityParameters", m_invocationConnectivityParameters.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionConnectivityParameters.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionConnectivityParameters.cpp new file mode 100644 index 00000000000..beeb059afdf --- /dev/null +++ b/generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionConnectivityParameters.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EventBridge +{ +namespace Model +{ + +DescribeConnectionConnectivityParameters::DescribeConnectionConnectivityParameters() : + m_resourceParametersHasBeenSet(false) +{ +} + +DescribeConnectionConnectivityParameters::DescribeConnectionConnectivityParameters(JsonView jsonValue) + : DescribeConnectionConnectivityParameters() +{ + *this = jsonValue; +} + +DescribeConnectionConnectivityParameters& DescribeConnectionConnectivityParameters::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ResourceParameters")) + { + m_resourceParameters = jsonValue.GetObject("ResourceParameters"); + + m_resourceParametersHasBeenSet = true; + } + + return *this; +} + +JsonValue DescribeConnectionConnectivityParameters::Jsonize() const +{ + JsonValue payload; + + if(m_resourceParametersHasBeenSet) + { + payload.WithObject("ResourceParameters", m_resourceParameters.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace EventBridge +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionResourceParameters.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionResourceParameters.cpp new file mode 100644 index 00000000000..42a8501aad8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionResourceParameters.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EventBridge +{ +namespace Model +{ + +DescribeConnectionResourceParameters::DescribeConnectionResourceParameters() : + m_resourceConfigurationArnHasBeenSet(false), + m_resourceAssociationArnHasBeenSet(false) +{ +} + +DescribeConnectionResourceParameters::DescribeConnectionResourceParameters(JsonView jsonValue) + : DescribeConnectionResourceParameters() +{ + *this = jsonValue; +} + +DescribeConnectionResourceParameters& DescribeConnectionResourceParameters::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ResourceConfigurationArn")) + { + m_resourceConfigurationArn = jsonValue.GetString("ResourceConfigurationArn"); + + m_resourceConfigurationArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceAssociationArn")) + { + m_resourceAssociationArn = jsonValue.GetString("ResourceAssociationArn"); + + m_resourceAssociationArnHasBeenSet = true; + } + + return *this; +} + +JsonValue DescribeConnectionResourceParameters::Jsonize() const +{ + JsonValue payload; + + if(m_resourceConfigurationArnHasBeenSet) + { + payload.WithString("ResourceConfigurationArn", m_resourceConfigurationArn); + + } + + if(m_resourceAssociationArnHasBeenSet) + { + payload.WithString("ResourceAssociationArn", m_resourceAssociationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace EventBridge +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionResult.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionResult.cpp index decd59e44c2..208f30ad382 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionResult.cpp +++ b/generated/src/aws-cpp-sdk-eventbridge/source/model/DescribeConnectionResult.cpp @@ -50,6 +50,12 @@ DescribeConnectionResult& DescribeConnectionResult::operator =(const Aws::Amazon } + if(jsonValue.ValueExists("InvocationConnectivityParameters")) + { + m_invocationConnectivityParameters = jsonValue.GetObject("InvocationConnectivityParameters"); + + } + if(jsonValue.ValueExists("ConnectionState")) { m_connectionState = ConnectionStateMapper::GetConnectionStateForName(jsonValue.GetString("ConnectionState")); diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/model/UpdateConnectionAuthRequestParameters.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/model/UpdateConnectionAuthRequestParameters.cpp index 56ef37f58cd..070e2287278 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/source/model/UpdateConnectionAuthRequestParameters.cpp +++ b/generated/src/aws-cpp-sdk-eventbridge/source/model/UpdateConnectionAuthRequestParameters.cpp @@ -22,7 +22,8 @@ UpdateConnectionAuthRequestParameters::UpdateConnectionAuthRequestParameters() : m_basicAuthParametersHasBeenSet(false), m_oAuthParametersHasBeenSet(false), m_apiKeyAuthParametersHasBeenSet(false), - m_invocationHttpParametersHasBeenSet(false) + m_invocationHttpParametersHasBeenSet(false), + m_connectivityParametersHasBeenSet(false) { } @@ -62,6 +63,13 @@ UpdateConnectionAuthRequestParameters& UpdateConnectionAuthRequestParameters::op m_invocationHttpParametersHasBeenSet = true; } + if(jsonValue.ValueExists("ConnectivityParameters")) + { + m_connectivityParameters = jsonValue.GetObject("ConnectivityParameters"); + + m_connectivityParametersHasBeenSet = true; + } + return *this; } @@ -93,6 +101,12 @@ JsonValue UpdateConnectionAuthRequestParameters::Jsonize() const } + if(m_connectivityParametersHasBeenSet) + { + payload.WithObject("ConnectivityParameters", m_connectivityParameters.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/model/UpdateConnectionRequest.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/model/UpdateConnectionRequest.cpp index 9e342312bea..d070dfc8749 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/source/model/UpdateConnectionRequest.cpp +++ b/generated/src/aws-cpp-sdk-eventbridge/source/model/UpdateConnectionRequest.cpp @@ -17,7 +17,8 @@ UpdateConnectionRequest::UpdateConnectionRequest() : m_descriptionHasBeenSet(false), m_authorizationType(ConnectionAuthorizationType::NOT_SET), m_authorizationTypeHasBeenSet(false), - m_authParametersHasBeenSet(false) + m_authParametersHasBeenSet(false), + m_invocationConnectivityParametersHasBeenSet(false) { } @@ -48,6 +49,12 @@ Aws::String UpdateConnectionRequest::SerializePayload() const } + if(m_invocationConnectivityParametersHasBeenSet) + { + payload.WithObject("InvocationConnectivityParameters", m_invocationConnectivityParameters.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h index a3e114611f9..c507192d00f 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h @@ -1553,6 +1553,7 @@ namespace FSx * CopyTagsToVolumes

      • * DailyAutomaticBackupStartTime

      • * DiskIopsConfiguration

      • + * ReadCacheConfiguration

      • * RemoveRouteTableIds

      • * StorageCapacity

      • ThroughputCapacity *

      • WeeklyMaintenanceStartTime

      • diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/Backup.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/Backup.h index d7b6e6e266f..3d500e68bf3 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/Backup.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/Backup.h @@ -257,6 +257,17 @@ namespace Model inline Backup& WithVolume(const Volume& value) { SetVolume(value); return *this;} inline Backup& WithVolume(Volume&& value) { SetVolume(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        The size of the backup in bytes. This represents the amount of data that the + * file system would contain if you restore this backup.

        + */ + inline long long GetSizeInBytes() const{ return m_sizeInBytes; } + inline bool SizeInBytesHasBeenSet() const { return m_sizeInBytesHasBeenSet; } + inline void SetSizeInBytes(long long value) { m_sizeInBytesHasBeenSet = true; m_sizeInBytes = value; } + inline Backup& WithSizeInBytes(long long value) { SetSizeInBytes(value); return *this;} + ///@} private: Aws::String m_backupId; @@ -306,6 +317,9 @@ namespace Model Volume m_volume; bool m_volumeHasBeenSet = false; + + long long m_sizeInBytes; + bool m_sizeInBytesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemOpenZFSConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemOpenZFSConfiguration.h index 9c09f78a545..86686244461 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemOpenZFSConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemOpenZFSConfiguration.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -231,6 +232,19 @@ namespace Model inline CreateFileSystemOpenZFSConfiguration& AddRouteTableIds(Aws::String&& value) { m_routeTableIdsHasBeenSet = true; m_routeTableIds.push_back(std::move(value)); return *this; } inline CreateFileSystemOpenZFSConfiguration& AddRouteTableIds(const char* value) { m_routeTableIdsHasBeenSet = true; m_routeTableIds.push_back(value); return *this; } ///@} + + ///@{ + /** + *

        Specifies the optional provisioned SSD read cache on file systems that use + * the Intelligent-Tiering storage class.

        + */ + inline const OpenZFSReadCacheConfiguration& GetReadCacheConfiguration() const{ return m_readCacheConfiguration; } + inline bool ReadCacheConfigurationHasBeenSet() const { return m_readCacheConfigurationHasBeenSet; } + inline void SetReadCacheConfiguration(const OpenZFSReadCacheConfiguration& value) { m_readCacheConfigurationHasBeenSet = true; m_readCacheConfiguration = value; } + inline void SetReadCacheConfiguration(OpenZFSReadCacheConfiguration&& value) { m_readCacheConfigurationHasBeenSet = true; m_readCacheConfiguration = std::move(value); } + inline CreateFileSystemOpenZFSConfiguration& WithReadCacheConfiguration(const OpenZFSReadCacheConfiguration& value) { SetReadCacheConfiguration(value); return *this;} + inline CreateFileSystemOpenZFSConfiguration& WithReadCacheConfiguration(OpenZFSReadCacheConfiguration&& value) { SetReadCacheConfiguration(std::move(value)); return *this;} + ///@} private: int m_automaticBackupRetentionDays; @@ -268,6 +282,9 @@ namespace Model Aws::Vector m_routeTableIds; bool m_routeTableIdsHasBeenSet = false; + + OpenZFSReadCacheConfiguration m_readCacheConfiguration; + bool m_readCacheConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemRequest.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemRequest.h index 1b5db6b1735..e97a98407a1 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemRequest.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemRequest.h @@ -110,20 +110,26 @@ namespace Model ///@{ /** - *

        Sets the storage type for the file system that you're creating. Valid values - * are SSD and HDD.

        • Set to - * SSD to use solid state drive storage. SSD is supported on all - * Windows, Lustre, ONTAP, and OpenZFS deployment types.

        • Set to - * HDD to use hard disk drive storage. HDD is supported on - * SINGLE_AZ_2 and MULTI_AZ_1 Windows file system - * deployment types, and on PERSISTENT_1 Lustre file system deployment - * types.

        Default value is SSD. For more - * information, see Sets the storage class for the file system that you're creating. Valid values + * are SSD, HDD, and + * INTELLIGENT_TIERING.

        • Set to SSD to + * use solid state drive storage. SSD is supported on all Windows, Lustre, ONTAP, + * and OpenZFS deployment types.

        • Set to HDD to use + * hard disk drive storage. HDD is supported on SINGLE_AZ_2 and + * MULTI_AZ_1 Windows file system deployment types, and on + * PERSISTENT_1 Lustre file system deployment types.

        • + *

          Set to INTELLIGENT_TIERING to use fully elastic, + * intelligently-tiered storage. Intelligent-Tiering is only available for OpenZFS + * file systems with the Multi-AZ deployment type.

        Default value + * is SSD. For more information, see - * Storage type options in the FSx for Windows File Server User Guide - * and in the FSx for Windows File Server User Guide, + * Multiple - * storage options in the FSx for Lustre User Guide.

        + * storage options in the FSx for Lustre User Guide, and Working + * with Intelligent-Tiering in the Amazon FSx for OpenZFS User Guide. + *

        */ inline const StorageType& GetStorageType() const{ return m_storageType; } inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOpenZFSVolumeConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOpenZFSVolumeConfiguration.h index 36c2653164f..1bbf06311fa 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOpenZFSVolumeConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOpenZFSVolumeConfiguration.h @@ -97,12 +97,15 @@ namespace Model ///@{ /** *

        Specifies the suggested block size for a volume in a ZFS dataset, in - * kibibytes (KiB). Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. - * The default is 128 KiB. We recommend using the default setting for the majority - * of use cases. Generally, workloads that write in fixed small or large record - * sizes may benefit from setting a custom record size, like database workloads - * (small record size) or media streaming workloads (large record size). For - * additional guidance on when to set a custom record size, see * ZFS Record size in the Amazon FSx for OpenZFS User Guide.

        */ diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSFileSystemConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSFileSystemConfiguration.h index dedad3f6688..3cfb5f09da8 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSFileSystemConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSFileSystemConfiguration.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -219,6 +220,20 @@ namespace Model inline OpenZFSFileSystemConfiguration& WithEndpointIpAddress(Aws::String&& value) { SetEndpointIpAddress(std::move(value)); return *this;} inline OpenZFSFileSystemConfiguration& WithEndpointIpAddress(const char* value) { SetEndpointIpAddress(value); return *this;} ///@} + + ///@{ + /** + *

        Required when StorageType is set to + * INTELLIGENT_TIERING. Specifies the optional provisioned SSD read + * cache.

        + */ + inline const OpenZFSReadCacheConfiguration& GetReadCacheConfiguration() const{ return m_readCacheConfiguration; } + inline bool ReadCacheConfigurationHasBeenSet() const { return m_readCacheConfigurationHasBeenSet; } + inline void SetReadCacheConfiguration(const OpenZFSReadCacheConfiguration& value) { m_readCacheConfigurationHasBeenSet = true; m_readCacheConfiguration = value; } + inline void SetReadCacheConfiguration(OpenZFSReadCacheConfiguration&& value) { m_readCacheConfigurationHasBeenSet = true; m_readCacheConfiguration = std::move(value); } + inline OpenZFSFileSystemConfiguration& WithReadCacheConfiguration(const OpenZFSReadCacheConfiguration& value) { SetReadCacheConfiguration(value); return *this;} + inline OpenZFSFileSystemConfiguration& WithReadCacheConfiguration(OpenZFSReadCacheConfiguration&& value) { SetReadCacheConfiguration(std::move(value)); return *this;} + ///@} private: int m_automaticBackupRetentionDays; @@ -259,6 +274,9 @@ namespace Model Aws::String m_endpointIpAddress; bool m_endpointIpAddressHasBeenSet = false; + + OpenZFSReadCacheConfiguration m_readCacheConfiguration; + bool m_readCacheConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSReadCacheConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSReadCacheConfiguration.h new file mode 100644 index 00000000000..c286ec70abe --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSReadCacheConfiguration.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace FSx +{ +namespace Model +{ + + /** + *

        The configuration for the optional provisioned SSD read cache on file + * systems that use the Intelligent-Tiering storage class.

        See + * Also:

        AWS + * API Reference

        + */ + class OpenZFSReadCacheConfiguration + { + public: + AWS_FSX_API OpenZFSReadCacheConfiguration(); + AWS_FSX_API OpenZFSReadCacheConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_FSX_API OpenZFSReadCacheConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Specifies how the provisioned SSD read cache is sized, as follows:

          + *
        • Set to NO_CACHE if you do not want to use an SSD read cache + * with your Intelligent-Tiering file system.

        • Set to + * USER_PROVISIONED to specify the exact size of your SSD read + * cache.

        • Set to PROPORTIONAL_TO_THROUGHPUT_CAPACITY + * to have your SSD read cache automatically sized based on your throughput + * capacity.

        + */ + inline const OpenZFSReadCacheSizingMode& GetSizingMode() const{ return m_sizingMode; } + inline bool SizingModeHasBeenSet() const { return m_sizingModeHasBeenSet; } + inline void SetSizingMode(const OpenZFSReadCacheSizingMode& value) { m_sizingModeHasBeenSet = true; m_sizingMode = value; } + inline void SetSizingMode(OpenZFSReadCacheSizingMode&& value) { m_sizingModeHasBeenSet = true; m_sizingMode = std::move(value); } + inline OpenZFSReadCacheConfiguration& WithSizingMode(const OpenZFSReadCacheSizingMode& value) { SetSizingMode(value); return *this;} + inline OpenZFSReadCacheConfiguration& WithSizingMode(OpenZFSReadCacheSizingMode&& value) { SetSizingMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Required if SizingMode is set to USER_PROVISIONED. + * Specifies the size of the file system's SSD read cache, in gibibytes (GiB).

        + */ + inline int GetSizeGiB() const{ return m_sizeGiB; } + inline bool SizeGiBHasBeenSet() const { return m_sizeGiBHasBeenSet; } + inline void SetSizeGiB(int value) { m_sizeGiBHasBeenSet = true; m_sizeGiB = value; } + inline OpenZFSReadCacheConfiguration& WithSizeGiB(int value) { SetSizeGiB(value); return *this;} + ///@} + private: + + OpenZFSReadCacheSizingMode m_sizingMode; + bool m_sizingModeHasBeenSet = false; + + int m_sizeGiB; + bool m_sizeGiBHasBeenSet = false; + }; + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSReadCacheSizingMode.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSReadCacheSizingMode.h new file mode 100644 index 00000000000..41885493dcc --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSReadCacheSizingMode.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace FSx +{ +namespace Model +{ + enum class OpenZFSReadCacheSizingMode + { + NOT_SET, + NO_CACHE, + USER_PROVISIONED, + PROPORTIONAL_TO_THROUGHPUT_CAPACITY + }; + +namespace OpenZFSReadCacheSizingModeMapper +{ +AWS_FSX_API OpenZFSReadCacheSizingMode GetOpenZFSReadCacheSizingModeForName(const Aws::String& name); + +AWS_FSX_API Aws::String GetNameForOpenZFSReadCacheSizingMode(OpenZFSReadCacheSizingMode value); +} // namespace OpenZFSReadCacheSizingModeMapper +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/StorageType.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/StorageType.h index c31f10073cd..18a350d7ca6 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/StorageType.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/StorageType.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, SSD, - HDD + HDD, + INTELLIGENT_TIERING }; namespace StorageTypeMapper diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateFileSystemOpenZFSConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateFileSystemOpenZFSConfiguration.h index aa40d716fab..7a631cf82c0 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateFileSystemOpenZFSConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateFileSystemOpenZFSConfiguration.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -163,6 +164,19 @@ namespace Model inline UpdateFileSystemOpenZFSConfiguration& AddRemoveRouteTableIds(Aws::String&& value) { m_removeRouteTableIdsHasBeenSet = true; m_removeRouteTableIds.push_back(std::move(value)); return *this; } inline UpdateFileSystemOpenZFSConfiguration& AddRemoveRouteTableIds(const char* value) { m_removeRouteTableIdsHasBeenSet = true; m_removeRouteTableIds.push_back(value); return *this; } ///@} + + ///@{ + /** + *

        The configuration for the optional provisioned SSD read cache on file + * systems that use the Intelligent-Tiering storage class.

        + */ + inline const OpenZFSReadCacheConfiguration& GetReadCacheConfiguration() const{ return m_readCacheConfiguration; } + inline bool ReadCacheConfigurationHasBeenSet() const { return m_readCacheConfigurationHasBeenSet; } + inline void SetReadCacheConfiguration(const OpenZFSReadCacheConfiguration& value) { m_readCacheConfigurationHasBeenSet = true; m_readCacheConfiguration = value; } + inline void SetReadCacheConfiguration(OpenZFSReadCacheConfiguration&& value) { m_readCacheConfigurationHasBeenSet = true; m_readCacheConfiguration = std::move(value); } + inline UpdateFileSystemOpenZFSConfiguration& WithReadCacheConfiguration(const OpenZFSReadCacheConfiguration& value) { SetReadCacheConfiguration(value); return *this;} + inline UpdateFileSystemOpenZFSConfiguration& WithReadCacheConfiguration(OpenZFSReadCacheConfiguration&& value) { SetReadCacheConfiguration(std::move(value)); return *this;} + ///@} private: int m_automaticBackupRetentionDays; @@ -191,6 +205,9 @@ namespace Model Aws::Vector m_removeRouteTableIds; bool m_removeRouteTableIdsHasBeenSet = false; + + OpenZFSReadCacheConfiguration m_readCacheConfiguration; + bool m_readCacheConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/Backup.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/Backup.cpp index dbf6cfe5f2e..487cb1caee0 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/Backup.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/Backup.cpp @@ -38,7 +38,9 @@ Backup::Backup() : m_sourceBackupRegionHasBeenSet(false), m_resourceType(ResourceType::NOT_SET), m_resourceTypeHasBeenSet(false), - m_volumeHasBeenSet(false) + m_volumeHasBeenSet(false), + m_sizeInBytes(0), + m_sizeInBytesHasBeenSet(false) { } @@ -165,6 +167,13 @@ Backup& Backup::operator =(JsonView jsonValue) m_volumeHasBeenSet = true; } + if(jsonValue.ValueExists("SizeInBytes")) + { + m_sizeInBytes = jsonValue.GetInt64("SizeInBytes"); + + m_sizeInBytesHasBeenSet = true; + } + return *this; } @@ -269,6 +278,12 @@ JsonValue Backup::Jsonize() const } + if(m_sizeInBytesHasBeenSet) + { + payload.WithInt64("SizeInBytes", m_sizeInBytes); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/CreateFileSystemOpenZFSConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/CreateFileSystemOpenZFSConfiguration.cpp index 6b629bbd29f..9f8654d58e1 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/CreateFileSystemOpenZFSConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/CreateFileSystemOpenZFSConfiguration.cpp @@ -35,7 +35,8 @@ CreateFileSystemOpenZFSConfiguration::CreateFileSystemOpenZFSConfiguration() : m_rootVolumeConfigurationHasBeenSet(false), m_preferredSubnetIdHasBeenSet(false), m_endpointIpAddressRangeHasBeenSet(false), - m_routeTableIdsHasBeenSet(false) + m_routeTableIdsHasBeenSet(false), + m_readCacheConfigurationHasBeenSet(false) { } @@ -134,6 +135,13 @@ CreateFileSystemOpenZFSConfiguration& CreateFileSystemOpenZFSConfiguration::oper m_routeTableIdsHasBeenSet = true; } + if(jsonValue.ValueExists("ReadCacheConfiguration")) + { + m_readCacheConfiguration = jsonValue.GetObject("ReadCacheConfiguration"); + + m_readCacheConfigurationHasBeenSet = true; + } + return *this; } @@ -217,6 +225,12 @@ JsonValue CreateFileSystemOpenZFSConfiguration::Jsonize() const } + if(m_readCacheConfigurationHasBeenSet) + { + payload.WithObject("ReadCacheConfiguration", m_readCacheConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSFileSystemConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSFileSystemConfiguration.cpp index cbf75707d97..030eee2ada7 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSFileSystemConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSFileSystemConfiguration.cpp @@ -36,7 +36,8 @@ OpenZFSFileSystemConfiguration::OpenZFSFileSystemConfiguration() : m_preferredSubnetIdHasBeenSet(false), m_endpointIpAddressRangeHasBeenSet(false), m_routeTableIdsHasBeenSet(false), - m_endpointIpAddressHasBeenSet(false) + m_endpointIpAddressHasBeenSet(false), + m_readCacheConfigurationHasBeenSet(false) { } @@ -142,6 +143,13 @@ OpenZFSFileSystemConfiguration& OpenZFSFileSystemConfiguration::operator =(JsonV m_endpointIpAddressHasBeenSet = true; } + if(jsonValue.ValueExists("ReadCacheConfiguration")) + { + m_readCacheConfiguration = jsonValue.GetObject("ReadCacheConfiguration"); + + m_readCacheConfigurationHasBeenSet = true; + } + return *this; } @@ -231,6 +239,12 @@ JsonValue OpenZFSFileSystemConfiguration::Jsonize() const } + if(m_readCacheConfigurationHasBeenSet) + { + payload.WithObject("ReadCacheConfiguration", m_readCacheConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSReadCacheConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSReadCacheConfiguration.cpp new file mode 100644 index 00000000000..bca11f56238 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSReadCacheConfiguration.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace FSx +{ +namespace Model +{ + +OpenZFSReadCacheConfiguration::OpenZFSReadCacheConfiguration() : + m_sizingMode(OpenZFSReadCacheSizingMode::NOT_SET), + m_sizingModeHasBeenSet(false), + m_sizeGiB(0), + m_sizeGiBHasBeenSet(false) +{ +} + +OpenZFSReadCacheConfiguration::OpenZFSReadCacheConfiguration(JsonView jsonValue) + : OpenZFSReadCacheConfiguration() +{ + *this = jsonValue; +} + +OpenZFSReadCacheConfiguration& OpenZFSReadCacheConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SizingMode")) + { + m_sizingMode = OpenZFSReadCacheSizingModeMapper::GetOpenZFSReadCacheSizingModeForName(jsonValue.GetString("SizingMode")); + + m_sizingModeHasBeenSet = true; + } + + if(jsonValue.ValueExists("SizeGiB")) + { + m_sizeGiB = jsonValue.GetInteger("SizeGiB"); + + m_sizeGiBHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenZFSReadCacheConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_sizingModeHasBeenSet) + { + payload.WithString("SizingMode", OpenZFSReadCacheSizingModeMapper::GetNameForOpenZFSReadCacheSizingMode(m_sizingMode)); + } + + if(m_sizeGiBHasBeenSet) + { + payload.WithInteger("SizeGiB", m_sizeGiB); + + } + + return payload; +} + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSReadCacheSizingMode.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSReadCacheSizingMode.cpp new file mode 100644 index 00000000000..32b24d40e2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSReadCacheSizingMode.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace FSx + { + namespace Model + { + namespace OpenZFSReadCacheSizingModeMapper + { + + static const int NO_CACHE_HASH = HashingUtils::HashString("NO_CACHE"); + static const int USER_PROVISIONED_HASH = HashingUtils::HashString("USER_PROVISIONED"); + static const int PROPORTIONAL_TO_THROUGHPUT_CAPACITY_HASH = HashingUtils::HashString("PROPORTIONAL_TO_THROUGHPUT_CAPACITY"); + + + OpenZFSReadCacheSizingMode GetOpenZFSReadCacheSizingModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == NO_CACHE_HASH) + { + return OpenZFSReadCacheSizingMode::NO_CACHE; + } + else if (hashCode == USER_PROVISIONED_HASH) + { + return OpenZFSReadCacheSizingMode::USER_PROVISIONED; + } + else if (hashCode == PROPORTIONAL_TO_THROUGHPUT_CAPACITY_HASH) + { + return OpenZFSReadCacheSizingMode::PROPORTIONAL_TO_THROUGHPUT_CAPACITY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OpenZFSReadCacheSizingMode::NOT_SET; + } + + Aws::String GetNameForOpenZFSReadCacheSizingMode(OpenZFSReadCacheSizingMode enumValue) + { + switch(enumValue) + { + case OpenZFSReadCacheSizingMode::NOT_SET: + return {}; + case OpenZFSReadCacheSizingMode::NO_CACHE: + return "NO_CACHE"; + case OpenZFSReadCacheSizingMode::USER_PROVISIONED: + return "USER_PROVISIONED"; + case OpenZFSReadCacheSizingMode::PROPORTIONAL_TO_THROUGHPUT_CAPACITY: + return "PROPORTIONAL_TO_THROUGHPUT_CAPACITY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OpenZFSReadCacheSizingModeMapper + } // namespace Model + } // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/StorageType.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/StorageType.cpp index d4bf4f3682f..8537d5a121d 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/StorageType.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/StorageType.cpp @@ -22,6 +22,7 @@ namespace Aws static const int SSD_HASH = HashingUtils::HashString("SSD"); static const int HDD_HASH = HashingUtils::HashString("HDD"); + static const int INTELLIGENT_TIERING_HASH = HashingUtils::HashString("INTELLIGENT_TIERING"); StorageType GetStorageTypeForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return StorageType::HDD; } + else if (hashCode == INTELLIGENT_TIERING_HASH) + { + return StorageType::INTELLIGENT_TIERING; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "SSD"; case StorageType::HDD: return "HDD"; + case StorageType::INTELLIGENT_TIERING: + return "INTELLIGENT_TIERING"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/UpdateFileSystemOpenZFSConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateFileSystemOpenZFSConfiguration.cpp index 14ce5a51f0b..09f09659e08 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/UpdateFileSystemOpenZFSConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateFileSystemOpenZFSConfiguration.cpp @@ -31,7 +31,8 @@ UpdateFileSystemOpenZFSConfiguration::UpdateFileSystemOpenZFSConfiguration() : m_weeklyMaintenanceStartTimeHasBeenSet(false), m_diskIopsConfigurationHasBeenSet(false), m_addRouteTableIdsHasBeenSet(false), - m_removeRouteTableIdsHasBeenSet(false) + m_removeRouteTableIdsHasBeenSet(false), + m_readCacheConfigurationHasBeenSet(false) { } @@ -112,6 +113,13 @@ UpdateFileSystemOpenZFSConfiguration& UpdateFileSystemOpenZFSConfiguration::oper m_removeRouteTableIdsHasBeenSet = true; } + if(jsonValue.ValueExists("ReadCacheConfiguration")) + { + m_readCacheConfiguration = jsonValue.GetObject("ReadCacheConfiguration"); + + m_readCacheConfigurationHasBeenSet = true; + } + return *this; } @@ -183,6 +191,12 @@ JsonValue UpdateFileSystemOpenZFSConfiguration::Jsonize() const } + if(m_readCacheConfigurationHasBeenSet) + { + payload.WithObject("ReadCacheConfiguration", m_readCacheConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AccessKey.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AccessKey.h new file mode 100644 index 00000000000..0cae36b5d78 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AccessKey.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the access keys.

        See Also:

        AWS + * API Reference

        + */ + class AccessKey + { + public: + AWS_GUARDDUTY_API AccessKey(); + AWS_GUARDDUTY_API AccessKey(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API AccessKey& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Principal ID of the user.

        + */ + inline const Aws::String& GetPrincipalId() const{ return m_principalId; } + inline bool PrincipalIdHasBeenSet() const { return m_principalIdHasBeenSet; } + inline void SetPrincipalId(const Aws::String& value) { m_principalIdHasBeenSet = true; m_principalId = value; } + inline void SetPrincipalId(Aws::String&& value) { m_principalIdHasBeenSet = true; m_principalId = std::move(value); } + inline void SetPrincipalId(const char* value) { m_principalIdHasBeenSet = true; m_principalId.assign(value); } + inline AccessKey& WithPrincipalId(const Aws::String& value) { SetPrincipalId(value); return *this;} + inline AccessKey& WithPrincipalId(Aws::String&& value) { SetPrincipalId(std::move(value)); return *this;} + inline AccessKey& WithPrincipalId(const char* value) { SetPrincipalId(value); return *this;} + ///@} + + ///@{ + /** + *

        Name of the user.

        + */ + inline const Aws::String& GetUserName() const{ return m_userName; } + inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; } + inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; } + inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); } + inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); } + inline AccessKey& WithUserName(const Aws::String& value) { SetUserName(value); return *this;} + inline AccessKey& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;} + inline AccessKey& WithUserName(const char* value) { SetUserName(value); return *this;} + ///@} + + ///@{ + /** + *

        Type of the user.

        + */ + inline const Aws::String& GetUserType() const{ return m_userType; } + inline bool UserTypeHasBeenSet() const { return m_userTypeHasBeenSet; } + inline void SetUserType(const Aws::String& value) { m_userTypeHasBeenSet = true; m_userType = value; } + inline void SetUserType(Aws::String&& value) { m_userTypeHasBeenSet = true; m_userType = std::move(value); } + inline void SetUserType(const char* value) { m_userTypeHasBeenSet = true; m_userType.assign(value); } + inline AccessKey& WithUserType(const Aws::String& value) { SetUserType(value); return *this;} + inline AccessKey& WithUserType(Aws::String&& value) { SetUserType(std::move(value)); return *this;} + inline AccessKey& WithUserType(const char* value) { SetUserType(value); return *this;} + ///@} + private: + + Aws::String m_principalId; + bool m_principalIdHasBeenSet = false; + + Aws::String m_userName; + bool m_userNameHasBeenSet = false; + + Aws::String m_userType; + bool m_userTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Account.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Account.h new file mode 100644 index 00000000000..0c4937b79a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Account.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the account.

        See Also:

        AWS + * API Reference

        + */ + class Account + { + public: + AWS_GUARDDUTY_API Account(); + AWS_GUARDDUTY_API Account(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Account& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        ID of the member's Amazon Web Services account

        + */ + inline const Aws::String& GetUid() const{ return m_uid; } + inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } + inline void SetUid(const Aws::String& value) { m_uidHasBeenSet = true; m_uid = value; } + inline void SetUid(Aws::String&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } + inline void SetUid(const char* value) { m_uidHasBeenSet = true; m_uid.assign(value); } + inline Account& WithUid(const Aws::String& value) { SetUid(value); return *this;} + inline Account& WithUid(Aws::String&& value) { SetUid(std::move(value)); return *this;} + inline Account& WithUid(const char* value) { SetUid(value); return *this;} + ///@} + + ///@{ + /** + *

        Name of the member's Amazon Web Services account.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline Account& WithName(const Aws::String& value) { SetName(value); return *this;} + inline Account& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline Account& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_uid; + bool m_uidHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Actor.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Actor.h new file mode 100644 index 00000000000..6bfadaff6ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Actor.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Information about the actors involved in an attack sequence.

        See + * Also:

        AWS API + * Reference

        + */ + class Actor + { + public: + AWS_GUARDDUTY_API Actor(); + AWS_GUARDDUTY_API Actor(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Actor& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        ID of the threat actor.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline Actor& WithId(const Aws::String& value) { SetId(value); return *this;} + inline Actor& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline Actor& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the user credentials used by the threat actor.

        + */ + inline const User& GetUser() const{ return m_user; } + inline bool UserHasBeenSet() const { return m_userHasBeenSet; } + inline void SetUser(const User& value) { m_userHasBeenSet = true; m_user = value; } + inline void SetUser(User&& value) { m_userHasBeenSet = true; m_user = std::move(value); } + inline Actor& WithUser(const User& value) { SetUser(value); return *this;} + inline Actor& WithUser(User&& value) { SetUser(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the user session where the activity initiated.

        + */ + inline const Session& GetSession() const{ return m_session; } + inline bool SessionHasBeenSet() const { return m_sessionHasBeenSet; } + inline void SetSession(const Session& value) { m_sessionHasBeenSet = true; m_session = value; } + inline void SetSession(Session&& value) { m_sessionHasBeenSet = true; m_session = std::move(value); } + inline Actor& WithSession(const Session& value) { SetSession(value); return *this;} + inline Actor& WithSession(Session&& value) { SetSession(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + User m_user; + bool m_userHasBeenSet = false; + + Session m_session; + bool m_sessionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AutonomousSystem.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AutonomousSystem.h new file mode 100644 index 00000000000..424d078511b --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AutonomousSystem.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the Autonomous System (AS) associated with the + * network endpoints involved in an attack sequence.

        See Also:

        AWS + * API Reference

        + */ + class AutonomousSystem + { + public: + AWS_GUARDDUTY_API AutonomousSystem(); + AWS_GUARDDUTY_API AutonomousSystem(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API AutonomousSystem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Name associated with the Autonomous System (AS).

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline AutonomousSystem& WithName(const Aws::String& value) { SetName(value); return *this;} + inline AutonomousSystem& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline AutonomousSystem& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The unique number that identifies the Autonomous System (AS).

        + */ + inline int GetNumber() const{ return m_number; } + inline bool NumberHasBeenSet() const { return m_numberHasBeenSet; } + inline void SetNumber(int value) { m_numberHasBeenSet = true; m_number = value; } + inline AutonomousSystem& WithNumber(int value) { SetNumber(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + int m_number; + bool m_numberHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Detection.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Detection.h index b7ebf84d459..ca4448f08ff 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Detection.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Detection.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -50,10 +51,25 @@ namespace Model inline Detection& WithAnomaly(const Anomaly& value) { SetAnomaly(value); return *this;} inline Detection& WithAnomaly(Anomaly&& value) { SetAnomaly(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        The details about the attack sequence.

        + */ + inline const Sequence& GetSequence() const{ return m_sequence; } + inline bool SequenceHasBeenSet() const { return m_sequenceHasBeenSet; } + inline void SetSequence(const Sequence& value) { m_sequenceHasBeenSet = true; m_sequence = value; } + inline void SetSequence(Sequence&& value) { m_sequenceHasBeenSet = true; m_sequence = std::move(value); } + inline Detection& WithSequence(const Sequence& value) { SetSequence(value); return *this;} + inline Detection& WithSequence(Sequence&& value) { SetSequence(std::move(value)); return *this;} + ///@} private: Anomaly m_anomaly; bool m_anomalyHasBeenSet = false; + + Sequence m_sequence; + bool m_sequenceHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Ec2Instance.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Ec2Instance.h new file mode 100644 index 00000000000..984bb59bd32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Ec2Instance.h @@ -0,0 +1,204 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Details about the potentially impacted Amazon EC2 instance + * resource.

        See Also:

        AWS + * API Reference

        + */ + class Ec2Instance + { + public: + AWS_GUARDDUTY_API Ec2Instance(); + AWS_GUARDDUTY_API Ec2Instance(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Ec2Instance& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The availability zone of the Amazon EC2 instance. For more information, see + * Availability + * zones in the Amazon EC2 User Guide.

        + */ + inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } + inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } + inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } + inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } + inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } + inline Ec2Instance& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} + inline Ec2Instance& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} + inline Ec2Instance& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} + ///@} + + ///@{ + /** + *

        The image description of the Amazon EC2 instance.

        + */ + inline const Aws::String& GetImageDescription() const{ return m_imageDescription; } + inline bool ImageDescriptionHasBeenSet() const { return m_imageDescriptionHasBeenSet; } + inline void SetImageDescription(const Aws::String& value) { m_imageDescriptionHasBeenSet = true; m_imageDescription = value; } + inline void SetImageDescription(Aws::String&& value) { m_imageDescriptionHasBeenSet = true; m_imageDescription = std::move(value); } + inline void SetImageDescription(const char* value) { m_imageDescriptionHasBeenSet = true; m_imageDescription.assign(value); } + inline Ec2Instance& WithImageDescription(const Aws::String& value) { SetImageDescription(value); return *this;} + inline Ec2Instance& WithImageDescription(Aws::String&& value) { SetImageDescription(std::move(value)); return *this;} + inline Ec2Instance& WithImageDescription(const char* value) { SetImageDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        The state of the Amazon EC2 instance. For more information, see Amazon + * EC2 instance state changes in the Amazon EC2 User Guide.

        + */ + inline const Aws::String& GetInstanceState() const{ return m_instanceState; } + inline bool InstanceStateHasBeenSet() const { return m_instanceStateHasBeenSet; } + inline void SetInstanceState(const Aws::String& value) { m_instanceStateHasBeenSet = true; m_instanceState = value; } + inline void SetInstanceState(Aws::String&& value) { m_instanceStateHasBeenSet = true; m_instanceState = std::move(value); } + inline void SetInstanceState(const char* value) { m_instanceStateHasBeenSet = true; m_instanceState.assign(value); } + inline Ec2Instance& WithInstanceState(const Aws::String& value) { SetInstanceState(value); return *this;} + inline Ec2Instance& WithInstanceState(Aws::String&& value) { SetInstanceState(std::move(value)); return *this;} + inline Ec2Instance& WithInstanceState(const char* value) { SetInstanceState(value); return *this;} + ///@} + + ///@{ + + inline const IamInstanceProfile& GetIamInstanceProfile() const{ return m_iamInstanceProfile; } + inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; } + inline void SetIamInstanceProfile(const IamInstanceProfile& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; } + inline void SetIamInstanceProfile(IamInstanceProfile&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::move(value); } + inline Ec2Instance& WithIamInstanceProfile(const IamInstanceProfile& value) { SetIamInstanceProfile(value); return *this;} + inline Ec2Instance& WithIamInstanceProfile(IamInstanceProfile&& value) { SetIamInstanceProfile(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Type of the Amazon EC2 instance.

        + */ + inline const Aws::String& GetInstanceType() const{ return m_instanceType; } + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } + inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } + inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } + inline Ec2Instance& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} + inline Ec2Instance& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} + inline Ec2Instance& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the Amazon Web Services Outpost. This shows + * applicable Amazon Web Services Outposts instances.

        + */ + inline const Aws::String& GetOutpostArn() const{ return m_outpostArn; } + inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; } + inline void SetOutpostArn(const Aws::String& value) { m_outpostArnHasBeenSet = true; m_outpostArn = value; } + inline void SetOutpostArn(Aws::String&& value) { m_outpostArnHasBeenSet = true; m_outpostArn = std::move(value); } + inline void SetOutpostArn(const char* value) { m_outpostArnHasBeenSet = true; m_outpostArn.assign(value); } + inline Ec2Instance& WithOutpostArn(const Aws::String& value) { SetOutpostArn(value); return *this;} + inline Ec2Instance& WithOutpostArn(Aws::String&& value) { SetOutpostArn(std::move(value)); return *this;} + inline Ec2Instance& WithOutpostArn(const char* value) { SetOutpostArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The platform of the Amazon EC2 instance.

        + */ + inline const Aws::String& GetPlatform() const{ return m_platform; } + inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } + inline void SetPlatform(const Aws::String& value) { m_platformHasBeenSet = true; m_platform = value; } + inline void SetPlatform(Aws::String&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } + inline void SetPlatform(const char* value) { m_platformHasBeenSet = true; m_platform.assign(value); } + inline Ec2Instance& WithPlatform(const Aws::String& value) { SetPlatform(value); return *this;} + inline Ec2Instance& WithPlatform(Aws::String&& value) { SetPlatform(std::move(value)); return *this;} + inline Ec2Instance& WithPlatform(const char* value) { SetPlatform(value); return *this;} + ///@} + + ///@{ + /** + *

        The product code of the Amazon EC2 instance.

        + */ + inline const Aws::Vector& GetProductCodes() const{ return m_productCodes; } + inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; } + inline void SetProductCodes(const Aws::Vector& value) { m_productCodesHasBeenSet = true; m_productCodes = value; } + inline void SetProductCodes(Aws::Vector&& value) { m_productCodesHasBeenSet = true; m_productCodes = std::move(value); } + inline Ec2Instance& WithProductCodes(const Aws::Vector& value) { SetProductCodes(value); return *this;} + inline Ec2Instance& WithProductCodes(Aws::Vector&& value) { SetProductCodes(std::move(value)); return *this;} + inline Ec2Instance& AddProductCodes(const ProductCode& value) { m_productCodesHasBeenSet = true; m_productCodes.push_back(value); return *this; } + inline Ec2Instance& AddProductCodes(ProductCode&& value) { m_productCodesHasBeenSet = true; m_productCodes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The ID of the network interface.

        + */ + inline const Aws::Vector& GetEc2NetworkInterfaceUids() const{ return m_ec2NetworkInterfaceUids; } + inline bool Ec2NetworkInterfaceUidsHasBeenSet() const { return m_ec2NetworkInterfaceUidsHasBeenSet; } + inline void SetEc2NetworkInterfaceUids(const Aws::Vector& value) { m_ec2NetworkInterfaceUidsHasBeenSet = true; m_ec2NetworkInterfaceUids = value; } + inline void SetEc2NetworkInterfaceUids(Aws::Vector&& value) { m_ec2NetworkInterfaceUidsHasBeenSet = true; m_ec2NetworkInterfaceUids = std::move(value); } + inline Ec2Instance& WithEc2NetworkInterfaceUids(const Aws::Vector& value) { SetEc2NetworkInterfaceUids(value); return *this;} + inline Ec2Instance& WithEc2NetworkInterfaceUids(Aws::Vector&& value) { SetEc2NetworkInterfaceUids(std::move(value)); return *this;} + inline Ec2Instance& AddEc2NetworkInterfaceUids(const Aws::String& value) { m_ec2NetworkInterfaceUidsHasBeenSet = true; m_ec2NetworkInterfaceUids.push_back(value); return *this; } + inline Ec2Instance& AddEc2NetworkInterfaceUids(Aws::String&& value) { m_ec2NetworkInterfaceUidsHasBeenSet = true; m_ec2NetworkInterfaceUids.push_back(std::move(value)); return *this; } + inline Ec2Instance& AddEc2NetworkInterfaceUids(const char* value) { m_ec2NetworkInterfaceUidsHasBeenSet = true; m_ec2NetworkInterfaceUids.push_back(value); return *this; } + ///@} + private: + + Aws::String m_availabilityZone; + bool m_availabilityZoneHasBeenSet = false; + + Aws::String m_imageDescription; + bool m_imageDescriptionHasBeenSet = false; + + Aws::String m_instanceState; + bool m_instanceStateHasBeenSet = false; + + IamInstanceProfile m_iamInstanceProfile; + bool m_iamInstanceProfileHasBeenSet = false; + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + + Aws::String m_outpostArn; + bool m_outpostArnHasBeenSet = false; + + Aws::String m_platform; + bool m_platformHasBeenSet = false; + + Aws::Vector m_productCodes; + bool m_productCodesHasBeenSet = false; + + Aws::Vector m_ec2NetworkInterfaceUids; + bool m_ec2NetworkInterfaceUidsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Ec2NetworkInterface.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Ec2NetworkInterface.h new file mode 100644 index 00000000000..bfa4d78de40 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Ec2NetworkInterface.h @@ -0,0 +1,151 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the elastic network interface of the Amazon EC2 + * instance.

        See Also:

        AWS + * API Reference

        + */ + class Ec2NetworkInterface + { + public: + AWS_GUARDDUTY_API Ec2NetworkInterface(); + AWS_GUARDDUTY_API Ec2NetworkInterface(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Ec2NetworkInterface& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        A list of IPv6 addresses for the Amazon EC2 instance.

        + */ + inline const Aws::Vector& GetIpv6Addresses() const{ return m_ipv6Addresses; } + inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; } + inline void SetIpv6Addresses(const Aws::Vector& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses = value; } + inline void SetIpv6Addresses(Aws::Vector&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses = std::move(value); } + inline Ec2NetworkInterface& WithIpv6Addresses(const Aws::Vector& value) { SetIpv6Addresses(value); return *this;} + inline Ec2NetworkInterface& WithIpv6Addresses(Aws::Vector&& value) { SetIpv6Addresses(std::move(value)); return *this;} + inline Ec2NetworkInterface& AddIpv6Addresses(const Aws::String& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.push_back(value); return *this; } + inline Ec2NetworkInterface& AddIpv6Addresses(Aws::String&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.push_back(std::move(value)); return *this; } + inline Ec2NetworkInterface& AddIpv6Addresses(const char* value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Other private IP address information of the Amazon EC2 instance.

        + */ + inline const Aws::Vector& GetPrivateIpAddresses() const{ return m_privateIpAddresses; } + inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; } + inline void SetPrivateIpAddresses(const Aws::Vector& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses = value; } + inline void SetPrivateIpAddresses(Aws::Vector&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses = std::move(value); } + inline Ec2NetworkInterface& WithPrivateIpAddresses(const Aws::Vector& value) { SetPrivateIpAddresses(value); return *this;} + inline Ec2NetworkInterface& WithPrivateIpAddresses(Aws::Vector&& value) { SetPrivateIpAddresses(std::move(value)); return *this;} + inline Ec2NetworkInterface& AddPrivateIpAddresses(const PrivateIpAddressDetails& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses.push_back(value); return *this; } + inline Ec2NetworkInterface& AddPrivateIpAddresses(PrivateIpAddressDetails&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The public IP address of the Amazon EC2 instance.

        + */ + inline const Aws::String& GetPublicIp() const{ return m_publicIp; } + inline bool PublicIpHasBeenSet() const { return m_publicIpHasBeenSet; } + inline void SetPublicIp(const Aws::String& value) { m_publicIpHasBeenSet = true; m_publicIp = value; } + inline void SetPublicIp(Aws::String&& value) { m_publicIpHasBeenSet = true; m_publicIp = std::move(value); } + inline void SetPublicIp(const char* value) { m_publicIpHasBeenSet = true; m_publicIp.assign(value); } + inline Ec2NetworkInterface& WithPublicIp(const Aws::String& value) { SetPublicIp(value); return *this;} + inline Ec2NetworkInterface& WithPublicIp(Aws::String&& value) { SetPublicIp(std::move(value)); return *this;} + inline Ec2NetworkInterface& WithPublicIp(const char* value) { SetPublicIp(value); return *this;} + ///@} + + ///@{ + /** + *

        The security groups associated with the Amazon EC2 instance.

        + */ + inline const Aws::Vector& GetSecurityGroups() const{ return m_securityGroups; } + inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } + inline void SetSecurityGroups(const Aws::Vector& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; } + inline void SetSecurityGroups(Aws::Vector&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::move(value); } + inline Ec2NetworkInterface& WithSecurityGroups(const Aws::Vector& value) { SetSecurityGroups(value); return *this;} + inline Ec2NetworkInterface& WithSecurityGroups(Aws::Vector&& value) { SetSecurityGroups(std::move(value)); return *this;} + inline Ec2NetworkInterface& AddSecurityGroups(const SecurityGroup& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } + inline Ec2NetworkInterface& AddSecurityGroups(SecurityGroup&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The subnet ID of the Amazon EC2 instance.

        + */ + inline const Aws::String& GetSubNetId() const{ return m_subNetId; } + inline bool SubNetIdHasBeenSet() const { return m_subNetIdHasBeenSet; } + inline void SetSubNetId(const Aws::String& value) { m_subNetIdHasBeenSet = true; m_subNetId = value; } + inline void SetSubNetId(Aws::String&& value) { m_subNetIdHasBeenSet = true; m_subNetId = std::move(value); } + inline void SetSubNetId(const char* value) { m_subNetIdHasBeenSet = true; m_subNetId.assign(value); } + inline Ec2NetworkInterface& WithSubNetId(const Aws::String& value) { SetSubNetId(value); return *this;} + inline Ec2NetworkInterface& WithSubNetId(Aws::String&& value) { SetSubNetId(std::move(value)); return *this;} + inline Ec2NetworkInterface& WithSubNetId(const char* value) { SetSubNetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The VPC ID of the Amazon EC2 instance.

        + */ + inline const Aws::String& GetVpcId() const{ return m_vpcId; } + inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } + inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } + inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } + inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } + inline Ec2NetworkInterface& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} + inline Ec2NetworkInterface& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} + inline Ec2NetworkInterface& WithVpcId(const char* value) { SetVpcId(value); return *this;} + ///@} + private: + + Aws::Vector m_ipv6Addresses; + bool m_ipv6AddressesHasBeenSet = false; + + Aws::Vector m_privateIpAddresses; + bool m_privateIpAddressesHasBeenSet = false; + + Aws::String m_publicIp; + bool m_publicIpHasBeenSet = false; + + Aws::Vector m_securityGroups; + bool m_securityGroupsHasBeenSet = false; + + Aws::String m_subNetId; + bool m_subNetIdHasBeenSet = false; + + Aws::String m_vpcId; + bool m_vpcIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Finding.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Finding.h index e5cdb17ded3..8201b467cef 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Finding.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Finding.h @@ -233,6 +233,20 @@ namespace Model inline Finding& WithUpdatedAt(Aws::String&& value) { SetUpdatedAt(std::move(value)); return *this;} inline Finding& WithUpdatedAt(const char* value) { SetUpdatedAt(value); return *this;} ///@} + + ///@{ + /** + *

        Amazon Resource Name (ARN) associated with the attack sequence finding.

        + */ + inline const Aws::String& GetAssociatedAttackSequenceArn() const{ return m_associatedAttackSequenceArn; } + inline bool AssociatedAttackSequenceArnHasBeenSet() const { return m_associatedAttackSequenceArnHasBeenSet; } + inline void SetAssociatedAttackSequenceArn(const Aws::String& value) { m_associatedAttackSequenceArnHasBeenSet = true; m_associatedAttackSequenceArn = value; } + inline void SetAssociatedAttackSequenceArn(Aws::String&& value) { m_associatedAttackSequenceArnHasBeenSet = true; m_associatedAttackSequenceArn = std::move(value); } + inline void SetAssociatedAttackSequenceArn(const char* value) { m_associatedAttackSequenceArnHasBeenSet = true; m_associatedAttackSequenceArn.assign(value); } + inline Finding& WithAssociatedAttackSequenceArn(const Aws::String& value) { SetAssociatedAttackSequenceArn(value); return *this;} + inline Finding& WithAssociatedAttackSequenceArn(Aws::String&& value) { SetAssociatedAttackSequenceArn(std::move(value)); return *this;} + inline Finding& WithAssociatedAttackSequenceArn(const char* value) { SetAssociatedAttackSequenceArn(value); return *this;} + ///@} private: Aws::String m_accountId; @@ -279,6 +293,9 @@ namespace Model Aws::String m_updatedAt; bool m_updatedAtHasBeenSet = false; + + Aws::String m_associatedAttackSequenceArn; + bool m_associatedAttackSequenceArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FindingResourceType.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FindingResourceType.h new file mode 100644 index 00000000000..9e9ac9d4804 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FindingResourceType.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + enum class FindingResourceType + { + NOT_SET, + EC2_INSTANCE, + EC2_NETWORK_INTERFACE, + S3_BUCKET, + S3_OBJECT, + ACCESS_KEY + }; + +namespace FindingResourceTypeMapper +{ +AWS_GUARDDUTY_API FindingResourceType GetFindingResourceTypeForName(const Aws::String& name); + +AWS_GUARDDUTY_API Aws::String GetNameForFindingResourceType(FindingResourceType value); +} // namespace FindingResourceTypeMapper +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Indicator.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Indicator.h new file mode 100644 index 00000000000..0f18039b2b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Indicator.h @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the indicators that include a set of signals + * observed in an attack sequence.

        See Also:

        AWS + * API Reference

        + */ + class Indicator + { + public: + AWS_GUARDDUTY_API Indicator(); + AWS_GUARDDUTY_API Indicator(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Indicator& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Specific indicator keys observed in the attack sequence.

        + */ + inline const IndicatorType& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const IndicatorType& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(IndicatorType&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline Indicator& WithKey(const IndicatorType& value) { SetKey(value); return *this;} + inline Indicator& WithKey(IndicatorType&& value) { SetKey(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Values associated with each indicator key. For example, if the indicator key + * is SUSPICIOUS_NETWORK, then the value will be the name of the + * network. If the indicator key is ATTACK_TACTIC, then the value will + * be one of the MITRE tactics.

        For more information about the values + * associated with the key, see GuardDuty Extended Threat Detection in the + * GuardDuty User Guide.

        + */ + inline const Aws::Vector& GetValues() const{ return m_values; } + inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } + inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } + inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } + inline Indicator& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} + inline Indicator& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} + inline Indicator& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + inline Indicator& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } + inline Indicator& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Title describing the indicator.

        + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline Indicator& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline Indicator& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline Indicator& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + private: + + IndicatorType m_key; + bool m_keyHasBeenSet = false; + + Aws::Vector m_values; + bool m_valuesHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/IndicatorType.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/IndicatorType.h new file mode 100644 index 00000000000..4695893ee6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/IndicatorType.h @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + enum class IndicatorType + { + NOT_SET, + SUSPICIOUS_USER_AGENT, + SUSPICIOUS_NETWORK, + MALICIOUS_IP, + TOR_IP, + ATTACK_TACTIC, + HIGH_RISK_API, + ATTACK_TECHNIQUE, + UNUSUAL_API_FOR_ACCOUNT, + UNUSUAL_ASN_FOR_ACCOUNT, + UNUSUAL_ASN_FOR_USER + }; + +namespace IndicatorTypeMapper +{ +AWS_GUARDDUTY_API IndicatorType GetIndicatorTypeForName(const Aws::String& name); + +AWS_GUARDDUTY_API Aws::String GetNameForIndicatorType(IndicatorType value); +} // namespace IndicatorTypeMapper +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/MfaStatus.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/MfaStatus.h new file mode 100644 index 00000000000..868276a7be5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/MfaStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + enum class MfaStatus + { + NOT_SET, + ENABLED, + DISABLED + }; + +namespace MfaStatusMapper +{ +AWS_GUARDDUTY_API MfaStatus GetMfaStatusForName(const Aws::String& name); + +AWS_GUARDDUTY_API Aws::String GetNameForMfaStatus(MfaStatus value); +} // namespace MfaStatusMapper +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkConnection.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkConnection.h new file mode 100644 index 00000000000..734102894b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkConnection.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the network connection.

        See Also:

        + * AWS + * API Reference

        + */ + class NetworkConnection + { + public: + AWS_GUARDDUTY_API NetworkConnection(); + AWS_GUARDDUTY_API NetworkConnection(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API NetworkConnection& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The direction in which the network traffic is flowing.

        + */ + inline const NetworkDirection& GetDirection() const{ return m_direction; } + inline bool DirectionHasBeenSet() const { return m_directionHasBeenSet; } + inline void SetDirection(const NetworkDirection& value) { m_directionHasBeenSet = true; m_direction = value; } + inline void SetDirection(NetworkDirection&& value) { m_directionHasBeenSet = true; m_direction = std::move(value); } + inline NetworkConnection& WithDirection(const NetworkDirection& value) { SetDirection(value); return *this;} + inline NetworkConnection& WithDirection(NetworkDirection&& value) { SetDirection(std::move(value)); return *this;} + ///@} + private: + + NetworkDirection m_direction; + bool m_directionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkDirection.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkDirection.h new file mode 100644 index 00000000000..055b9652319 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkDirection.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + enum class NetworkDirection + { + NOT_SET, + INBOUND, + OUTBOUND + }; + +namespace NetworkDirectionMapper +{ +AWS_GUARDDUTY_API NetworkDirection GetNetworkDirectionForName(const Aws::String& name); + +AWS_GUARDDUTY_API Aws::String GetNameForNetworkDirection(NetworkDirection value); +} // namespace NetworkDirectionMapper +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkEndpoint.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkEndpoint.h new file mode 100644 index 00000000000..19e65a0440a --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkEndpoint.h @@ -0,0 +1,157 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about network endpoints that were observed in the attack + * sequence.

        See Also:

        AWS + * API Reference

        + */ + class NetworkEndpoint + { + public: + AWS_GUARDDUTY_API NetworkEndpoint(); + AWS_GUARDDUTY_API NetworkEndpoint(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API NetworkEndpoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The ID of the network endpoint.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline NetworkEndpoint& WithId(const Aws::String& value) { SetId(value); return *this;} + inline NetworkEndpoint& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline NetworkEndpoint& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The IP address associated with the network endpoint.

        + */ + inline const Aws::String& GetIp() const{ return m_ip; } + inline bool IpHasBeenSet() const { return m_ipHasBeenSet; } + inline void SetIp(const Aws::String& value) { m_ipHasBeenSet = true; m_ip = value; } + inline void SetIp(Aws::String&& value) { m_ipHasBeenSet = true; m_ip = std::move(value); } + inline void SetIp(const char* value) { m_ipHasBeenSet = true; m_ip.assign(value); } + inline NetworkEndpoint& WithIp(const Aws::String& value) { SetIp(value); return *this;} + inline NetworkEndpoint& WithIp(Aws::String&& value) { SetIp(std::move(value)); return *this;} + inline NetworkEndpoint& WithIp(const char* value) { SetIp(value); return *this;} + ///@} + + ///@{ + /** + *

        The domain information for the network endpoint.

        + */ + inline const Aws::String& GetDomain() const{ return m_domain; } + inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } + inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } + inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } + inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } + inline NetworkEndpoint& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} + inline NetworkEndpoint& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} + inline NetworkEndpoint& WithDomain(const char* value) { SetDomain(value); return *this;} + ///@} + + ///@{ + /** + *

        The port number associated with the network endpoint.

        + */ + inline int GetPort() const{ return m_port; } + inline bool PortHasBeenSet() const { return m_portHasBeenSet; } + inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } + inline NetworkEndpoint& WithPort(int value) { SetPort(value); return *this;} + ///@} + + ///@{ + /** + *

        Information about the location of the network endpoint.

        + */ + inline const NetworkGeoLocation& GetLocation() const{ return m_location; } + inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } + inline void SetLocation(const NetworkGeoLocation& value) { m_locationHasBeenSet = true; m_location = value; } + inline void SetLocation(NetworkGeoLocation&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } + inline NetworkEndpoint& WithLocation(const NetworkGeoLocation& value) { SetLocation(value); return *this;} + inline NetworkEndpoint& WithLocation(NetworkGeoLocation&& value) { SetLocation(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Autonomous System (AS) of the network endpoint.

        + */ + inline const AutonomousSystem& GetAutonomousSystem() const{ return m_autonomousSystem; } + inline bool AutonomousSystemHasBeenSet() const { return m_autonomousSystemHasBeenSet; } + inline void SetAutonomousSystem(const AutonomousSystem& value) { m_autonomousSystemHasBeenSet = true; m_autonomousSystem = value; } + inline void SetAutonomousSystem(AutonomousSystem&& value) { m_autonomousSystemHasBeenSet = true; m_autonomousSystem = std::move(value); } + inline NetworkEndpoint& WithAutonomousSystem(const AutonomousSystem& value) { SetAutonomousSystem(value); return *this;} + inline NetworkEndpoint& WithAutonomousSystem(AutonomousSystem&& value) { SetAutonomousSystem(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Information about the network connection.

        + */ + inline const NetworkConnection& GetConnection() const{ return m_connection; } + inline bool ConnectionHasBeenSet() const { return m_connectionHasBeenSet; } + inline void SetConnection(const NetworkConnection& value) { m_connectionHasBeenSet = true; m_connection = value; } + inline void SetConnection(NetworkConnection&& value) { m_connectionHasBeenSet = true; m_connection = std::move(value); } + inline NetworkEndpoint& WithConnection(const NetworkConnection& value) { SetConnection(value); return *this;} + inline NetworkEndpoint& WithConnection(NetworkConnection&& value) { SetConnection(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_ip; + bool m_ipHasBeenSet = false; + + Aws::String m_domain; + bool m_domainHasBeenSet = false; + + int m_port; + bool m_portHasBeenSet = false; + + NetworkGeoLocation m_location; + bool m_locationHasBeenSet = false; + + AutonomousSystem m_autonomousSystem; + bool m_autonomousSystemHasBeenSet = false; + + NetworkConnection m_connection; + bool m_connectionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkGeoLocation.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkGeoLocation.h new file mode 100644 index 00000000000..9d13ba7ab91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/NetworkGeoLocation.h @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about network endpoint location.

        See + * Also:

        AWS + * API Reference

        + */ + class NetworkGeoLocation + { + public: + AWS_GUARDDUTY_API NetworkGeoLocation(); + AWS_GUARDDUTY_API NetworkGeoLocation(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API NetworkGeoLocation& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the city.

        + */ + inline const Aws::String& GetCity() const{ return m_city; } + inline bool CityHasBeenSet() const { return m_cityHasBeenSet; } + inline void SetCity(const Aws::String& value) { m_cityHasBeenSet = true; m_city = value; } + inline void SetCity(Aws::String&& value) { m_cityHasBeenSet = true; m_city = std::move(value); } + inline void SetCity(const char* value) { m_cityHasBeenSet = true; m_city.assign(value); } + inline NetworkGeoLocation& WithCity(const Aws::String& value) { SetCity(value); return *this;} + inline NetworkGeoLocation& WithCity(Aws::String&& value) { SetCity(std::move(value)); return *this;} + inline NetworkGeoLocation& WithCity(const char* value) { SetCity(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the country.

        + */ + inline const Aws::String& GetCountry() const{ return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + inline void SetCountry(const Aws::String& value) { m_countryHasBeenSet = true; m_country = value; } + inline void SetCountry(Aws::String&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } + inline void SetCountry(const char* value) { m_countryHasBeenSet = true; m_country.assign(value); } + inline NetworkGeoLocation& WithCountry(const Aws::String& value) { SetCountry(value); return *this;} + inline NetworkGeoLocation& WithCountry(Aws::String&& value) { SetCountry(std::move(value)); return *this;} + inline NetworkGeoLocation& WithCountry(const char* value) { SetCountry(value); return *this;} + ///@} + + ///@{ + /** + *

        The latitude information of the endpoint location.

        + */ + inline double GetLatitude() const{ return m_latitude; } + inline bool LatitudeHasBeenSet() const { return m_latitudeHasBeenSet; } + inline void SetLatitude(double value) { m_latitudeHasBeenSet = true; m_latitude = value; } + inline NetworkGeoLocation& WithLatitude(double value) { SetLatitude(value); return *this;} + ///@} + + ///@{ + /** + *

        The longitude information of the endpoint location.

        + */ + inline double GetLongitude() const{ return m_longitude; } + inline bool LongitudeHasBeenSet() const { return m_longitudeHasBeenSet; } + inline void SetLongitude(double value) { m_longitudeHasBeenSet = true; m_longitude = value; } + inline NetworkGeoLocation& WithLongitude(double value) { SetLongitude(value); return *this;} + ///@} + private: + + Aws::String m_city; + bool m_cityHasBeenSet = false; + + Aws::String m_country; + bool m_countryHasBeenSet = false; + + double m_latitude; + bool m_latitudeHasBeenSet = false; + + double m_longitude; + bool m_longitudeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAccessConfiguration.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAccessConfiguration.h new file mode 100644 index 00000000000..aca247edd3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAccessConfiguration.h @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Describes public access policies that apply to the Amazon S3 bucket.

        + *

        For information about each of the following settings, see Blocking + * public access to your Amazon S3 storage in the Amazon S3 User + * Guide.

        See Also:

        AWS + * API Reference

        + */ + class PublicAccessConfiguration + { + public: + AWS_GUARDDUTY_API PublicAccessConfiguration(); + AWS_GUARDDUTY_API PublicAccessConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API PublicAccessConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Indicates whether or not there is a setting that allows public access to the + * Amazon S3 buckets through access control lists (ACLs).

        + */ + inline const PublicAccessStatus& GetPublicAclAccess() const{ return m_publicAclAccess; } + inline bool PublicAclAccessHasBeenSet() const { return m_publicAclAccessHasBeenSet; } + inline void SetPublicAclAccess(const PublicAccessStatus& value) { m_publicAclAccessHasBeenSet = true; m_publicAclAccess = value; } + inline void SetPublicAclAccess(PublicAccessStatus&& value) { m_publicAclAccessHasBeenSet = true; m_publicAclAccess = std::move(value); } + inline PublicAccessConfiguration& WithPublicAclAccess(const PublicAccessStatus& value) { SetPublicAclAccess(value); return *this;} + inline PublicAccessConfiguration& WithPublicAclAccess(PublicAccessStatus&& value) { SetPublicAclAccess(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Indicates whether or not there is a setting that allows public access to the + * Amazon S3 bucket policy.

        + */ + inline const PublicAccessStatus& GetPublicPolicyAccess() const{ return m_publicPolicyAccess; } + inline bool PublicPolicyAccessHasBeenSet() const { return m_publicPolicyAccessHasBeenSet; } + inline void SetPublicPolicyAccess(const PublicAccessStatus& value) { m_publicPolicyAccessHasBeenSet = true; m_publicPolicyAccess = value; } + inline void SetPublicPolicyAccess(PublicAccessStatus&& value) { m_publicPolicyAccessHasBeenSet = true; m_publicPolicyAccess = std::move(value); } + inline PublicAccessConfiguration& WithPublicPolicyAccess(const PublicAccessStatus& value) { SetPublicPolicyAccess(value); return *this;} + inline PublicAccessConfiguration& WithPublicPolicyAccess(PublicAccessStatus&& value) { SetPublicPolicyAccess(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Indicates whether or not there is a setting that ignores all public access + * control lists (ACLs) on the Amazon S3 bucket and the objects that it + * contains.

        + */ + inline const PublicAclIgnoreBehavior& GetPublicAclIgnoreBehavior() const{ return m_publicAclIgnoreBehavior; } + inline bool PublicAclIgnoreBehaviorHasBeenSet() const { return m_publicAclIgnoreBehaviorHasBeenSet; } + inline void SetPublicAclIgnoreBehavior(const PublicAclIgnoreBehavior& value) { m_publicAclIgnoreBehaviorHasBeenSet = true; m_publicAclIgnoreBehavior = value; } + inline void SetPublicAclIgnoreBehavior(PublicAclIgnoreBehavior&& value) { m_publicAclIgnoreBehaviorHasBeenSet = true; m_publicAclIgnoreBehavior = std::move(value); } + inline PublicAccessConfiguration& WithPublicAclIgnoreBehavior(const PublicAclIgnoreBehavior& value) { SetPublicAclIgnoreBehavior(value); return *this;} + inline PublicAccessConfiguration& WithPublicAclIgnoreBehavior(PublicAclIgnoreBehavior&& value) { SetPublicAclIgnoreBehavior(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Indicates whether or not there is a setting that restricts access to the + * bucket with specified policies.

        + */ + inline const PublicBucketRestrictBehavior& GetPublicBucketRestrictBehavior() const{ return m_publicBucketRestrictBehavior; } + inline bool PublicBucketRestrictBehaviorHasBeenSet() const { return m_publicBucketRestrictBehaviorHasBeenSet; } + inline void SetPublicBucketRestrictBehavior(const PublicBucketRestrictBehavior& value) { m_publicBucketRestrictBehaviorHasBeenSet = true; m_publicBucketRestrictBehavior = value; } + inline void SetPublicBucketRestrictBehavior(PublicBucketRestrictBehavior&& value) { m_publicBucketRestrictBehaviorHasBeenSet = true; m_publicBucketRestrictBehavior = std::move(value); } + inline PublicAccessConfiguration& WithPublicBucketRestrictBehavior(const PublicBucketRestrictBehavior& value) { SetPublicBucketRestrictBehavior(value); return *this;} + inline PublicAccessConfiguration& WithPublicBucketRestrictBehavior(PublicBucketRestrictBehavior&& value) { SetPublicBucketRestrictBehavior(std::move(value)); return *this;} + ///@} + private: + + PublicAccessStatus m_publicAclAccess; + bool m_publicAclAccessHasBeenSet = false; + + PublicAccessStatus m_publicPolicyAccess; + bool m_publicPolicyAccessHasBeenSet = false; + + PublicAclIgnoreBehavior m_publicAclIgnoreBehavior; + bool m_publicAclIgnoreBehaviorHasBeenSet = false; + + PublicBucketRestrictBehavior m_publicBucketRestrictBehavior; + bool m_publicBucketRestrictBehaviorHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAccessStatus.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAccessStatus.h new file mode 100644 index 00000000000..74c20ca434f --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAccessStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + enum class PublicAccessStatus + { + NOT_SET, + BLOCKED, + ALLOWED + }; + +namespace PublicAccessStatusMapper +{ +AWS_GUARDDUTY_API PublicAccessStatus GetPublicAccessStatusForName(const Aws::String& name); + +AWS_GUARDDUTY_API Aws::String GetNameForPublicAccessStatus(PublicAccessStatus value); +} // namespace PublicAccessStatusMapper +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAclIgnoreBehavior.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAclIgnoreBehavior.h new file mode 100644 index 00000000000..03b382490cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicAclIgnoreBehavior.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + enum class PublicAclIgnoreBehavior + { + NOT_SET, + IGNORED, + NOT_IGNORED + }; + +namespace PublicAclIgnoreBehaviorMapper +{ +AWS_GUARDDUTY_API PublicAclIgnoreBehavior GetPublicAclIgnoreBehaviorForName(const Aws::String& name); + +AWS_GUARDDUTY_API Aws::String GetNameForPublicAclIgnoreBehavior(PublicAclIgnoreBehavior value); +} // namespace PublicAclIgnoreBehaviorMapper +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicBucketRestrictBehavior.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicBucketRestrictBehavior.h new file mode 100644 index 00000000000..36901f9d097 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/PublicBucketRestrictBehavior.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + enum class PublicBucketRestrictBehavior + { + NOT_SET, + RESTRICTED, + NOT_RESTRICTED + }; + +namespace PublicBucketRestrictBehaviorMapper +{ +AWS_GUARDDUTY_API PublicBucketRestrictBehavior GetPublicBucketRestrictBehaviorForName(const Aws::String& name); + +AWS_GUARDDUTY_API Aws::String GetNameForPublicBucketRestrictBehavior(PublicBucketRestrictBehavior value); +} // namespace PublicBucketRestrictBehaviorMapper +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/RdsLimitlessDbDetails.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/RdsLimitlessDbDetails.h index c2a4c3e6048..6ef0d9531fc 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/RdsLimitlessDbDetails.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/RdsLimitlessDbDetails.h @@ -128,7 +128,7 @@ namespace Model ///@{ /** - *

        Information about the tag-key value pair.

        + *

        Information about the tag key-value pair.

        */ inline const Aws::Vector& GetTags() const{ return m_tags; } inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceData.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceData.h new file mode 100644 index 00000000000..7e32451b1fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceData.h @@ -0,0 +1,127 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the Amazon Web Services resource that is + * associated with the activity that prompted GuardDuty to generate a + * finding.

        See Also:

        AWS + * API Reference

        + */ + class ResourceData + { + public: + AWS_GUARDDUTY_API ResourceData(); + AWS_GUARDDUTY_API ResourceData(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API ResourceData& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Contains information about the Amazon S3 bucket.

        + */ + inline const S3Bucket& GetS3Bucket() const{ return m_s3Bucket; } + inline bool S3BucketHasBeenSet() const { return m_s3BucketHasBeenSet; } + inline void SetS3Bucket(const S3Bucket& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = value; } + inline void SetS3Bucket(S3Bucket&& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = std::move(value); } + inline ResourceData& WithS3Bucket(const S3Bucket& value) { SetS3Bucket(value); return *this;} + inline ResourceData& WithS3Bucket(S3Bucket&& value) { SetS3Bucket(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the Amazon EC2 instance.

        + */ + inline const Ec2Instance& GetEc2Instance() const{ return m_ec2Instance; } + inline bool Ec2InstanceHasBeenSet() const { return m_ec2InstanceHasBeenSet; } + inline void SetEc2Instance(const Ec2Instance& value) { m_ec2InstanceHasBeenSet = true; m_ec2Instance = value; } + inline void SetEc2Instance(Ec2Instance&& value) { m_ec2InstanceHasBeenSet = true; m_ec2Instance = std::move(value); } + inline ResourceData& WithEc2Instance(const Ec2Instance& value) { SetEc2Instance(value); return *this;} + inline ResourceData& WithEc2Instance(Ec2Instance&& value) { SetEc2Instance(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the IAM access key details of a user that involved + * in the GuardDuty finding.

        + */ + inline const AccessKey& GetAccessKey() const{ return m_accessKey; } + inline bool AccessKeyHasBeenSet() const { return m_accessKeyHasBeenSet; } + inline void SetAccessKey(const AccessKey& value) { m_accessKeyHasBeenSet = true; m_accessKey = value; } + inline void SetAccessKey(AccessKey&& value) { m_accessKeyHasBeenSet = true; m_accessKey = std::move(value); } + inline ResourceData& WithAccessKey(const AccessKey& value) { SetAccessKey(value); return *this;} + inline ResourceData& WithAccessKey(AccessKey&& value) { SetAccessKey(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the elastic network interface of the Amazon EC2 + * instance.

        + */ + inline const Ec2NetworkInterface& GetEc2NetworkInterface() const{ return m_ec2NetworkInterface; } + inline bool Ec2NetworkInterfaceHasBeenSet() const { return m_ec2NetworkInterfaceHasBeenSet; } + inline void SetEc2NetworkInterface(const Ec2NetworkInterface& value) { m_ec2NetworkInterfaceHasBeenSet = true; m_ec2NetworkInterface = value; } + inline void SetEc2NetworkInterface(Ec2NetworkInterface&& value) { m_ec2NetworkInterfaceHasBeenSet = true; m_ec2NetworkInterface = std::move(value); } + inline ResourceData& WithEc2NetworkInterface(const Ec2NetworkInterface& value) { SetEc2NetworkInterface(value); return *this;} + inline ResourceData& WithEc2NetworkInterface(Ec2NetworkInterface&& value) { SetEc2NetworkInterface(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the Amazon S3 object.

        + */ + inline const S3Object& GetS3Object() const{ return m_s3Object; } + inline bool S3ObjectHasBeenSet() const { return m_s3ObjectHasBeenSet; } + inline void SetS3Object(const S3Object& value) { m_s3ObjectHasBeenSet = true; m_s3Object = value; } + inline void SetS3Object(S3Object&& value) { m_s3ObjectHasBeenSet = true; m_s3Object = std::move(value); } + inline ResourceData& WithS3Object(const S3Object& value) { SetS3Object(value); return *this;} + inline ResourceData& WithS3Object(S3Object&& value) { SetS3Object(std::move(value)); return *this;} + ///@} + private: + + S3Bucket m_s3Bucket; + bool m_s3BucketHasBeenSet = false; + + Ec2Instance m_ec2Instance; + bool m_ec2InstanceHasBeenSet = false; + + AccessKey m_accessKey; + bool m_accessKeyHasBeenSet = false; + + Ec2NetworkInterface m_ec2NetworkInterface; + bool m_ec2NetworkInterfaceHasBeenSet = false; + + S3Object m_s3Object; + bool m_s3ObjectHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceV2.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceV2.h new file mode 100644 index 00000000000..3d1cdea4464 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceV2.h @@ -0,0 +1,200 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the Amazon Web Services resource that is + * associated with the GuardDuty finding.

        See Also:

        AWS + * API Reference

        + */ + class ResourceV2 + { + public: + AWS_GUARDDUTY_API ResourceV2(); + AWS_GUARDDUTY_API ResourceV2(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API ResourceV2& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The unique identifier of the resource.

        + */ + inline const Aws::String& GetUid() const{ return m_uid; } + inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } + inline void SetUid(const Aws::String& value) { m_uidHasBeenSet = true; m_uid = value; } + inline void SetUid(Aws::String&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } + inline void SetUid(const char* value) { m_uidHasBeenSet = true; m_uid.assign(value); } + inline ResourceV2& WithUid(const Aws::String& value) { SetUid(value); return *this;} + inline ResourceV2& WithUid(Aws::String&& value) { SetUid(std::move(value)); return *this;} + inline ResourceV2& WithUid(const char* value) { SetUid(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline ResourceV2& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ResourceV2& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ResourceV2& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Web Services account ID to which the resource belongs.

        + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + inline ResourceV2& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + inline ResourceV2& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + inline ResourceV2& WithAccountId(const char* value) { SetAccountId(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of the Amazon Web Services resource.

        + */ + inline const FindingResourceType& GetResourceType() const{ return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + inline void SetResourceType(const FindingResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + inline void SetResourceType(FindingResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + inline ResourceV2& WithResourceType(const FindingResourceType& value) { SetResourceType(value); return *this;} + inline ResourceV2& WithResourceType(FindingResourceType&& value) { SetResourceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Web Services Region where the resource belongs.

        + */ + inline const Aws::String& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + inline ResourceV2& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + inline ResourceV2& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + inline ResourceV2& WithRegion(const char* value) { SetRegion(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Web Services service of the resource.

        + */ + inline const Aws::String& GetService() const{ return m_service; } + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } + inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } + inline ResourceV2& WithService(const Aws::String& value) { SetService(value); return *this;} + inline ResourceV2& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} + inline ResourceV2& WithService(const char* value) { SetService(value); return *this;} + ///@} + + ///@{ + /** + *

        The cloud partition within the Amazon Web Services Region to which the + * resource belongs.

        + */ + inline const Aws::String& GetCloudPartition() const{ return m_cloudPartition; } + inline bool CloudPartitionHasBeenSet() const { return m_cloudPartitionHasBeenSet; } + inline void SetCloudPartition(const Aws::String& value) { m_cloudPartitionHasBeenSet = true; m_cloudPartition = value; } + inline void SetCloudPartition(Aws::String&& value) { m_cloudPartitionHasBeenSet = true; m_cloudPartition = std::move(value); } + inline void SetCloudPartition(const char* value) { m_cloudPartitionHasBeenSet = true; m_cloudPartition.assign(value); } + inline ResourceV2& WithCloudPartition(const Aws::String& value) { SetCloudPartition(value); return *this;} + inline ResourceV2& WithCloudPartition(Aws::String&& value) { SetCloudPartition(std::move(value)); return *this;} + inline ResourceV2& WithCloudPartition(const char* value) { SetCloudPartition(value); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the tags associated with the resource.

        + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline ResourceV2& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + inline ResourceV2& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + inline ResourceV2& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + inline ResourceV2& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Contains information about the Amazon Web Services resource associated with + * the activity that prompted GuardDuty to generate a finding.

        + */ + inline const ResourceData& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const ResourceData& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(ResourceData&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline ResourceV2& WithData(const ResourceData& value) { SetData(value); return *this;} + inline ResourceV2& WithData(ResourceData&& value) { SetData(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_uid; + bool m_uidHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + FindingResourceType m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + Aws::String m_service; + bool m_serviceHasBeenSet = false; + + Aws::String m_cloudPartition; + bool m_cloudPartitionHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + + ResourceData m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/S3Bucket.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/S3Bucket.h new file mode 100644 index 00000000000..69f07a22f7b --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/S3Bucket.h @@ -0,0 +1,219 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the Amazon S3 bucket policies and + * encryption.

        See Also:

        AWS + * API Reference

        + */ + class S3Bucket + { + public: + AWS_GUARDDUTY_API S3Bucket(); + AWS_GUARDDUTY_API S3Bucket(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API S3Bucket& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The owner ID of the associated S3Amazon S3bucket.

        + */ + inline const Aws::String& GetOwnerId() const{ return m_ownerId; } + inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } + inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } + inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } + inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } + inline S3Bucket& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} + inline S3Bucket& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} + inline S3Bucket& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp at which the Amazon S3 bucket was created.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline S3Bucket& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline S3Bucket& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The type of encryption used for the Amazon S3 buckets and its objects. For + * more information, see Protecting + * data with server-side encryption in the Amazon S3 User Guide.

        + */ + inline const Aws::String& GetEncryptionType() const{ return m_encryptionType; } + inline bool EncryptionTypeHasBeenSet() const { return m_encryptionTypeHasBeenSet; } + inline void SetEncryptionType(const Aws::String& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = value; } + inline void SetEncryptionType(Aws::String&& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = std::move(value); } + inline void SetEncryptionType(const char* value) { m_encryptionTypeHasBeenSet = true; m_encryptionType.assign(value); } + inline S3Bucket& WithEncryptionType(const Aws::String& value) { SetEncryptionType(value); return *this;} + inline S3Bucket& WithEncryptionType(Aws::String&& value) { SetEncryptionType(std::move(value)); return *this;} + inline S3Bucket& WithEncryptionType(const char* value) { SetEncryptionType(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the encryption key that is used to encrypt + * the Amazon S3 bucket and its objects.

        + */ + inline const Aws::String& GetEncryptionKeyArn() const{ return m_encryptionKeyArn; } + inline bool EncryptionKeyArnHasBeenSet() const { return m_encryptionKeyArnHasBeenSet; } + inline void SetEncryptionKeyArn(const Aws::String& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = value; } + inline void SetEncryptionKeyArn(Aws::String&& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = std::move(value); } + inline void SetEncryptionKeyArn(const char* value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn.assign(value); } + inline S3Bucket& WithEncryptionKeyArn(const Aws::String& value) { SetEncryptionKeyArn(value); return *this;} + inline S3Bucket& WithEncryptionKeyArn(Aws::String&& value) { SetEncryptionKeyArn(std::move(value)); return *this;} + inline S3Bucket& WithEncryptionKeyArn(const char* value) { SetEncryptionKeyArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Describes the effective permissions on this S3 bucket, after factoring all + * the attached policies.

        + */ + inline const Aws::String& GetEffectivePermission() const{ return m_effectivePermission; } + inline bool EffectivePermissionHasBeenSet() const { return m_effectivePermissionHasBeenSet; } + inline void SetEffectivePermission(const Aws::String& value) { m_effectivePermissionHasBeenSet = true; m_effectivePermission = value; } + inline void SetEffectivePermission(Aws::String&& value) { m_effectivePermissionHasBeenSet = true; m_effectivePermission = std::move(value); } + inline void SetEffectivePermission(const char* value) { m_effectivePermissionHasBeenSet = true; m_effectivePermission.assign(value); } + inline S3Bucket& WithEffectivePermission(const Aws::String& value) { SetEffectivePermission(value); return *this;} + inline S3Bucket& WithEffectivePermission(Aws::String&& value) { SetEffectivePermission(std::move(value)); return *this;} + inline S3Bucket& WithEffectivePermission(const char* value) { SetEffectivePermission(value); return *this;} + ///@} + + ///@{ + /** + *

        Indicates whether or not the public read access is allowed for an Amazon S3 + * bucket.

        + */ + inline const PublicAccessStatus& GetPublicReadAccess() const{ return m_publicReadAccess; } + inline bool PublicReadAccessHasBeenSet() const { return m_publicReadAccessHasBeenSet; } + inline void SetPublicReadAccess(const PublicAccessStatus& value) { m_publicReadAccessHasBeenSet = true; m_publicReadAccess = value; } + inline void SetPublicReadAccess(PublicAccessStatus&& value) { m_publicReadAccessHasBeenSet = true; m_publicReadAccess = std::move(value); } + inline S3Bucket& WithPublicReadAccess(const PublicAccessStatus& value) { SetPublicReadAccess(value); return *this;} + inline S3Bucket& WithPublicReadAccess(PublicAccessStatus&& value) { SetPublicReadAccess(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Indicates whether or not the public write access is allowed for an Amazon S3 + * bucket.

        + */ + inline const PublicAccessStatus& GetPublicWriteAccess() const{ return m_publicWriteAccess; } + inline bool PublicWriteAccessHasBeenSet() const { return m_publicWriteAccessHasBeenSet; } + inline void SetPublicWriteAccess(const PublicAccessStatus& value) { m_publicWriteAccessHasBeenSet = true; m_publicWriteAccess = value; } + inline void SetPublicWriteAccess(PublicAccessStatus&& value) { m_publicWriteAccessHasBeenSet = true; m_publicWriteAccess = std::move(value); } + inline S3Bucket& WithPublicWriteAccess(const PublicAccessStatus& value) { SetPublicWriteAccess(value); return *this;} + inline S3Bucket& WithPublicWriteAccess(PublicAccessStatus&& value) { SetPublicWriteAccess(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the public access policies that apply to the + * Amazon S3 bucket at the account level.

        + */ + inline const PublicAccessConfiguration& GetAccountPublicAccess() const{ return m_accountPublicAccess; } + inline bool AccountPublicAccessHasBeenSet() const { return m_accountPublicAccessHasBeenSet; } + inline void SetAccountPublicAccess(const PublicAccessConfiguration& value) { m_accountPublicAccessHasBeenSet = true; m_accountPublicAccess = value; } + inline void SetAccountPublicAccess(PublicAccessConfiguration&& value) { m_accountPublicAccessHasBeenSet = true; m_accountPublicAccess = std::move(value); } + inline S3Bucket& WithAccountPublicAccess(const PublicAccessConfiguration& value) { SetAccountPublicAccess(value); return *this;} + inline S3Bucket& WithAccountPublicAccess(PublicAccessConfiguration&& value) { SetAccountPublicAccess(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about public access policies that apply to the Amazon S3 + * bucket.

        + */ + inline const PublicAccessConfiguration& GetBucketPublicAccess() const{ return m_bucketPublicAccess; } + inline bool BucketPublicAccessHasBeenSet() const { return m_bucketPublicAccessHasBeenSet; } + inline void SetBucketPublicAccess(const PublicAccessConfiguration& value) { m_bucketPublicAccessHasBeenSet = true; m_bucketPublicAccess = value; } + inline void SetBucketPublicAccess(PublicAccessConfiguration&& value) { m_bucketPublicAccessHasBeenSet = true; m_bucketPublicAccess = std::move(value); } + inline S3Bucket& WithBucketPublicAccess(const PublicAccessConfiguration& value) { SetBucketPublicAccess(value); return *this;} + inline S3Bucket& WithBucketPublicAccess(PublicAccessConfiguration&& value) { SetBucketPublicAccess(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Represents a list of Amazon S3 object identifiers.

        + */ + inline const Aws::Vector& GetS3ObjectUids() const{ return m_s3ObjectUids; } + inline bool S3ObjectUidsHasBeenSet() const { return m_s3ObjectUidsHasBeenSet; } + inline void SetS3ObjectUids(const Aws::Vector& value) { m_s3ObjectUidsHasBeenSet = true; m_s3ObjectUids = value; } + inline void SetS3ObjectUids(Aws::Vector&& value) { m_s3ObjectUidsHasBeenSet = true; m_s3ObjectUids = std::move(value); } + inline S3Bucket& WithS3ObjectUids(const Aws::Vector& value) { SetS3ObjectUids(value); return *this;} + inline S3Bucket& WithS3ObjectUids(Aws::Vector&& value) { SetS3ObjectUids(std::move(value)); return *this;} + inline S3Bucket& AddS3ObjectUids(const Aws::String& value) { m_s3ObjectUidsHasBeenSet = true; m_s3ObjectUids.push_back(value); return *this; } + inline S3Bucket& AddS3ObjectUids(Aws::String&& value) { m_s3ObjectUidsHasBeenSet = true; m_s3ObjectUids.push_back(std::move(value)); return *this; } + inline S3Bucket& AddS3ObjectUids(const char* value) { m_s3ObjectUidsHasBeenSet = true; m_s3ObjectUids.push_back(value); return *this; } + ///@} + private: + + Aws::String m_ownerId; + bool m_ownerIdHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_encryptionType; + bool m_encryptionTypeHasBeenSet = false; + + Aws::String m_encryptionKeyArn; + bool m_encryptionKeyArnHasBeenSet = false; + + Aws::String m_effectivePermission; + bool m_effectivePermissionHasBeenSet = false; + + PublicAccessStatus m_publicReadAccess; + bool m_publicReadAccessHasBeenSet = false; + + PublicAccessStatus m_publicWriteAccess; + bool m_publicWriteAccessHasBeenSet = false; + + PublicAccessConfiguration m_accountPublicAccess; + bool m_accountPublicAccessHasBeenSet = false; + + PublicAccessConfiguration m_bucketPublicAccess; + bool m_bucketPublicAccessHasBeenSet = false; + + Aws::Vector m_s3ObjectUids; + bool m_s3ObjectUidsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/S3Object.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/S3Object.h new file mode 100644 index 00000000000..34e9579db5c --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/S3Object.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the Amazon S3 object.

        See Also:

        + * AWS + * API Reference

        + */ + class S3Object + { + public: + AWS_GUARDDUTY_API S3Object(); + AWS_GUARDDUTY_API S3Object(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API S3Object& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The entity tag is a hash of the Amazon S3 object. The ETag reflects changes + * only to the contents of an object, and not its metadata.

        + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } + inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } + inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } + inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } + inline S3Object& WithETag(const Aws::String& value) { SetETag(value); return *this;} + inline S3Object& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + inline S3Object& WithETag(const char* value) { SetETag(value); return *this;} + ///@} + + ///@{ + /** + *

        The key of the Amazon S3 object.

        + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline S3Object& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline S3Object& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline S3Object& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

        The version Id of the Amazon S3 object.

        + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + inline S3Object& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + inline S3Object& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + inline S3Object& WithVersionId(const char* value) { SetVersionId(value); return *this;} + ///@} + private: + + Aws::String m_eTag; + bool m_eTagHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Sequence.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Sequence.h new file mode 100644 index 00000000000..ecb262de44e --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Sequence.h @@ -0,0 +1,172 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the GuardDuty attack sequence + * finding.

        See Also:

        AWS + * API Reference

        + */ + class Sequence + { + public: + AWS_GUARDDUTY_API Sequence(); + AWS_GUARDDUTY_API Sequence(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Sequence& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Unique identifier of the attack sequence.

        + */ + inline const Aws::String& GetUid() const{ return m_uid; } + inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } + inline void SetUid(const Aws::String& value) { m_uidHasBeenSet = true; m_uid = value; } + inline void SetUid(Aws::String&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } + inline void SetUid(const char* value) { m_uidHasBeenSet = true; m_uid.assign(value); } + inline Sequence& WithUid(const Aws::String& value) { SetUid(value); return *this;} + inline Sequence& WithUid(Aws::String&& value) { SetUid(std::move(value)); return *this;} + inline Sequence& WithUid(const char* value) { SetUid(value); return *this;} + ///@} + + ///@{ + /** + *

        Description of the attack sequence.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline Sequence& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline Sequence& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline Sequence& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the actors involved in the attack sequence.

        + */ + inline const Aws::Vector& GetActors() const{ return m_actors; } + inline bool ActorsHasBeenSet() const { return m_actorsHasBeenSet; } + inline void SetActors(const Aws::Vector& value) { m_actorsHasBeenSet = true; m_actors = value; } + inline void SetActors(Aws::Vector&& value) { m_actorsHasBeenSet = true; m_actors = std::move(value); } + inline Sequence& WithActors(const Aws::Vector& value) { SetActors(value); return *this;} + inline Sequence& WithActors(Aws::Vector&& value) { SetActors(std::move(value)); return *this;} + inline Sequence& AddActors(const Actor& value) { m_actorsHasBeenSet = true; m_actors.push_back(value); return *this; } + inline Sequence& AddActors(Actor&& value) { m_actorsHasBeenSet = true; m_actors.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Contains information about the resources involved in the attack sequence.

        + */ + inline const Aws::Vector& GetResources() const{ return m_resources; } + inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; } + inline void SetResources(const Aws::Vector& value) { m_resourcesHasBeenSet = true; m_resources = value; } + inline void SetResources(Aws::Vector&& value) { m_resourcesHasBeenSet = true; m_resources = std::move(value); } + inline Sequence& WithResources(const Aws::Vector& value) { SetResources(value); return *this;} + inline Sequence& WithResources(Aws::Vector&& value) { SetResources(std::move(value)); return *this;} + inline Sequence& AddResources(const ResourceV2& value) { m_resourcesHasBeenSet = true; m_resources.push_back(value); return *this; } + inline Sequence& AddResources(ResourceV2&& value) { m_resourcesHasBeenSet = true; m_resources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Contains information about the network endpoints that were used in the attack + * sequence.

        + */ + inline const Aws::Vector& GetEndpoints() const{ return m_endpoints; } + inline bool EndpointsHasBeenSet() const { return m_endpointsHasBeenSet; } + inline void SetEndpoints(const Aws::Vector& value) { m_endpointsHasBeenSet = true; m_endpoints = value; } + inline void SetEndpoints(Aws::Vector&& value) { m_endpointsHasBeenSet = true; m_endpoints = std::move(value); } + inline Sequence& WithEndpoints(const Aws::Vector& value) { SetEndpoints(value); return *this;} + inline Sequence& WithEndpoints(Aws::Vector&& value) { SetEndpoints(std::move(value)); return *this;} + inline Sequence& AddEndpoints(const NetworkEndpoint& value) { m_endpointsHasBeenSet = true; m_endpoints.push_back(value); return *this; } + inline Sequence& AddEndpoints(NetworkEndpoint&& value) { m_endpointsHasBeenSet = true; m_endpoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Contains information about the signals involved in the attack sequence.

        + */ + inline const Aws::Vector& GetSignals() const{ return m_signals; } + inline bool SignalsHasBeenSet() const { return m_signalsHasBeenSet; } + inline void SetSignals(const Aws::Vector& value) { m_signalsHasBeenSet = true; m_signals = value; } + inline void SetSignals(Aws::Vector&& value) { m_signalsHasBeenSet = true; m_signals = std::move(value); } + inline Sequence& WithSignals(const Aws::Vector& value) { SetSignals(value); return *this;} + inline Sequence& WithSignals(Aws::Vector&& value) { SetSignals(std::move(value)); return *this;} + inline Sequence& AddSignals(const Signal& value) { m_signalsHasBeenSet = true; m_signals.push_back(value); return *this; } + inline Sequence& AddSignals(Signal&& value) { m_signalsHasBeenSet = true; m_signals.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Contains information about the indicators observed in the attack + * sequence.

        + */ + inline const Aws::Vector& GetSequenceIndicators() const{ return m_sequenceIndicators; } + inline bool SequenceIndicatorsHasBeenSet() const { return m_sequenceIndicatorsHasBeenSet; } + inline void SetSequenceIndicators(const Aws::Vector& value) { m_sequenceIndicatorsHasBeenSet = true; m_sequenceIndicators = value; } + inline void SetSequenceIndicators(Aws::Vector&& value) { m_sequenceIndicatorsHasBeenSet = true; m_sequenceIndicators = std::move(value); } + inline Sequence& WithSequenceIndicators(const Aws::Vector& value) { SetSequenceIndicators(value); return *this;} + inline Sequence& WithSequenceIndicators(Aws::Vector&& value) { SetSequenceIndicators(std::move(value)); return *this;} + inline Sequence& AddSequenceIndicators(const Indicator& value) { m_sequenceIndicatorsHasBeenSet = true; m_sequenceIndicators.push_back(value); return *this; } + inline Sequence& AddSequenceIndicators(Indicator&& value) { m_sequenceIndicatorsHasBeenSet = true; m_sequenceIndicators.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_uid; + bool m_uidHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_actors; + bool m_actorsHasBeenSet = false; + + Aws::Vector m_resources; + bool m_resourcesHasBeenSet = false; + + Aws::Vector m_endpoints; + bool m_endpointsHasBeenSet = false; + + Aws::Vector m_signals; + bool m_signalsHasBeenSet = false; + + Aws::Vector m_sequenceIndicators; + bool m_sequenceIndicatorsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Session.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Session.h new file mode 100644 index 00000000000..8021de45d97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Session.h @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the authenticated session.

        See + * Also:

        AWS + * API Reference

        + */ + class Session + { + public: + AWS_GUARDDUTY_API Session(); + AWS_GUARDDUTY_API Session(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Session& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The unique identifier of the session.

        + */ + inline const Aws::String& GetUid() const{ return m_uid; } + inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } + inline void SetUid(const Aws::String& value) { m_uidHasBeenSet = true; m_uid = value; } + inline void SetUid(Aws::String&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } + inline void SetUid(const char* value) { m_uidHasBeenSet = true; m_uid.assign(value); } + inline Session& WithUid(const Aws::String& value) { SetUid(value); return *this;} + inline Session& WithUid(Aws::String&& value) { SetUid(std::move(value)); return *this;} + inline Session& WithUid(const char* value) { SetUid(value); return *this;} + ///@} + + ///@{ + /** + *

        Indicates whether or not multi-factor authencation (MFA) was used during + * authentication.

        In Amazon Web Services CloudTrail, you can find this + * value as + * userIdentity.sessionContext.attributes.mfaAuthenticated.

        + */ + inline const MfaStatus& GetMfaStatus() const{ return m_mfaStatus; } + inline bool MfaStatusHasBeenSet() const { return m_mfaStatusHasBeenSet; } + inline void SetMfaStatus(const MfaStatus& value) { m_mfaStatusHasBeenSet = true; m_mfaStatus = value; } + inline void SetMfaStatus(MfaStatus&& value) { m_mfaStatusHasBeenSet = true; m_mfaStatus = std::move(value); } + inline Session& WithMfaStatus(const MfaStatus& value) { SetMfaStatus(value); return *this;} + inline Session& WithMfaStatus(MfaStatus&& value) { SetMfaStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp for when the session was created.

        In Amazon Web Services + * CloudTrail, you can find this value as + * userIdentity.sessionContext.attributes.creationDate.

        + */ + inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } + inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } + inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } + inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } + inline Session& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} + inline Session& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Identifier of the session issuer.

        In Amazon Web Services CloudTrail, + * you can find this value as + * userIdentity.sessionContext.sessionIssuer.arn.

        + */ + inline const Aws::String& GetIssuer() const{ return m_issuer; } + inline bool IssuerHasBeenSet() const { return m_issuerHasBeenSet; } + inline void SetIssuer(const Aws::String& value) { m_issuerHasBeenSet = true; m_issuer = value; } + inline void SetIssuer(Aws::String&& value) { m_issuerHasBeenSet = true; m_issuer = std::move(value); } + inline void SetIssuer(const char* value) { m_issuerHasBeenSet = true; m_issuer.assign(value); } + inline Session& WithIssuer(const Aws::String& value) { SetIssuer(value); return *this;} + inline Session& WithIssuer(Aws::String&& value) { SetIssuer(std::move(value)); return *this;} + inline Session& WithIssuer(const char* value) { SetIssuer(value); return *this;} + ///@} + private: + + Aws::String m_uid; + bool m_uidHasBeenSet = false; + + MfaStatus m_mfaStatus; + bool m_mfaStatusHasBeenSet = false; + + Aws::Utils::DateTime m_createdTime; + bool m_createdTimeHasBeenSet = false; + + Aws::String m_issuer; + bool m_issuerHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Signal.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Signal.h new file mode 100644 index 00000000000..36629ef93f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Signal.h @@ -0,0 +1,294 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the signals involved in the attack + * sequence.

        See Also:

        AWS + * API Reference

        + */ + class Signal + { + public: + AWS_GUARDDUTY_API Signal(); + AWS_GUARDDUTY_API Signal(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Signal& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The unique identifier of the signal.

        + */ + inline const Aws::String& GetUid() const{ return m_uid; } + inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } + inline void SetUid(const Aws::String& value) { m_uidHasBeenSet = true; m_uid = value; } + inline void SetUid(Aws::String&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } + inline void SetUid(const char* value) { m_uidHasBeenSet = true; m_uid.assign(value); } + inline Signal& WithUid(const Aws::String& value) { SetUid(value); return *this;} + inline Signal& WithUid(Aws::String&& value) { SetUid(std::move(value)); return *this;} + inline Signal& WithUid(const char* value) { SetUid(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of the signal used to identify an attack sequence.

        Signals + * can be GuardDuty findings or activities observed in data sources that GuardDuty + * monitors. For more information, see Foundational + * data sources in the GuardDuty User Guide.

        A signal type can be + * one of the valid values listed in this API. Here are the related + * descriptions:

        • FINDING - Individually generated + * GuardDuty finding.

        • CLOUD_TRAIL - Activity + * observed from CloudTrail logs

        • S3_DATA_EVENTS - + * Activity observed from CloudTrail data events for S3. Activities associated with + * this type will show up only when you have enabled GuardDuty S3 Protection + * feature in your account. For more information about S3 Protection and steps to + * enable it, see S3 + * Protection in the GuardDuty User Guide.

        + */ + inline const SignalType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const SignalType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(SignalType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline Signal& WithType(const SignalType& value) { SetType(value); return *this;} + inline Signal& WithType(SignalType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The description of the signal.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline Signal& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline Signal& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline Signal& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the signal. For example, when signal type is + * FINDING, the signal name is the name of the finding.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline Signal& WithName(const Aws::String& value) { SetName(value); return *this;} + inline Signal& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline Signal& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp when the first finding or activity related to this signal was + * observed.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline Signal& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline Signal& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp when this signal was last observed.

        + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } + inline Signal& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + inline Signal& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp when the first finding or activity related to this signal was + * observed.

        + */ + inline const Aws::Utils::DateTime& GetFirstSeenAt() const{ return m_firstSeenAt; } + inline bool FirstSeenAtHasBeenSet() const { return m_firstSeenAtHasBeenSet; } + inline void SetFirstSeenAt(const Aws::Utils::DateTime& value) { m_firstSeenAtHasBeenSet = true; m_firstSeenAt = value; } + inline void SetFirstSeenAt(Aws::Utils::DateTime&& value) { m_firstSeenAtHasBeenSet = true; m_firstSeenAt = std::move(value); } + inline Signal& WithFirstSeenAt(const Aws::Utils::DateTime& value) { SetFirstSeenAt(value); return *this;} + inline Signal& WithFirstSeenAt(Aws::Utils::DateTime&& value) { SetFirstSeenAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp when the last finding or activity related to this signal was + * observed.

        + */ + inline const Aws::Utils::DateTime& GetLastSeenAt() const{ return m_lastSeenAt; } + inline bool LastSeenAtHasBeenSet() const { return m_lastSeenAtHasBeenSet; } + inline void SetLastSeenAt(const Aws::Utils::DateTime& value) { m_lastSeenAtHasBeenSet = true; m_lastSeenAt = value; } + inline void SetLastSeenAt(Aws::Utils::DateTime&& value) { m_lastSeenAtHasBeenSet = true; m_lastSeenAt = std::move(value); } + inline Signal& WithLastSeenAt(const Aws::Utils::DateTime& value) { SetLastSeenAt(value); return *this;} + inline Signal& WithLastSeenAt(Aws::Utils::DateTime&& value) { SetLastSeenAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The severity associated with the signal. For more information about severity, + * see Findings + * severity levels in the GuardDuty User Guide.

        + */ + inline double GetSeverity() const{ return m_severity; } + inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; } + inline void SetSeverity(double value) { m_severityHasBeenSet = true; m_severity = value; } + inline Signal& WithSeverity(double value) { SetSeverity(value); return *this;} + ///@} + + ///@{ + /** + *

        The number of times this signal was observed.

        + */ + inline int GetCount() const{ return m_count; } + inline bool CountHasBeenSet() const { return m_countHasBeenSet; } + inline void SetCount(int value) { m_countHasBeenSet = true; m_count = value; } + inline Signal& WithCount(int value) { SetCount(value); return *this;} + ///@} + + ///@{ + /** + *

        Information about the unique identifiers of the resources involved in the + * signal.

        + */ + inline const Aws::Vector& GetResourceUids() const{ return m_resourceUids; } + inline bool ResourceUidsHasBeenSet() const { return m_resourceUidsHasBeenSet; } + inline void SetResourceUids(const Aws::Vector& value) { m_resourceUidsHasBeenSet = true; m_resourceUids = value; } + inline void SetResourceUids(Aws::Vector&& value) { m_resourceUidsHasBeenSet = true; m_resourceUids = std::move(value); } + inline Signal& WithResourceUids(const Aws::Vector& value) { SetResourceUids(value); return *this;} + inline Signal& WithResourceUids(Aws::Vector&& value) { SetResourceUids(std::move(value)); return *this;} + inline Signal& AddResourceUids(const Aws::String& value) { m_resourceUidsHasBeenSet = true; m_resourceUids.push_back(value); return *this; } + inline Signal& AddResourceUids(Aws::String&& value) { m_resourceUidsHasBeenSet = true; m_resourceUids.push_back(std::move(value)); return *this; } + inline Signal& AddResourceUids(const char* value) { m_resourceUidsHasBeenSet = true; m_resourceUids.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Information about the IDs of the threat actors involved in the signal.

        + */ + inline const Aws::Vector& GetActorIds() const{ return m_actorIds; } + inline bool ActorIdsHasBeenSet() const { return m_actorIdsHasBeenSet; } + inline void SetActorIds(const Aws::Vector& value) { m_actorIdsHasBeenSet = true; m_actorIds = value; } + inline void SetActorIds(Aws::Vector&& value) { m_actorIdsHasBeenSet = true; m_actorIds = std::move(value); } + inline Signal& WithActorIds(const Aws::Vector& value) { SetActorIds(value); return *this;} + inline Signal& WithActorIds(Aws::Vector&& value) { SetActorIds(std::move(value)); return *this;} + inline Signal& AddActorIds(const Aws::String& value) { m_actorIdsHasBeenSet = true; m_actorIds.push_back(value); return *this; } + inline Signal& AddActorIds(Aws::String&& value) { m_actorIdsHasBeenSet = true; m_actorIds.push_back(std::move(value)); return *this; } + inline Signal& AddActorIds(const char* value) { m_actorIdsHasBeenSet = true; m_actorIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Information about the endpoint IDs associated with this signal.

        + */ + inline const Aws::Vector& GetEndpointIds() const{ return m_endpointIds; } + inline bool EndpointIdsHasBeenSet() const { return m_endpointIdsHasBeenSet; } + inline void SetEndpointIds(const Aws::Vector& value) { m_endpointIdsHasBeenSet = true; m_endpointIds = value; } + inline void SetEndpointIds(Aws::Vector&& value) { m_endpointIdsHasBeenSet = true; m_endpointIds = std::move(value); } + inline Signal& WithEndpointIds(const Aws::Vector& value) { SetEndpointIds(value); return *this;} + inline Signal& WithEndpointIds(Aws::Vector&& value) { SetEndpointIds(std::move(value)); return *this;} + inline Signal& AddEndpointIds(const Aws::String& value) { m_endpointIdsHasBeenSet = true; m_endpointIds.push_back(value); return *this; } + inline Signal& AddEndpointIds(Aws::String&& value) { m_endpointIdsHasBeenSet = true; m_endpointIds.push_back(std::move(value)); return *this; } + inline Signal& AddEndpointIds(const char* value) { m_endpointIdsHasBeenSet = true; m_endpointIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Contains information about the indicators associated with the signals.

        + */ + inline const Aws::Vector& GetSignalIndicators() const{ return m_signalIndicators; } + inline bool SignalIndicatorsHasBeenSet() const { return m_signalIndicatorsHasBeenSet; } + inline void SetSignalIndicators(const Aws::Vector& value) { m_signalIndicatorsHasBeenSet = true; m_signalIndicators = value; } + inline void SetSignalIndicators(Aws::Vector&& value) { m_signalIndicatorsHasBeenSet = true; m_signalIndicators = std::move(value); } + inline Signal& WithSignalIndicators(const Aws::Vector& value) { SetSignalIndicators(value); return *this;} + inline Signal& WithSignalIndicators(Aws::Vector&& value) { SetSignalIndicators(std::move(value)); return *this;} + inline Signal& AddSignalIndicators(const Indicator& value) { m_signalIndicatorsHasBeenSet = true; m_signalIndicators.push_back(value); return *this; } + inline Signal& AddSignalIndicators(Indicator&& value) { m_signalIndicatorsHasBeenSet = true; m_signalIndicators.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_uid; + bool m_uidHasBeenSet = false; + + SignalType m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt; + bool m_updatedAtHasBeenSet = false; + + Aws::Utils::DateTime m_firstSeenAt; + bool m_firstSeenAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastSeenAt; + bool m_lastSeenAtHasBeenSet = false; + + double m_severity; + bool m_severityHasBeenSet = false; + + int m_count; + bool m_countHasBeenSet = false; + + Aws::Vector m_resourceUids; + bool m_resourceUidsHasBeenSet = false; + + Aws::Vector m_actorIds; + bool m_actorIdsHasBeenSet = false; + + Aws::Vector m_endpointIds; + bool m_endpointIdsHasBeenSet = false; + + Aws::Vector m_signalIndicators; + bool m_signalIndicatorsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/SignalType.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/SignalType.h new file mode 100644 index 00000000000..7849933fb9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/SignalType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + enum class SignalType + { + NOT_SET, + FINDING, + CLOUD_TRAIL, + S3_DATA_EVENTS + }; + +namespace SignalTypeMapper +{ +AWS_GUARDDUTY_API SignalType GetSignalTypeForName(const Aws::String& name); + +AWS_GUARDDUTY_API Aws::String GetNameForSignalType(SignalType value); +} // namespace SignalTypeMapper +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/User.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/User.h new file mode 100644 index 00000000000..b176ec5d966 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/User.h @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

        Contains information about the user involved in the attack + * sequence.

        See Also:

        AWS API + * Reference

        + */ + class User + { + public: + AWS_GUARDDUTY_API User(); + AWS_GUARDDUTY_API User(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API User& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the user.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline User& WithName(const Aws::String& value) { SetName(value); return *this;} + inline User& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline User& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The unique identifier of the user.

        + */ + inline const Aws::String& GetUid() const{ return m_uid; } + inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } + inline void SetUid(const Aws::String& value) { m_uidHasBeenSet = true; m_uid = value; } + inline void SetUid(Aws::String&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } + inline void SetUid(const char* value) { m_uidHasBeenSet = true; m_uid.assign(value); } + inline User& WithUid(const Aws::String& value) { SetUid(value); return *this;} + inline User& WithUid(Aws::String&& value) { SetUid(std::move(value)); return *this;} + inline User& WithUid(const char* value) { SetUid(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of the user.

        + */ + inline const Aws::String& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + inline User& WithType(const Aws::String& value) { SetType(value); return *this;} + inline User& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + inline User& WithType(const char* value) { SetType(value); return *this;} + ///@} + + ///@{ + /** + *

        The credentials of the user ID.

        + */ + inline const Aws::String& GetCredentialUid() const{ return m_credentialUid; } + inline bool CredentialUidHasBeenSet() const { return m_credentialUidHasBeenSet; } + inline void SetCredentialUid(const Aws::String& value) { m_credentialUidHasBeenSet = true; m_credentialUid = value; } + inline void SetCredentialUid(Aws::String&& value) { m_credentialUidHasBeenSet = true; m_credentialUid = std::move(value); } + inline void SetCredentialUid(const char* value) { m_credentialUidHasBeenSet = true; m_credentialUid.assign(value); } + inline User& WithCredentialUid(const Aws::String& value) { SetCredentialUid(value); return *this;} + inline User& WithCredentialUid(Aws::String&& value) { SetCredentialUid(std::move(value)); return *this;} + inline User& WithCredentialUid(const char* value) { SetCredentialUid(value); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the Amazon Web Services account.

        + */ + inline const Account& GetAccount() const{ return m_account; } + inline bool AccountHasBeenSet() const { return m_accountHasBeenSet; } + inline void SetAccount(const Account& value) { m_accountHasBeenSet = true; m_account = value; } + inline void SetAccount(Account&& value) { m_accountHasBeenSet = true; m_account = std::move(value); } + inline User& WithAccount(const Account& value) { SetAccount(value); return *this;} + inline User& WithAccount(Account&& value) { SetAccount(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_uid; + bool m_uidHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_credentialUid; + bool m_credentialUidHasBeenSet = false; + + Account m_account; + bool m_accountHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/AccessKey.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/AccessKey.cpp new file mode 100644 index 00000000000..7ae293d5888 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/AccessKey.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +AccessKey::AccessKey() : + m_principalIdHasBeenSet(false), + m_userNameHasBeenSet(false), + m_userTypeHasBeenSet(false) +{ +} + +AccessKey::AccessKey(JsonView jsonValue) + : AccessKey() +{ + *this = jsonValue; +} + +AccessKey& AccessKey::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("principalId")) + { + m_principalId = jsonValue.GetString("principalId"); + + m_principalIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("userName")) + { + m_userName = jsonValue.GetString("userName"); + + m_userNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("userType")) + { + m_userType = jsonValue.GetString("userType"); + + m_userTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue AccessKey::Jsonize() const +{ + JsonValue payload; + + if(m_principalIdHasBeenSet) + { + payload.WithString("principalId", m_principalId); + + } + + if(m_userNameHasBeenSet) + { + payload.WithString("userName", m_userName); + + } + + if(m_userTypeHasBeenSet) + { + payload.WithString("userType", m_userType); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Account.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Account.cpp new file mode 100644 index 00000000000..163feb6144a --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Account.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +Account::Account() : + m_uidHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +Account::Account(JsonView jsonValue) + : Account() +{ + *this = jsonValue; +} + +Account& Account::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("uid")) + { + m_uid = jsonValue.GetString("uid"); + + m_uidHasBeenSet = true; + } + + if(jsonValue.ValueExists("account")) + { + m_name = jsonValue.GetString("account"); + + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue Account::Jsonize() const +{ + JsonValue payload; + + if(m_uidHasBeenSet) + { + payload.WithString("uid", m_uid); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("account", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Actor.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Actor.cpp new file mode 100644 index 00000000000..c7f6a485393 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Actor.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +Actor::Actor() : + m_idHasBeenSet(false), + m_userHasBeenSet(false), + m_sessionHasBeenSet(false) +{ +} + +Actor::Actor(JsonView jsonValue) + : Actor() +{ + *this = jsonValue; +} + +Actor& Actor::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("user")) + { + m_user = jsonValue.GetObject("user"); + + m_userHasBeenSet = true; + } + + if(jsonValue.ValueExists("session")) + { + m_session = jsonValue.GetObject("session"); + + m_sessionHasBeenSet = true; + } + + return *this; +} + +JsonValue Actor::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_userHasBeenSet) + { + payload.WithObject("user", m_user.Jsonize()); + + } + + if(m_sessionHasBeenSet) + { + payload.WithObject("session", m_session.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/AutonomousSystem.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/AutonomousSystem.cpp new file mode 100644 index 00000000000..4bea9a346cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/AutonomousSystem.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +AutonomousSystem::AutonomousSystem() : + m_nameHasBeenSet(false), + m_number(0), + m_numberHasBeenSet(false) +{ +} + +AutonomousSystem::AutonomousSystem(JsonView jsonValue) + : AutonomousSystem() +{ + *this = jsonValue; +} + +AutonomousSystem& AutonomousSystem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("number")) + { + m_number = jsonValue.GetInteger("number"); + + m_numberHasBeenSet = true; + } + + return *this; +} + +JsonValue AutonomousSystem::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_numberHasBeenSet) + { + payload.WithInteger("number", m_number); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Detection.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Detection.cpp index da56721a38a..663af204f85 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/Detection.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Detection.cpp @@ -19,7 +19,8 @@ namespace Model { Detection::Detection() : - m_anomalyHasBeenSet(false) + m_anomalyHasBeenSet(false), + m_sequenceHasBeenSet(false) { } @@ -38,6 +39,13 @@ Detection& Detection::operator =(JsonView jsonValue) m_anomalyHasBeenSet = true; } + if(jsonValue.ValueExists("sequence")) + { + m_sequence = jsonValue.GetObject("sequence"); + + m_sequenceHasBeenSet = true; + } + return *this; } @@ -51,6 +59,12 @@ JsonValue Detection::Jsonize() const } + if(m_sequenceHasBeenSet) + { + payload.WithObject("sequence", m_sequence.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Ec2Instance.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Ec2Instance.cpp new file mode 100644 index 00000000000..1e2e9bd09b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Ec2Instance.cpp @@ -0,0 +1,187 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +Ec2Instance::Ec2Instance() : + m_availabilityZoneHasBeenSet(false), + m_imageDescriptionHasBeenSet(false), + m_instanceStateHasBeenSet(false), + m_iamInstanceProfileHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_outpostArnHasBeenSet(false), + m_platformHasBeenSet(false), + m_productCodesHasBeenSet(false), + m_ec2NetworkInterfaceUidsHasBeenSet(false) +{ +} + +Ec2Instance::Ec2Instance(JsonView jsonValue) + : Ec2Instance() +{ + *this = jsonValue; +} + +Ec2Instance& Ec2Instance::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("availabilityZone")) + { + m_availabilityZone = jsonValue.GetString("availabilityZone"); + + m_availabilityZoneHasBeenSet = true; + } + + if(jsonValue.ValueExists("imageDescription")) + { + m_imageDescription = jsonValue.GetString("imageDescription"); + + m_imageDescriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceState")) + { + m_instanceState = jsonValue.GetString("instanceState"); + + m_instanceStateHasBeenSet = true; + } + + if(jsonValue.ValueExists("IamInstanceProfile")) + { + m_iamInstanceProfile = jsonValue.GetObject("IamInstanceProfile"); + + m_iamInstanceProfileHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceType")) + { + m_instanceType = jsonValue.GetString("instanceType"); + + m_instanceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("outpostArn")) + { + m_outpostArn = jsonValue.GetString("outpostArn"); + + m_outpostArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("platform")) + { + m_platform = jsonValue.GetString("platform"); + + m_platformHasBeenSet = true; + } + + if(jsonValue.ValueExists("productCodes")) + { + Aws::Utils::Array productCodesJsonList = jsonValue.GetArray("productCodes"); + for(unsigned productCodesIndex = 0; productCodesIndex < productCodesJsonList.GetLength(); ++productCodesIndex) + { + m_productCodes.push_back(productCodesJsonList[productCodesIndex].AsObject()); + } + m_productCodesHasBeenSet = true; + } + + if(jsonValue.ValueExists("ec2NetworkInterfaceUids")) + { + Aws::Utils::Array ec2NetworkInterfaceUidsJsonList = jsonValue.GetArray("ec2NetworkInterfaceUids"); + for(unsigned ec2NetworkInterfaceUidsIndex = 0; ec2NetworkInterfaceUidsIndex < ec2NetworkInterfaceUidsJsonList.GetLength(); ++ec2NetworkInterfaceUidsIndex) + { + m_ec2NetworkInterfaceUids.push_back(ec2NetworkInterfaceUidsJsonList[ec2NetworkInterfaceUidsIndex].AsString()); + } + m_ec2NetworkInterfaceUidsHasBeenSet = true; + } + + return *this; +} + +JsonValue Ec2Instance::Jsonize() const +{ + JsonValue payload; + + if(m_availabilityZoneHasBeenSet) + { + payload.WithString("availabilityZone", m_availabilityZone); + + } + + if(m_imageDescriptionHasBeenSet) + { + payload.WithString("imageDescription", m_imageDescription); + + } + + if(m_instanceStateHasBeenSet) + { + payload.WithString("instanceState", m_instanceState); + + } + + if(m_iamInstanceProfileHasBeenSet) + { + payload.WithObject("IamInstanceProfile", m_iamInstanceProfile.Jsonize()); + + } + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("instanceType", m_instanceType); + + } + + if(m_outpostArnHasBeenSet) + { + payload.WithString("outpostArn", m_outpostArn); + + } + + if(m_platformHasBeenSet) + { + payload.WithString("platform", m_platform); + + } + + if(m_productCodesHasBeenSet) + { + Aws::Utils::Array productCodesJsonList(m_productCodes.size()); + for(unsigned productCodesIndex = 0; productCodesIndex < productCodesJsonList.GetLength(); ++productCodesIndex) + { + productCodesJsonList[productCodesIndex].AsObject(m_productCodes[productCodesIndex].Jsonize()); + } + payload.WithArray("productCodes", std::move(productCodesJsonList)); + + } + + if(m_ec2NetworkInterfaceUidsHasBeenSet) + { + Aws::Utils::Array ec2NetworkInterfaceUidsJsonList(m_ec2NetworkInterfaceUids.size()); + for(unsigned ec2NetworkInterfaceUidsIndex = 0; ec2NetworkInterfaceUidsIndex < ec2NetworkInterfaceUidsJsonList.GetLength(); ++ec2NetworkInterfaceUidsIndex) + { + ec2NetworkInterfaceUidsJsonList[ec2NetworkInterfaceUidsIndex].AsString(m_ec2NetworkInterfaceUids[ec2NetworkInterfaceUidsIndex]); + } + payload.WithArray("ec2NetworkInterfaceUids", std::move(ec2NetworkInterfaceUidsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Ec2NetworkInterface.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Ec2NetworkInterface.cpp new file mode 100644 index 00000000000..5a8fb4e6077 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Ec2NetworkInterface.cpp @@ -0,0 +1,153 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +Ec2NetworkInterface::Ec2NetworkInterface() : + m_ipv6AddressesHasBeenSet(false), + m_privateIpAddressesHasBeenSet(false), + m_publicIpHasBeenSet(false), + m_securityGroupsHasBeenSet(false), + m_subNetIdHasBeenSet(false), + m_vpcIdHasBeenSet(false) +{ +} + +Ec2NetworkInterface::Ec2NetworkInterface(JsonView jsonValue) + : Ec2NetworkInterface() +{ + *this = jsonValue; +} + +Ec2NetworkInterface& Ec2NetworkInterface::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ipv6Addresses")) + { + Aws::Utils::Array ipv6AddressesJsonList = jsonValue.GetArray("ipv6Addresses"); + for(unsigned ipv6AddressesIndex = 0; ipv6AddressesIndex < ipv6AddressesJsonList.GetLength(); ++ipv6AddressesIndex) + { + m_ipv6Addresses.push_back(ipv6AddressesJsonList[ipv6AddressesIndex].AsString()); + } + m_ipv6AddressesHasBeenSet = true; + } + + if(jsonValue.ValueExists("privateIpAddresses")) + { + Aws::Utils::Array privateIpAddressesJsonList = jsonValue.GetArray("privateIpAddresses"); + for(unsigned privateIpAddressesIndex = 0; privateIpAddressesIndex < privateIpAddressesJsonList.GetLength(); ++privateIpAddressesIndex) + { + m_privateIpAddresses.push_back(privateIpAddressesJsonList[privateIpAddressesIndex].AsObject()); + } + m_privateIpAddressesHasBeenSet = true; + } + + if(jsonValue.ValueExists("publicIp")) + { + m_publicIp = jsonValue.GetString("publicIp"); + + m_publicIpHasBeenSet = true; + } + + if(jsonValue.ValueExists("securityGroups")) + { + Aws::Utils::Array securityGroupsJsonList = jsonValue.GetArray("securityGroups"); + for(unsigned securityGroupsIndex = 0; securityGroupsIndex < securityGroupsJsonList.GetLength(); ++securityGroupsIndex) + { + m_securityGroups.push_back(securityGroupsJsonList[securityGroupsIndex].AsObject()); + } + m_securityGroupsHasBeenSet = true; + } + + if(jsonValue.ValueExists("subNetId")) + { + m_subNetId = jsonValue.GetString("subNetId"); + + m_subNetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("vpcId")) + { + m_vpcId = jsonValue.GetString("vpcId"); + + m_vpcIdHasBeenSet = true; + } + + return *this; +} + +JsonValue Ec2NetworkInterface::Jsonize() const +{ + JsonValue payload; + + if(m_ipv6AddressesHasBeenSet) + { + Aws::Utils::Array ipv6AddressesJsonList(m_ipv6Addresses.size()); + for(unsigned ipv6AddressesIndex = 0; ipv6AddressesIndex < ipv6AddressesJsonList.GetLength(); ++ipv6AddressesIndex) + { + ipv6AddressesJsonList[ipv6AddressesIndex].AsString(m_ipv6Addresses[ipv6AddressesIndex]); + } + payload.WithArray("ipv6Addresses", std::move(ipv6AddressesJsonList)); + + } + + if(m_privateIpAddressesHasBeenSet) + { + Aws::Utils::Array privateIpAddressesJsonList(m_privateIpAddresses.size()); + for(unsigned privateIpAddressesIndex = 0; privateIpAddressesIndex < privateIpAddressesJsonList.GetLength(); ++privateIpAddressesIndex) + { + privateIpAddressesJsonList[privateIpAddressesIndex].AsObject(m_privateIpAddresses[privateIpAddressesIndex].Jsonize()); + } + payload.WithArray("privateIpAddresses", std::move(privateIpAddressesJsonList)); + + } + + if(m_publicIpHasBeenSet) + { + payload.WithString("publicIp", m_publicIp); + + } + + if(m_securityGroupsHasBeenSet) + { + Aws::Utils::Array securityGroupsJsonList(m_securityGroups.size()); + for(unsigned securityGroupsIndex = 0; securityGroupsIndex < securityGroupsJsonList.GetLength(); ++securityGroupsIndex) + { + securityGroupsJsonList[securityGroupsIndex].AsObject(m_securityGroups[securityGroupsIndex].Jsonize()); + } + payload.WithArray("securityGroups", std::move(securityGroupsJsonList)); + + } + + if(m_subNetIdHasBeenSet) + { + payload.WithString("subNetId", m_subNetId); + + } + + if(m_vpcIdHasBeenSet) + { + payload.WithString("vpcId", m_vpcId); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Finding.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Finding.cpp index 64a407e37a7..005fff3d20b 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/Finding.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Finding.cpp @@ -35,7 +35,8 @@ Finding::Finding() : m_severityHasBeenSet(false), m_titleHasBeenSet(false), m_typeHasBeenSet(false), - m_updatedAtHasBeenSet(false) + m_updatedAtHasBeenSet(false), + m_associatedAttackSequenceArnHasBeenSet(false) { } @@ -152,6 +153,13 @@ Finding& Finding::operator =(JsonView jsonValue) m_updatedAtHasBeenSet = true; } + if(jsonValue.ValueExists("associatedAttackSequenceArn")) + { + m_associatedAttackSequenceArn = jsonValue.GetString("associatedAttackSequenceArn"); + + m_associatedAttackSequenceArnHasBeenSet = true; + } + return *this; } @@ -249,6 +257,12 @@ JsonValue Finding::Jsonize() const } + if(m_associatedAttackSequenceArnHasBeenSet) + { + payload.WithString("associatedAttackSequenceArn", m_associatedAttackSequenceArn); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/FindingResourceType.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/FindingResourceType.cpp new file mode 100644 index 00000000000..b65d5b3fb35 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/FindingResourceType.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GuardDuty + { + namespace Model + { + namespace FindingResourceTypeMapper + { + + static const int EC2_INSTANCE_HASH = HashingUtils::HashString("EC2_INSTANCE"); + static const int EC2_NETWORK_INTERFACE_HASH = HashingUtils::HashString("EC2_NETWORK_INTERFACE"); + static const int S3_BUCKET_HASH = HashingUtils::HashString("S3_BUCKET"); + static const int S3_OBJECT_HASH = HashingUtils::HashString("S3_OBJECT"); + static const int ACCESS_KEY_HASH = HashingUtils::HashString("ACCESS_KEY"); + + + FindingResourceType GetFindingResourceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == EC2_INSTANCE_HASH) + { + return FindingResourceType::EC2_INSTANCE; + } + else if (hashCode == EC2_NETWORK_INTERFACE_HASH) + { + return FindingResourceType::EC2_NETWORK_INTERFACE; + } + else if (hashCode == S3_BUCKET_HASH) + { + return FindingResourceType::S3_BUCKET; + } + else if (hashCode == S3_OBJECT_HASH) + { + return FindingResourceType::S3_OBJECT; + } + else if (hashCode == ACCESS_KEY_HASH) + { + return FindingResourceType::ACCESS_KEY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FindingResourceType::NOT_SET; + } + + Aws::String GetNameForFindingResourceType(FindingResourceType enumValue) + { + switch(enumValue) + { + case FindingResourceType::NOT_SET: + return {}; + case FindingResourceType::EC2_INSTANCE: + return "EC2_INSTANCE"; + case FindingResourceType::EC2_NETWORK_INTERFACE: + return "EC2_NETWORK_INTERFACE"; + case FindingResourceType::S3_BUCKET: + return "S3_BUCKET"; + case FindingResourceType::S3_OBJECT: + return "S3_OBJECT"; + case FindingResourceType::ACCESS_KEY: + return "ACCESS_KEY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FindingResourceTypeMapper + } // namespace Model + } // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Indicator.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Indicator.cpp new file mode 100644 index 00000000000..03b7e648c32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Indicator.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +Indicator::Indicator() : + m_key(IndicatorType::NOT_SET), + m_keyHasBeenSet(false), + m_valuesHasBeenSet(false), + m_titleHasBeenSet(false) +{ +} + +Indicator::Indicator(JsonView jsonValue) + : Indicator() +{ + *this = jsonValue; +} + +Indicator& Indicator::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("key")) + { + m_key = IndicatorTypeMapper::GetIndicatorTypeForName(jsonValue.GetString("key")); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("values")) + { + Aws::Utils::Array valuesJsonList = jsonValue.GetArray("values"); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + m_values.push_back(valuesJsonList[valuesIndex].AsString()); + } + m_valuesHasBeenSet = true; + } + + if(jsonValue.ValueExists("title")) + { + m_title = jsonValue.GetString("title"); + + m_titleHasBeenSet = true; + } + + return *this; +} + +JsonValue Indicator::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("key", IndicatorTypeMapper::GetNameForIndicatorType(m_key)); + } + + if(m_valuesHasBeenSet) + { + Aws::Utils::Array valuesJsonList(m_values.size()); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + valuesJsonList[valuesIndex].AsString(m_values[valuesIndex]); + } + payload.WithArray("values", std::move(valuesJsonList)); + + } + + if(m_titleHasBeenSet) + { + payload.WithString("title", m_title); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/IndicatorType.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/IndicatorType.cpp new file mode 100644 index 00000000000..237bc3d7044 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/IndicatorType.cpp @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GuardDuty + { + namespace Model + { + namespace IndicatorTypeMapper + { + + static const int SUSPICIOUS_USER_AGENT_HASH = HashingUtils::HashString("SUSPICIOUS_USER_AGENT"); + static const int SUSPICIOUS_NETWORK_HASH = HashingUtils::HashString("SUSPICIOUS_NETWORK"); + static const int MALICIOUS_IP_HASH = HashingUtils::HashString("MALICIOUS_IP"); + static const int TOR_IP_HASH = HashingUtils::HashString("TOR_IP"); + static const int ATTACK_TACTIC_HASH = HashingUtils::HashString("ATTACK_TACTIC"); + static const int HIGH_RISK_API_HASH = HashingUtils::HashString("HIGH_RISK_API"); + static const int ATTACK_TECHNIQUE_HASH = HashingUtils::HashString("ATTACK_TECHNIQUE"); + static const int UNUSUAL_API_FOR_ACCOUNT_HASH = HashingUtils::HashString("UNUSUAL_API_FOR_ACCOUNT"); + static const int UNUSUAL_ASN_FOR_ACCOUNT_HASH = HashingUtils::HashString("UNUSUAL_ASN_FOR_ACCOUNT"); + static const int UNUSUAL_ASN_FOR_USER_HASH = HashingUtils::HashString("UNUSUAL_ASN_FOR_USER"); + + + IndicatorType GetIndicatorTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SUSPICIOUS_USER_AGENT_HASH) + { + return IndicatorType::SUSPICIOUS_USER_AGENT; + } + else if (hashCode == SUSPICIOUS_NETWORK_HASH) + { + return IndicatorType::SUSPICIOUS_NETWORK; + } + else if (hashCode == MALICIOUS_IP_HASH) + { + return IndicatorType::MALICIOUS_IP; + } + else if (hashCode == TOR_IP_HASH) + { + return IndicatorType::TOR_IP; + } + else if (hashCode == ATTACK_TACTIC_HASH) + { + return IndicatorType::ATTACK_TACTIC; + } + else if (hashCode == HIGH_RISK_API_HASH) + { + return IndicatorType::HIGH_RISK_API; + } + else if (hashCode == ATTACK_TECHNIQUE_HASH) + { + return IndicatorType::ATTACK_TECHNIQUE; + } + else if (hashCode == UNUSUAL_API_FOR_ACCOUNT_HASH) + { + return IndicatorType::UNUSUAL_API_FOR_ACCOUNT; + } + else if (hashCode == UNUSUAL_ASN_FOR_ACCOUNT_HASH) + { + return IndicatorType::UNUSUAL_ASN_FOR_ACCOUNT; + } + else if (hashCode == UNUSUAL_ASN_FOR_USER_HASH) + { + return IndicatorType::UNUSUAL_ASN_FOR_USER; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IndicatorType::NOT_SET; + } + + Aws::String GetNameForIndicatorType(IndicatorType enumValue) + { + switch(enumValue) + { + case IndicatorType::NOT_SET: + return {}; + case IndicatorType::SUSPICIOUS_USER_AGENT: + return "SUSPICIOUS_USER_AGENT"; + case IndicatorType::SUSPICIOUS_NETWORK: + return "SUSPICIOUS_NETWORK"; + case IndicatorType::MALICIOUS_IP: + return "MALICIOUS_IP"; + case IndicatorType::TOR_IP: + return "TOR_IP"; + case IndicatorType::ATTACK_TACTIC: + return "ATTACK_TACTIC"; + case IndicatorType::HIGH_RISK_API: + return "HIGH_RISK_API"; + case IndicatorType::ATTACK_TECHNIQUE: + return "ATTACK_TECHNIQUE"; + case IndicatorType::UNUSUAL_API_FOR_ACCOUNT: + return "UNUSUAL_API_FOR_ACCOUNT"; + case IndicatorType::UNUSUAL_ASN_FOR_ACCOUNT: + return "UNUSUAL_ASN_FOR_ACCOUNT"; + case IndicatorType::UNUSUAL_ASN_FOR_USER: + return "UNUSUAL_ASN_FOR_USER"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IndicatorTypeMapper + } // namespace Model + } // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/MfaStatus.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/MfaStatus.cpp new file mode 100644 index 00000000000..926130c54ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/MfaStatus.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GuardDuty + { + namespace Model + { + namespace MfaStatusMapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + MfaStatus GetMfaStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return MfaStatus::ENABLED; + } + else if (hashCode == DISABLED_HASH) + { + return MfaStatus::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MfaStatus::NOT_SET; + } + + Aws::String GetNameForMfaStatus(MfaStatus enumValue) + { + switch(enumValue) + { + case MfaStatus::NOT_SET: + return {}; + case MfaStatus::ENABLED: + return "ENABLED"; + case MfaStatus::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MfaStatusMapper + } // namespace Model + } // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkConnection.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkConnection.cpp new file mode 100644 index 00000000000..87af65696db --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkConnection.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +NetworkConnection::NetworkConnection() : + m_direction(NetworkDirection::NOT_SET), + m_directionHasBeenSet(false) +{ +} + +NetworkConnection::NetworkConnection(JsonView jsonValue) + : NetworkConnection() +{ + *this = jsonValue; +} + +NetworkConnection& NetworkConnection::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("direction")) + { + m_direction = NetworkDirectionMapper::GetNetworkDirectionForName(jsonValue.GetString("direction")); + + m_directionHasBeenSet = true; + } + + return *this; +} + +JsonValue NetworkConnection::Jsonize() const +{ + JsonValue payload; + + if(m_directionHasBeenSet) + { + payload.WithString("direction", NetworkDirectionMapper::GetNameForNetworkDirection(m_direction)); + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkDirection.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkDirection.cpp new file mode 100644 index 00000000000..e684cc6bb8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkDirection.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GuardDuty + { + namespace Model + { + namespace NetworkDirectionMapper + { + + static const int INBOUND_HASH = HashingUtils::HashString("INBOUND"); + static const int OUTBOUND_HASH = HashingUtils::HashString("OUTBOUND"); + + + NetworkDirection GetNetworkDirectionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INBOUND_HASH) + { + return NetworkDirection::INBOUND; + } + else if (hashCode == OUTBOUND_HASH) + { + return NetworkDirection::OUTBOUND; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return NetworkDirection::NOT_SET; + } + + Aws::String GetNameForNetworkDirection(NetworkDirection enumValue) + { + switch(enumValue) + { + case NetworkDirection::NOT_SET: + return {}; + case NetworkDirection::INBOUND: + return "INBOUND"; + case NetworkDirection::OUTBOUND: + return "OUTBOUND"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace NetworkDirectionMapper + } // namespace Model + } // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkEndpoint.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkEndpoint.cpp new file mode 100644 index 00000000000..3c3afe8e283 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkEndpoint.cpp @@ -0,0 +1,144 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +NetworkEndpoint::NetworkEndpoint() : + m_idHasBeenSet(false), + m_ipHasBeenSet(false), + m_domainHasBeenSet(false), + m_port(0), + m_portHasBeenSet(false), + m_locationHasBeenSet(false), + m_autonomousSystemHasBeenSet(false), + m_connectionHasBeenSet(false) +{ +} + +NetworkEndpoint::NetworkEndpoint(JsonView jsonValue) + : NetworkEndpoint() +{ + *this = jsonValue; +} + +NetworkEndpoint& NetworkEndpoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("ip")) + { + m_ip = jsonValue.GetString("ip"); + + m_ipHasBeenSet = true; + } + + if(jsonValue.ValueExists("domain")) + { + m_domain = jsonValue.GetString("domain"); + + m_domainHasBeenSet = true; + } + + if(jsonValue.ValueExists("port")) + { + m_port = jsonValue.GetInteger("port"); + + m_portHasBeenSet = true; + } + + if(jsonValue.ValueExists("location")) + { + m_location = jsonValue.GetObject("location"); + + m_locationHasBeenSet = true; + } + + if(jsonValue.ValueExists("autonomousSystem")) + { + m_autonomousSystem = jsonValue.GetObject("autonomousSystem"); + + m_autonomousSystemHasBeenSet = true; + } + + if(jsonValue.ValueExists("connection")) + { + m_connection = jsonValue.GetObject("connection"); + + m_connectionHasBeenSet = true; + } + + return *this; +} + +JsonValue NetworkEndpoint::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_ipHasBeenSet) + { + payload.WithString("ip", m_ip); + + } + + if(m_domainHasBeenSet) + { + payload.WithString("domain", m_domain); + + } + + if(m_portHasBeenSet) + { + payload.WithInteger("port", m_port); + + } + + if(m_locationHasBeenSet) + { + payload.WithObject("location", m_location.Jsonize()); + + } + + if(m_autonomousSystemHasBeenSet) + { + payload.WithObject("autonomousSystem", m_autonomousSystem.Jsonize()); + + } + + if(m_connectionHasBeenSet) + { + payload.WithObject("connection", m_connection.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkGeoLocation.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkGeoLocation.cpp new file mode 100644 index 00000000000..f1756a0261a --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/NetworkGeoLocation.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +NetworkGeoLocation::NetworkGeoLocation() : + m_cityHasBeenSet(false), + m_countryHasBeenSet(false), + m_latitude(0.0), + m_latitudeHasBeenSet(false), + m_longitude(0.0), + m_longitudeHasBeenSet(false) +{ +} + +NetworkGeoLocation::NetworkGeoLocation(JsonView jsonValue) + : NetworkGeoLocation() +{ + *this = jsonValue; +} + +NetworkGeoLocation& NetworkGeoLocation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("city")) + { + m_city = jsonValue.GetString("city"); + + m_cityHasBeenSet = true; + } + + if(jsonValue.ValueExists("country")) + { + m_country = jsonValue.GetString("country"); + + m_countryHasBeenSet = true; + } + + if(jsonValue.ValueExists("lat")) + { + m_latitude = jsonValue.GetDouble("lat"); + + m_latitudeHasBeenSet = true; + } + + if(jsonValue.ValueExists("lon")) + { + m_longitude = jsonValue.GetDouble("lon"); + + m_longitudeHasBeenSet = true; + } + + return *this; +} + +JsonValue NetworkGeoLocation::Jsonize() const +{ + JsonValue payload; + + if(m_cityHasBeenSet) + { + payload.WithString("city", m_city); + + } + + if(m_countryHasBeenSet) + { + payload.WithString("country", m_country); + + } + + if(m_latitudeHasBeenSet) + { + payload.WithDouble("lat", m_latitude); + + } + + if(m_longitudeHasBeenSet) + { + payload.WithDouble("lon", m_longitude); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/PublicAccessConfiguration.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/PublicAccessConfiguration.cpp new file mode 100644 index 00000000000..48e746b436f --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/PublicAccessConfiguration.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +PublicAccessConfiguration::PublicAccessConfiguration() : + m_publicAclAccess(PublicAccessStatus::NOT_SET), + m_publicAclAccessHasBeenSet(false), + m_publicPolicyAccess(PublicAccessStatus::NOT_SET), + m_publicPolicyAccessHasBeenSet(false), + m_publicAclIgnoreBehavior(PublicAclIgnoreBehavior::NOT_SET), + m_publicAclIgnoreBehaviorHasBeenSet(false), + m_publicBucketRestrictBehavior(PublicBucketRestrictBehavior::NOT_SET), + m_publicBucketRestrictBehaviorHasBeenSet(false) +{ +} + +PublicAccessConfiguration::PublicAccessConfiguration(JsonView jsonValue) + : PublicAccessConfiguration() +{ + *this = jsonValue; +} + +PublicAccessConfiguration& PublicAccessConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("publicAclAccess")) + { + m_publicAclAccess = PublicAccessStatusMapper::GetPublicAccessStatusForName(jsonValue.GetString("publicAclAccess")); + + m_publicAclAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("publicPolicyAccess")) + { + m_publicPolicyAccess = PublicAccessStatusMapper::GetPublicAccessStatusForName(jsonValue.GetString("publicPolicyAccess")); + + m_publicPolicyAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("publicAclIgnoreBehavior")) + { + m_publicAclIgnoreBehavior = PublicAclIgnoreBehaviorMapper::GetPublicAclIgnoreBehaviorForName(jsonValue.GetString("publicAclIgnoreBehavior")); + + m_publicAclIgnoreBehaviorHasBeenSet = true; + } + + if(jsonValue.ValueExists("publicBucketRestrictBehavior")) + { + m_publicBucketRestrictBehavior = PublicBucketRestrictBehaviorMapper::GetPublicBucketRestrictBehaviorForName(jsonValue.GetString("publicBucketRestrictBehavior")); + + m_publicBucketRestrictBehaviorHasBeenSet = true; + } + + return *this; +} + +JsonValue PublicAccessConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_publicAclAccessHasBeenSet) + { + payload.WithString("publicAclAccess", PublicAccessStatusMapper::GetNameForPublicAccessStatus(m_publicAclAccess)); + } + + if(m_publicPolicyAccessHasBeenSet) + { + payload.WithString("publicPolicyAccess", PublicAccessStatusMapper::GetNameForPublicAccessStatus(m_publicPolicyAccess)); + } + + if(m_publicAclIgnoreBehaviorHasBeenSet) + { + payload.WithString("publicAclIgnoreBehavior", PublicAclIgnoreBehaviorMapper::GetNameForPublicAclIgnoreBehavior(m_publicAclIgnoreBehavior)); + } + + if(m_publicBucketRestrictBehaviorHasBeenSet) + { + payload.WithString("publicBucketRestrictBehavior", PublicBucketRestrictBehaviorMapper::GetNameForPublicBucketRestrictBehavior(m_publicBucketRestrictBehavior)); + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/PublicAccessStatus.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/PublicAccessStatus.cpp new file mode 100644 index 00000000000..e1d222805ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/PublicAccessStatus.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GuardDuty + { + namespace Model + { + namespace PublicAccessStatusMapper + { + + static const int BLOCKED_HASH = HashingUtils::HashString("BLOCKED"); + static const int ALLOWED_HASH = HashingUtils::HashString("ALLOWED"); + + + PublicAccessStatus GetPublicAccessStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BLOCKED_HASH) + { + return PublicAccessStatus::BLOCKED; + } + else if (hashCode == ALLOWED_HASH) + { + return PublicAccessStatus::ALLOWED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PublicAccessStatus::NOT_SET; + } + + Aws::String GetNameForPublicAccessStatus(PublicAccessStatus enumValue) + { + switch(enumValue) + { + case PublicAccessStatus::NOT_SET: + return {}; + case PublicAccessStatus::BLOCKED: + return "BLOCKED"; + case PublicAccessStatus::ALLOWED: + return "ALLOWED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PublicAccessStatusMapper + } // namespace Model + } // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/PublicAclIgnoreBehavior.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/PublicAclIgnoreBehavior.cpp new file mode 100644 index 00000000000..49ae631ac3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/PublicAclIgnoreBehavior.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GuardDuty + { + namespace Model + { + namespace PublicAclIgnoreBehaviorMapper + { + + static const int IGNORED_HASH = HashingUtils::HashString("IGNORED"); + static const int NOT_IGNORED_HASH = HashingUtils::HashString("NOT_IGNORED"); + + + PublicAclIgnoreBehavior GetPublicAclIgnoreBehaviorForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IGNORED_HASH) + { + return PublicAclIgnoreBehavior::IGNORED; + } + else if (hashCode == NOT_IGNORED_HASH) + { + return PublicAclIgnoreBehavior::NOT_IGNORED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PublicAclIgnoreBehavior::NOT_SET; + } + + Aws::String GetNameForPublicAclIgnoreBehavior(PublicAclIgnoreBehavior enumValue) + { + switch(enumValue) + { + case PublicAclIgnoreBehavior::NOT_SET: + return {}; + case PublicAclIgnoreBehavior::IGNORED: + return "IGNORED"; + case PublicAclIgnoreBehavior::NOT_IGNORED: + return "NOT_IGNORED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PublicAclIgnoreBehaviorMapper + } // namespace Model + } // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/PublicBucketRestrictBehavior.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/PublicBucketRestrictBehavior.cpp new file mode 100644 index 00000000000..41b7d69473a --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/PublicBucketRestrictBehavior.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GuardDuty + { + namespace Model + { + namespace PublicBucketRestrictBehaviorMapper + { + + static const int RESTRICTED_HASH = HashingUtils::HashString("RESTRICTED"); + static const int NOT_RESTRICTED_HASH = HashingUtils::HashString("NOT_RESTRICTED"); + + + PublicBucketRestrictBehavior GetPublicBucketRestrictBehaviorForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == RESTRICTED_HASH) + { + return PublicBucketRestrictBehavior::RESTRICTED; + } + else if (hashCode == NOT_RESTRICTED_HASH) + { + return PublicBucketRestrictBehavior::NOT_RESTRICTED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PublicBucketRestrictBehavior::NOT_SET; + } + + Aws::String GetNameForPublicBucketRestrictBehavior(PublicBucketRestrictBehavior enumValue) + { + switch(enumValue) + { + case PublicBucketRestrictBehavior::NOT_SET: + return {}; + case PublicBucketRestrictBehavior::RESTRICTED: + return "RESTRICTED"; + case PublicBucketRestrictBehavior::NOT_RESTRICTED: + return "NOT_RESTRICTED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PublicBucketRestrictBehaviorMapper + } // namespace Model + } // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceData.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceData.cpp new file mode 100644 index 00000000000..c1faf38ec06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceData.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +ResourceData::ResourceData() : + m_s3BucketHasBeenSet(false), + m_ec2InstanceHasBeenSet(false), + m_accessKeyHasBeenSet(false), + m_ec2NetworkInterfaceHasBeenSet(false), + m_s3ObjectHasBeenSet(false) +{ +} + +ResourceData::ResourceData(JsonView jsonValue) + : ResourceData() +{ + *this = jsonValue; +} + +ResourceData& ResourceData::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("s3Bucket")) + { + m_s3Bucket = jsonValue.GetObject("s3Bucket"); + + m_s3BucketHasBeenSet = true; + } + + if(jsonValue.ValueExists("ec2Instance")) + { + m_ec2Instance = jsonValue.GetObject("ec2Instance"); + + m_ec2InstanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("accessKey")) + { + m_accessKey = jsonValue.GetObject("accessKey"); + + m_accessKeyHasBeenSet = true; + } + + if(jsonValue.ValueExists("ec2NetworkInterface")) + { + m_ec2NetworkInterface = jsonValue.GetObject("ec2NetworkInterface"); + + m_ec2NetworkInterfaceHasBeenSet = true; + } + + if(jsonValue.ValueExists("s3Object")) + { + m_s3Object = jsonValue.GetObject("s3Object"); + + m_s3ObjectHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceData::Jsonize() const +{ + JsonValue payload; + + if(m_s3BucketHasBeenSet) + { + payload.WithObject("s3Bucket", m_s3Bucket.Jsonize()); + + } + + if(m_ec2InstanceHasBeenSet) + { + payload.WithObject("ec2Instance", m_ec2Instance.Jsonize()); + + } + + if(m_accessKeyHasBeenSet) + { + payload.WithObject("accessKey", m_accessKey.Jsonize()); + + } + + if(m_ec2NetworkInterfaceHasBeenSet) + { + payload.WithObject("ec2NetworkInterface", m_ec2NetworkInterface.Jsonize()); + + } + + if(m_s3ObjectHasBeenSet) + { + payload.WithObject("s3Object", m_s3Object.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceV2.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceV2.cpp new file mode 100644 index 00000000000..f9928e624e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceV2.cpp @@ -0,0 +1,179 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +ResourceV2::ResourceV2() : + m_uidHasBeenSet(false), + m_nameHasBeenSet(false), + m_accountIdHasBeenSet(false), + m_resourceType(FindingResourceType::NOT_SET), + m_resourceTypeHasBeenSet(false), + m_regionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_cloudPartitionHasBeenSet(false), + m_tagsHasBeenSet(false), + m_dataHasBeenSet(false) +{ +} + +ResourceV2::ResourceV2(JsonView jsonValue) + : ResourceV2() +{ + *this = jsonValue; +} + +ResourceV2& ResourceV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("uid")) + { + m_uid = jsonValue.GetString("uid"); + + m_uidHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + + m_accountIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = FindingResourceTypeMapper::GetFindingResourceTypeForName(jsonValue.GetString("resourceType")); + + m_resourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("region")) + { + m_region = jsonValue.GetString("region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("service")) + { + m_service = jsonValue.GetString("service"); + + m_serviceHasBeenSet = true; + } + + if(jsonValue.ValueExists("cloudPartition")) + { + m_cloudPartition = jsonValue.GetString("cloudPartition"); + + m_cloudPartitionHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Utils::Array tagsJsonList = jsonValue.GetArray("tags"); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); + } + m_tagsHasBeenSet = true; + } + + if(jsonValue.ValueExists("data")) + { + m_data = jsonValue.GetObject("data"); + + m_dataHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceV2::Jsonize() const +{ + JsonValue payload; + + if(m_uidHasBeenSet) + { + payload.WithString("uid", m_uid); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_accountIdHasBeenSet) + { + payload.WithString("accountId", m_accountId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", FindingResourceTypeMapper::GetNameForFindingResourceType(m_resourceType)); + } + + if(m_regionHasBeenSet) + { + payload.WithString("region", m_region); + + } + + if(m_serviceHasBeenSet) + { + payload.WithString("service", m_service); + + } + + if(m_cloudPartitionHasBeenSet) + { + payload.WithString("cloudPartition", m_cloudPartition); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("tags", std::move(tagsJsonList)); + + } + + if(m_dataHasBeenSet) + { + payload.WithObject("data", m_data.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/S3Bucket.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/S3Bucket.cpp new file mode 100644 index 00000000000..661d5073e70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/S3Bucket.cpp @@ -0,0 +1,192 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +S3Bucket::S3Bucket() : + m_ownerIdHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_encryptionTypeHasBeenSet(false), + m_encryptionKeyArnHasBeenSet(false), + m_effectivePermissionHasBeenSet(false), + m_publicReadAccess(PublicAccessStatus::NOT_SET), + m_publicReadAccessHasBeenSet(false), + m_publicWriteAccess(PublicAccessStatus::NOT_SET), + m_publicWriteAccessHasBeenSet(false), + m_accountPublicAccessHasBeenSet(false), + m_bucketPublicAccessHasBeenSet(false), + m_s3ObjectUidsHasBeenSet(false) +{ +} + +S3Bucket::S3Bucket(JsonView jsonValue) + : S3Bucket() +{ + *this = jsonValue; +} + +S3Bucket& S3Bucket::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ownerId")) + { + m_ownerId = jsonValue.GetString("ownerId"); + + m_ownerIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("encryptionType")) + { + m_encryptionType = jsonValue.GetString("encryptionType"); + + m_encryptionTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("encryptionKeyArn")) + { + m_encryptionKeyArn = jsonValue.GetString("encryptionKeyArn"); + + m_encryptionKeyArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("effectivePermission")) + { + m_effectivePermission = jsonValue.GetString("effectivePermission"); + + m_effectivePermissionHasBeenSet = true; + } + + if(jsonValue.ValueExists("publicReadAccess")) + { + m_publicReadAccess = PublicAccessStatusMapper::GetPublicAccessStatusForName(jsonValue.GetString("publicReadAccess")); + + m_publicReadAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("publicWriteAccess")) + { + m_publicWriteAccess = PublicAccessStatusMapper::GetPublicAccessStatusForName(jsonValue.GetString("publicWriteAccess")); + + m_publicWriteAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("accountPublicAccess")) + { + m_accountPublicAccess = jsonValue.GetObject("accountPublicAccess"); + + m_accountPublicAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("bucketPublicAccess")) + { + m_bucketPublicAccess = jsonValue.GetObject("bucketPublicAccess"); + + m_bucketPublicAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("s3ObjectUids")) + { + Aws::Utils::Array s3ObjectUidsJsonList = jsonValue.GetArray("s3ObjectUids"); + for(unsigned s3ObjectUidsIndex = 0; s3ObjectUidsIndex < s3ObjectUidsJsonList.GetLength(); ++s3ObjectUidsIndex) + { + m_s3ObjectUids.push_back(s3ObjectUidsJsonList[s3ObjectUidsIndex].AsString()); + } + m_s3ObjectUidsHasBeenSet = true; + } + + return *this; +} + +JsonValue S3Bucket::Jsonize() const +{ + JsonValue payload; + + if(m_ownerIdHasBeenSet) + { + payload.WithString("ownerId", m_ownerId); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_encryptionTypeHasBeenSet) + { + payload.WithString("encryptionType", m_encryptionType); + + } + + if(m_encryptionKeyArnHasBeenSet) + { + payload.WithString("encryptionKeyArn", m_encryptionKeyArn); + + } + + if(m_effectivePermissionHasBeenSet) + { + payload.WithString("effectivePermission", m_effectivePermission); + + } + + if(m_publicReadAccessHasBeenSet) + { + payload.WithString("publicReadAccess", PublicAccessStatusMapper::GetNameForPublicAccessStatus(m_publicReadAccess)); + } + + if(m_publicWriteAccessHasBeenSet) + { + payload.WithString("publicWriteAccess", PublicAccessStatusMapper::GetNameForPublicAccessStatus(m_publicWriteAccess)); + } + + if(m_accountPublicAccessHasBeenSet) + { + payload.WithObject("accountPublicAccess", m_accountPublicAccess.Jsonize()); + + } + + if(m_bucketPublicAccessHasBeenSet) + { + payload.WithObject("bucketPublicAccess", m_bucketPublicAccess.Jsonize()); + + } + + if(m_s3ObjectUidsHasBeenSet) + { + Aws::Utils::Array s3ObjectUidsJsonList(m_s3ObjectUids.size()); + for(unsigned s3ObjectUidsIndex = 0; s3ObjectUidsIndex < s3ObjectUidsJsonList.GetLength(); ++s3ObjectUidsIndex) + { + s3ObjectUidsJsonList[s3ObjectUidsIndex].AsString(m_s3ObjectUids[s3ObjectUidsIndex]); + } + payload.WithArray("s3ObjectUids", std::move(s3ObjectUidsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/S3Object.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/S3Object.cpp new file mode 100644 index 00000000000..65d1bee6e16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/S3Object.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +S3Object::S3Object() : + m_eTagHasBeenSet(false), + m_keyHasBeenSet(false), + m_versionIdHasBeenSet(false) +{ +} + +S3Object::S3Object(JsonView jsonValue) + : S3Object() +{ + *this = jsonValue; +} + +S3Object& S3Object::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("eTag")) + { + m_eTag = jsonValue.GetString("eTag"); + + m_eTagHasBeenSet = true; + } + + if(jsonValue.ValueExists("key")) + { + m_key = jsonValue.GetString("key"); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("versionId")) + { + m_versionId = jsonValue.GetString("versionId"); + + m_versionIdHasBeenSet = true; + } + + return *this; +} + +JsonValue S3Object::Jsonize() const +{ + JsonValue payload; + + if(m_eTagHasBeenSet) + { + payload.WithString("eTag", m_eTag); + + } + + if(m_keyHasBeenSet) + { + payload.WithString("key", m_key); + + } + + if(m_versionIdHasBeenSet) + { + payload.WithString("versionId", m_versionId); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Sequence.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Sequence.cpp new file mode 100644 index 00000000000..13661da506b --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Sequence.cpp @@ -0,0 +1,183 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +Sequence::Sequence() : + m_uidHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_actorsHasBeenSet(false), + m_resourcesHasBeenSet(false), + m_endpointsHasBeenSet(false), + m_signalsHasBeenSet(false), + m_sequenceIndicatorsHasBeenSet(false) +{ +} + +Sequence::Sequence(JsonView jsonValue) + : Sequence() +{ + *this = jsonValue; +} + +Sequence& Sequence::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("uid")) + { + m_uid = jsonValue.GetString("uid"); + + m_uidHasBeenSet = true; + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("actors")) + { + Aws::Utils::Array actorsJsonList = jsonValue.GetArray("actors"); + for(unsigned actorsIndex = 0; actorsIndex < actorsJsonList.GetLength(); ++actorsIndex) + { + m_actors.push_back(actorsJsonList[actorsIndex].AsObject()); + } + m_actorsHasBeenSet = true; + } + + if(jsonValue.ValueExists("resources")) + { + Aws::Utils::Array resourcesJsonList = jsonValue.GetArray("resources"); + for(unsigned resourcesIndex = 0; resourcesIndex < resourcesJsonList.GetLength(); ++resourcesIndex) + { + m_resources.push_back(resourcesJsonList[resourcesIndex].AsObject()); + } + m_resourcesHasBeenSet = true; + } + + if(jsonValue.ValueExists("endpoints")) + { + Aws::Utils::Array endpointsJsonList = jsonValue.GetArray("endpoints"); + for(unsigned endpointsIndex = 0; endpointsIndex < endpointsJsonList.GetLength(); ++endpointsIndex) + { + m_endpoints.push_back(endpointsJsonList[endpointsIndex].AsObject()); + } + m_endpointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("signals")) + { + Aws::Utils::Array signalsJsonList = jsonValue.GetArray("signals"); + for(unsigned signalsIndex = 0; signalsIndex < signalsJsonList.GetLength(); ++signalsIndex) + { + m_signals.push_back(signalsJsonList[signalsIndex].AsObject()); + } + m_signalsHasBeenSet = true; + } + + if(jsonValue.ValueExists("sequenceIndicators")) + { + Aws::Utils::Array sequenceIndicatorsJsonList = jsonValue.GetArray("sequenceIndicators"); + for(unsigned sequenceIndicatorsIndex = 0; sequenceIndicatorsIndex < sequenceIndicatorsJsonList.GetLength(); ++sequenceIndicatorsIndex) + { + m_sequenceIndicators.push_back(sequenceIndicatorsJsonList[sequenceIndicatorsIndex].AsObject()); + } + m_sequenceIndicatorsHasBeenSet = true; + } + + return *this; +} + +JsonValue Sequence::Jsonize() const +{ + JsonValue payload; + + if(m_uidHasBeenSet) + { + payload.WithString("uid", m_uid); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_actorsHasBeenSet) + { + Aws::Utils::Array actorsJsonList(m_actors.size()); + for(unsigned actorsIndex = 0; actorsIndex < actorsJsonList.GetLength(); ++actorsIndex) + { + actorsJsonList[actorsIndex].AsObject(m_actors[actorsIndex].Jsonize()); + } + payload.WithArray("actors", std::move(actorsJsonList)); + + } + + if(m_resourcesHasBeenSet) + { + Aws::Utils::Array resourcesJsonList(m_resources.size()); + for(unsigned resourcesIndex = 0; resourcesIndex < resourcesJsonList.GetLength(); ++resourcesIndex) + { + resourcesJsonList[resourcesIndex].AsObject(m_resources[resourcesIndex].Jsonize()); + } + payload.WithArray("resources", std::move(resourcesJsonList)); + + } + + if(m_endpointsHasBeenSet) + { + Aws::Utils::Array endpointsJsonList(m_endpoints.size()); + for(unsigned endpointsIndex = 0; endpointsIndex < endpointsJsonList.GetLength(); ++endpointsIndex) + { + endpointsJsonList[endpointsIndex].AsObject(m_endpoints[endpointsIndex].Jsonize()); + } + payload.WithArray("endpoints", std::move(endpointsJsonList)); + + } + + if(m_signalsHasBeenSet) + { + Aws::Utils::Array signalsJsonList(m_signals.size()); + for(unsigned signalsIndex = 0; signalsIndex < signalsJsonList.GetLength(); ++signalsIndex) + { + signalsJsonList[signalsIndex].AsObject(m_signals[signalsIndex].Jsonize()); + } + payload.WithArray("signals", std::move(signalsJsonList)); + + } + + if(m_sequenceIndicatorsHasBeenSet) + { + Aws::Utils::Array sequenceIndicatorsJsonList(m_sequenceIndicators.size()); + for(unsigned sequenceIndicatorsIndex = 0; sequenceIndicatorsIndex < sequenceIndicatorsJsonList.GetLength(); ++sequenceIndicatorsIndex) + { + sequenceIndicatorsJsonList[sequenceIndicatorsIndex].AsObject(m_sequenceIndicators[sequenceIndicatorsIndex].Jsonize()); + } + payload.WithArray("sequenceIndicators", std::move(sequenceIndicatorsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Session.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Session.cpp new file mode 100644 index 00000000000..03b2a9daaa2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Session.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +Session::Session() : + m_uidHasBeenSet(false), + m_mfaStatus(MfaStatus::NOT_SET), + m_mfaStatusHasBeenSet(false), + m_createdTimeHasBeenSet(false), + m_issuerHasBeenSet(false) +{ +} + +Session::Session(JsonView jsonValue) + : Session() +{ + *this = jsonValue; +} + +Session& Session::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("uid")) + { + m_uid = jsonValue.GetString("uid"); + + m_uidHasBeenSet = true; + } + + if(jsonValue.ValueExists("mfaStatus")) + { + m_mfaStatus = MfaStatusMapper::GetMfaStatusForName(jsonValue.GetString("mfaStatus")); + + m_mfaStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdTime")) + { + m_createdTime = jsonValue.GetDouble("createdTime"); + + m_createdTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("issuer")) + { + m_issuer = jsonValue.GetString("issuer"); + + m_issuerHasBeenSet = true; + } + + return *this; +} + +JsonValue Session::Jsonize() const +{ + JsonValue payload; + + if(m_uidHasBeenSet) + { + payload.WithString("uid", m_uid); + + } + + if(m_mfaStatusHasBeenSet) + { + payload.WithString("mfaStatus", MfaStatusMapper::GetNameForMfaStatus(m_mfaStatus)); + } + + if(m_createdTimeHasBeenSet) + { + payload.WithDouble("createdTime", m_createdTime.SecondsWithMSPrecision()); + } + + if(m_issuerHasBeenSet) + { + payload.WithString("issuer", m_issuer); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Signal.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Signal.cpp new file mode 100644 index 00000000000..55108981cd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Signal.cpp @@ -0,0 +1,271 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +Signal::Signal() : + m_uidHasBeenSet(false), + m_type(SignalType::NOT_SET), + m_typeHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_nameHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_firstSeenAtHasBeenSet(false), + m_lastSeenAtHasBeenSet(false), + m_severity(0.0), + m_severityHasBeenSet(false), + m_count(0), + m_countHasBeenSet(false), + m_resourceUidsHasBeenSet(false), + m_actorIdsHasBeenSet(false), + m_endpointIdsHasBeenSet(false), + m_signalIndicatorsHasBeenSet(false) +{ +} + +Signal::Signal(JsonView jsonValue) + : Signal() +{ + *this = jsonValue; +} + +Signal& Signal::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("uid")) + { + m_uid = jsonValue.GetString("uid"); + + m_uidHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = SignalTypeMapper::GetSignalTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetDouble("updatedAt"); + + m_updatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("firstSeenAt")) + { + m_firstSeenAt = jsonValue.GetDouble("firstSeenAt"); + + m_firstSeenAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastSeenAt")) + { + m_lastSeenAt = jsonValue.GetDouble("lastSeenAt"); + + m_lastSeenAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("severity")) + { + m_severity = jsonValue.GetDouble("severity"); + + m_severityHasBeenSet = true; + } + + if(jsonValue.ValueExists("count")) + { + m_count = jsonValue.GetInteger("count"); + + m_countHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceUids")) + { + Aws::Utils::Array resourceUidsJsonList = jsonValue.GetArray("resourceUids"); + for(unsigned resourceUidsIndex = 0; resourceUidsIndex < resourceUidsJsonList.GetLength(); ++resourceUidsIndex) + { + m_resourceUids.push_back(resourceUidsJsonList[resourceUidsIndex].AsString()); + } + m_resourceUidsHasBeenSet = true; + } + + if(jsonValue.ValueExists("actorIds")) + { + Aws::Utils::Array actorIdsJsonList = jsonValue.GetArray("actorIds"); + for(unsigned actorIdsIndex = 0; actorIdsIndex < actorIdsJsonList.GetLength(); ++actorIdsIndex) + { + m_actorIds.push_back(actorIdsJsonList[actorIdsIndex].AsString()); + } + m_actorIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("endpointIds")) + { + Aws::Utils::Array endpointIdsJsonList = jsonValue.GetArray("endpointIds"); + for(unsigned endpointIdsIndex = 0; endpointIdsIndex < endpointIdsJsonList.GetLength(); ++endpointIdsIndex) + { + m_endpointIds.push_back(endpointIdsJsonList[endpointIdsIndex].AsString()); + } + m_endpointIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("signalIndicators")) + { + Aws::Utils::Array signalIndicatorsJsonList = jsonValue.GetArray("signalIndicators"); + for(unsigned signalIndicatorsIndex = 0; signalIndicatorsIndex < signalIndicatorsJsonList.GetLength(); ++signalIndicatorsIndex) + { + m_signalIndicators.push_back(signalIndicatorsJsonList[signalIndicatorsIndex].AsObject()); + } + m_signalIndicatorsHasBeenSet = true; + } + + return *this; +} + +JsonValue Signal::Jsonize() const +{ + JsonValue payload; + + if(m_uidHasBeenSet) + { + payload.WithString("uid", m_uid); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", SignalTypeMapper::GetNameForSignalType(m_type)); + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_updatedAtHasBeenSet) + { + payload.WithDouble("updatedAt", m_updatedAt.SecondsWithMSPrecision()); + } + + if(m_firstSeenAtHasBeenSet) + { + payload.WithDouble("firstSeenAt", m_firstSeenAt.SecondsWithMSPrecision()); + } + + if(m_lastSeenAtHasBeenSet) + { + payload.WithDouble("lastSeenAt", m_lastSeenAt.SecondsWithMSPrecision()); + } + + if(m_severityHasBeenSet) + { + payload.WithDouble("severity", m_severity); + + } + + if(m_countHasBeenSet) + { + payload.WithInteger("count", m_count); + + } + + if(m_resourceUidsHasBeenSet) + { + Aws::Utils::Array resourceUidsJsonList(m_resourceUids.size()); + for(unsigned resourceUidsIndex = 0; resourceUidsIndex < resourceUidsJsonList.GetLength(); ++resourceUidsIndex) + { + resourceUidsJsonList[resourceUidsIndex].AsString(m_resourceUids[resourceUidsIndex]); + } + payload.WithArray("resourceUids", std::move(resourceUidsJsonList)); + + } + + if(m_actorIdsHasBeenSet) + { + Aws::Utils::Array actorIdsJsonList(m_actorIds.size()); + for(unsigned actorIdsIndex = 0; actorIdsIndex < actorIdsJsonList.GetLength(); ++actorIdsIndex) + { + actorIdsJsonList[actorIdsIndex].AsString(m_actorIds[actorIdsIndex]); + } + payload.WithArray("actorIds", std::move(actorIdsJsonList)); + + } + + if(m_endpointIdsHasBeenSet) + { + Aws::Utils::Array endpointIdsJsonList(m_endpointIds.size()); + for(unsigned endpointIdsIndex = 0; endpointIdsIndex < endpointIdsJsonList.GetLength(); ++endpointIdsIndex) + { + endpointIdsJsonList[endpointIdsIndex].AsString(m_endpointIds[endpointIdsIndex]); + } + payload.WithArray("endpointIds", std::move(endpointIdsJsonList)); + + } + + if(m_signalIndicatorsHasBeenSet) + { + Aws::Utils::Array signalIndicatorsJsonList(m_signalIndicators.size()); + for(unsigned signalIndicatorsIndex = 0; signalIndicatorsIndex < signalIndicatorsJsonList.GetLength(); ++signalIndicatorsIndex) + { + signalIndicatorsJsonList[signalIndicatorsIndex].AsObject(m_signalIndicators[signalIndicatorsIndex].Jsonize()); + } + payload.WithArray("signalIndicators", std::move(signalIndicatorsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/SignalType.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/SignalType.cpp new file mode 100644 index 00000000000..ccbcccf8200 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/SignalType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GuardDuty + { + namespace Model + { + namespace SignalTypeMapper + { + + static const int FINDING_HASH = HashingUtils::HashString("FINDING"); + static const int CLOUD_TRAIL_HASH = HashingUtils::HashString("CLOUD_TRAIL"); + static const int S3_DATA_EVENTS_HASH = HashingUtils::HashString("S3_DATA_EVENTS"); + + + SignalType GetSignalTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FINDING_HASH) + { + return SignalType::FINDING; + } + else if (hashCode == CLOUD_TRAIL_HASH) + { + return SignalType::CLOUD_TRAIL; + } + else if (hashCode == S3_DATA_EVENTS_HASH) + { + return SignalType::S3_DATA_EVENTS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SignalType::NOT_SET; + } + + Aws::String GetNameForSignalType(SignalType enumValue) + { + switch(enumValue) + { + case SignalType::NOT_SET: + return {}; + case SignalType::FINDING: + return "FINDING"; + case SignalType::CLOUD_TRAIL: + return "CLOUD_TRAIL"; + case SignalType::S3_DATA_EVENTS: + return "S3_DATA_EVENTS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SignalTypeMapper + } // namespace Model + } // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/User.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/User.cpp new file mode 100644 index 00000000000..a9eeb114916 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/User.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +User::User() : + m_nameHasBeenSet(false), + m_uidHasBeenSet(false), + m_typeHasBeenSet(false), + m_credentialUidHasBeenSet(false), + m_accountHasBeenSet(false) +{ +} + +User::User(JsonView jsonValue) + : User() +{ + *this = jsonValue; +} + +User& User::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("uid")) + { + m_uid = jsonValue.GetString("uid"); + + m_uidHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = jsonValue.GetString("type"); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("credentialUid")) + { + m_credentialUid = jsonValue.GetString("credentialUid"); + + m_credentialUidHasBeenSet = true; + } + + if(jsonValue.ValueExists("account")) + { + m_account = jsonValue.GetObject("account"); + + m_accountHasBeenSet = true; + } + + return *this; +} + +JsonValue User::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_uidHasBeenSet) + { + payload.WithString("uid", m_uid); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", m_type); + + } + + if(m_credentialUidHasBeenSet) + { + payload.WithString("credentialUid", m_credentialUid); + + } + + if(m_accountHasBeenSet) + { + payload.WithObject("account", m_account.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClient.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClient.h index ea46d55136e..8b24cc3376e 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClient.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClient.h @@ -936,6 +936,34 @@ namespace imagebuilder return SubmitAsync(&ImagebuilderClient::GetLifecyclePolicy, request, handler, context); } + /** + *

        Verify the subscription and perform resource dependency checks on the + * requested Amazon Web Services Marketplace resource. For Amazon Web Services + * Marketplace components, the response contains fields to download the components + * and their artifacts.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetMarketplaceResourceOutcome GetMarketplaceResource(const Model::GetMarketplaceResourceRequest& request) const; + + /** + * A Callable wrapper for GetMarketplaceResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetMarketplaceResourceOutcomeCallable GetMarketplaceResourceCallable(const GetMarketplaceResourceRequestT& request) const + { + return SubmitCallable(&ImagebuilderClient::GetMarketplaceResource, request); + } + + /** + * An Async wrapper for GetMarketplaceResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetMarketplaceResourceAsync(const GetMarketplaceResourceRequestT& request, const GetMarketplaceResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ImagebuilderClient::GetMarketplaceResource, request, handler, context); + } + /** *

        Get a workflow resource object.

        See Also:

        AWS diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderServiceClientModel.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderServiceClientModel.h index c2d18ee543f..7267cb88b3a 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderServiceClientModel.h @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -176,6 +177,7 @@ namespace Aws class GetInfrastructureConfigurationRequest; class GetLifecycleExecutionRequest; class GetLifecyclePolicyRequest; + class GetMarketplaceResourceRequest; class GetWorkflowRequest; class GetWorkflowExecutionRequest; class GetWorkflowStepExecutionRequest; @@ -252,6 +254,7 @@ namespace Aws typedef Aws::Utils::Outcome GetInfrastructureConfigurationOutcome; typedef Aws::Utils::Outcome GetLifecycleExecutionOutcome; typedef Aws::Utils::Outcome GetLifecyclePolicyOutcome; + typedef Aws::Utils::Outcome GetMarketplaceResourceOutcome; typedef Aws::Utils::Outcome GetWorkflowOutcome; typedef Aws::Utils::Outcome GetWorkflowExecutionOutcome; typedef Aws::Utils::Outcome GetWorkflowStepExecutionOutcome; @@ -328,6 +331,7 @@ namespace Aws typedef std::future GetInfrastructureConfigurationOutcomeCallable; typedef std::future GetLifecycleExecutionOutcomeCallable; typedef std::future GetLifecyclePolicyOutcomeCallable; + typedef std::future GetMarketplaceResourceOutcomeCallable; typedef std::future GetWorkflowOutcomeCallable; typedef std::future GetWorkflowExecutionOutcomeCallable; typedef std::future GetWorkflowStepExecutionOutcomeCallable; @@ -407,6 +411,7 @@ namespace Aws typedef std::function&) > GetInfrastructureConfigurationResponseReceivedHandler; typedef std::function&) > GetLifecycleExecutionResponseReceivedHandler; typedef std::function&) > GetLifecyclePolicyResponseReceivedHandler; + typedef std::function&) > GetMarketplaceResourceResponseReceivedHandler; typedef std::function&) > GetWorkflowResponseReceivedHandler; typedef std::function&) > GetWorkflowExecutionResponseReceivedHandler; typedef std::function&) > GetWorkflowStepExecutionResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/Component.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/Component.h index f6da6e28cf5..209bad3d02c 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/Component.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/Component.h @@ -12,6 +12,7 @@ #include #include #include +#include #include namespace Aws @@ -158,8 +159,7 @@ namespace Model ///@{ /** - *

        Describes the current status of the component. This is used for components - * that are no longer active.

        + *

        Describes the current status of the component.

        */ inline const ComponentState& GetState() const{ return m_state; } inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } @@ -294,6 +294,21 @@ namespace Model inline void SetObfuscate(bool value) { m_obfuscateHasBeenSet = true; m_obfuscate = value; } inline Component& WithObfuscate(bool value) { SetObfuscate(value); return *this;} ///@} + + ///@{ + /** + *

        Contains product codes that are used for billing purposes for Amazon Web + * Services Marketplace components.

        + */ + inline const Aws::Vector& GetProductCodes() const{ return m_productCodes; } + inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; } + inline void SetProductCodes(const Aws::Vector& value) { m_productCodesHasBeenSet = true; m_productCodes = value; } + inline void SetProductCodes(Aws::Vector&& value) { m_productCodesHasBeenSet = true; m_productCodes = std::move(value); } + inline Component& WithProductCodes(const Aws::Vector& value) { SetProductCodes(value); return *this;} + inline Component& WithProductCodes(Aws::Vector&& value) { SetProductCodes(std::move(value)); return *this;} + inline Component& AddProductCodes(const ProductCodeListItem& value) { m_productCodesHasBeenSet = true; m_productCodes.push_back(value); return *this; } + inline Component& AddProductCodes(ProductCodeListItem&& value) { m_productCodesHasBeenSet = true; m_productCodes.push_back(std::move(value)); return *this; } + ///@} private: Aws::String m_arn; @@ -349,6 +364,9 @@ namespace Model bool m_obfuscate; bool m_obfuscateHasBeenSet = false; + + Aws::Vector m_productCodes; + bool m_productCodesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ComponentStatus.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ComponentStatus.h index e716f692966..07b257c3e9c 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ComponentStatus.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ComponentStatus.h @@ -16,7 +16,9 @@ namespace Model enum class ComponentStatus { NOT_SET, - DEPRECATED + DEPRECATED, + DISABLED, + ACTIVE }; namespace ComponentStatusMapper diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ComponentVersion.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ComponentVersion.h index 27f0cb8369d..78392ede68f 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ComponentVersion.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ComponentVersion.h @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -187,6 +189,33 @@ namespace Model inline ComponentVersion& WithDateCreated(Aws::String&& value) { SetDateCreated(std::move(value)); return *this;} inline ComponentVersion& WithDateCreated(const char* value) { SetDateCreated(value); return *this;} ///@} + + ///@{ + /** + *

        Describes the current status of the component version.

        + */ + inline const ComponentStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ComponentStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ComponentStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ComponentVersion& WithStatus(const ComponentStatus& value) { SetStatus(value); return *this;} + inline ComponentVersion& WithStatus(ComponentStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Contains product codes that are used for billing purposes for Amazon Web + * Services Marketplace components.

        + */ + inline const Aws::Vector& GetProductCodes() const{ return m_productCodes; } + inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; } + inline void SetProductCodes(const Aws::Vector& value) { m_productCodesHasBeenSet = true; m_productCodes = value; } + inline void SetProductCodes(Aws::Vector&& value) { m_productCodesHasBeenSet = true; m_productCodes = std::move(value); } + inline ComponentVersion& WithProductCodes(const Aws::Vector& value) { SetProductCodes(value); return *this;} + inline ComponentVersion& WithProductCodes(Aws::Vector&& value) { SetProductCodes(std::move(value)); return *this;} + inline ComponentVersion& AddProductCodes(const ProductCodeListItem& value) { m_productCodesHasBeenSet = true; m_productCodes.push_back(value); return *this; } + inline ComponentVersion& AddProductCodes(ProductCodeListItem&& value) { m_productCodesHasBeenSet = true; m_productCodes.push_back(std::move(value)); return *this; } + ///@} private: Aws::String m_arn; @@ -215,6 +244,12 @@ namespace Model Aws::String m_dateCreated; bool m_dateCreatedHasBeenSet = false; + + ComponentStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::Vector m_productCodes; + bool m_productCodesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/GetMarketplaceResourceRequest.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/GetMarketplaceResourceRequest.h new file mode 100644 index 00000000000..275d88a8078 --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/GetMarketplaceResourceRequest.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace imagebuilder +{ +namespace Model +{ + + /** + */ + class GetMarketplaceResourceRequest : public ImagebuilderRequest + { + public: + AWS_IMAGEBUILDER_API GetMarketplaceResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetMarketplaceResource"; } + + AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Specifies which type of Amazon Web Services Marketplace resource Image + * Builder retrieves.

        + */ + inline const MarketplaceResourceType& GetResourceType() const{ return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + inline void SetResourceType(const MarketplaceResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + inline void SetResourceType(MarketplaceResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + inline GetMarketplaceResourceRequest& WithResourceType(const MarketplaceResourceType& value) { SetResourceType(value); return *this;} + inline GetMarketplaceResourceRequest& WithResourceType(MarketplaceResourceType&& value) { SetResourceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) that uniquely identifies an Amazon Web + * Services Marketplace resource.

        + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline GetMarketplaceResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline GetMarketplaceResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline GetMarketplaceResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The bucket path that you can specify to download the resource from Amazon + * S3.

        + */ + inline const Aws::String& GetResourceLocation() const{ return m_resourceLocation; } + inline bool ResourceLocationHasBeenSet() const { return m_resourceLocationHasBeenSet; } + inline void SetResourceLocation(const Aws::String& value) { m_resourceLocationHasBeenSet = true; m_resourceLocation = value; } + inline void SetResourceLocation(Aws::String&& value) { m_resourceLocationHasBeenSet = true; m_resourceLocation = std::move(value); } + inline void SetResourceLocation(const char* value) { m_resourceLocationHasBeenSet = true; m_resourceLocation.assign(value); } + inline GetMarketplaceResourceRequest& WithResourceLocation(const Aws::String& value) { SetResourceLocation(value); return *this;} + inline GetMarketplaceResourceRequest& WithResourceLocation(Aws::String&& value) { SetResourceLocation(std::move(value)); return *this;} + inline GetMarketplaceResourceRequest& WithResourceLocation(const char* value) { SetResourceLocation(value); return *this;} + ///@} + private: + + MarketplaceResourceType m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::String m_resourceLocation; + bool m_resourceLocationHasBeenSet = false; + }; + +} // namespace Model +} // namespace imagebuilder +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/GetMarketplaceResourceResult.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/GetMarketplaceResourceResult.h new file mode 100644 index 00000000000..908b110139d --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/GetMarketplaceResourceResult.h @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace imagebuilder +{ +namespace Model +{ + class GetMarketplaceResourceResult + { + public: + AWS_IMAGEBUILDER_API GetMarketplaceResourceResult(); + AWS_IMAGEBUILDER_API GetMarketplaceResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_IMAGEBUILDER_API GetMarketplaceResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) for the Amazon Web Services Marketplace + * resource that was requested.

        + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArn.assign(value); } + inline GetMarketplaceResourceResult& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline GetMarketplaceResourceResult& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline GetMarketplaceResourceResult& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The obfuscated S3 URL to download the component artifact from.

        + */ + inline const Aws::String& GetUrl() const{ return m_url; } + inline void SetUrl(const Aws::String& value) { m_url = value; } + inline void SetUrl(Aws::String&& value) { m_url = std::move(value); } + inline void SetUrl(const char* value) { m_url.assign(value); } + inline GetMarketplaceResourceResult& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} + inline GetMarketplaceResourceResult& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;} + inline GetMarketplaceResourceResult& WithUrl(const char* value) { SetUrl(value); return *this;} + ///@} + + ///@{ + /** + *

        Returns obfuscated data that contains the YAML content of the component.

        + */ + inline const Aws::String& GetData() const{ return m_data; } + inline void SetData(const Aws::String& value) { m_data = value; } + inline void SetData(Aws::String&& value) { m_data = std::move(value); } + inline void SetData(const char* value) { m_data.assign(value); } + inline GetMarketplaceResourceResult& WithData(const Aws::String& value) { SetData(value); return *this;} + inline GetMarketplaceResourceResult& WithData(Aws::String&& value) { SetData(std::move(value)); return *this;} + inline GetMarketplaceResourceResult& WithData(const char* value) { SetData(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetMarketplaceResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetMarketplaceResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetMarketplaceResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + + Aws::String m_url; + + Aws::String m_data; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace imagebuilder +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ImagePackage.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ImagePackage.h index 8e09aa760a5..4fa202dfab0 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ImagePackage.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ImagePackage.h @@ -24,8 +24,8 @@ namespace Model { /** - *

        Represents a package installed on an Image Builder image.

        See - * Also:

        A software package that's installed on top of the base image to create a + * customized image.

        See Also:

        AWS * API Reference

        */ @@ -40,7 +40,7 @@ namespace Model ///@{ /** - *

        The name of the package as reported to the operating system package + *

        The name of the package that's reported to the operating system package * manager.

        */ inline const Aws::String& GetPackageName() const{ return m_packageName; } @@ -55,7 +55,7 @@ namespace Model ///@{ /** - *

        The version of the package as reported to the operating system package + *

        The version of the package that's reported to the operating system package * manager.

        */ inline const Aws::String& GetPackageVersion() const{ return m_packageVersion; } diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ImageTestsConfiguration.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ImageTestsConfiguration.h index 526201bb252..451126c0dc9 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ImageTestsConfiguration.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ImageTestsConfiguration.h @@ -52,8 +52,8 @@ namespace Model ///@{ /** *

        The maximum time in minutes that tests are permitted to run.

        - *

        The timeoutMinutes attribute is not currently active. This value is - * ignored.

        + *

        The timeout attribute is not currently active. This value is ignored.

        + * */ inline int GetTimeoutMinutes() const{ return m_timeoutMinutes; } inline bool TimeoutMinutesHasBeenSet() const { return m_timeoutMinutesHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/MarketplaceResourceType.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/MarketplaceResourceType.h new file mode 100644 index 00000000000..22b4a317cf7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/MarketplaceResourceType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace imagebuilder +{ +namespace Model +{ + enum class MarketplaceResourceType + { + NOT_SET, + COMPONENT_DATA, + COMPONENT_ARTIFACT + }; + +namespace MarketplaceResourceTypeMapper +{ +AWS_IMAGEBUILDER_API MarketplaceResourceType GetMarketplaceResourceTypeForName(const Aws::String& name); + +AWS_IMAGEBUILDER_API Aws::String GetNameForMarketplaceResourceType(MarketplaceResourceType value); +} // namespace MarketplaceResourceTypeMapper +} // namespace Model +} // namespace imagebuilder +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/Ownership.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/Ownership.h index 432cfeabbe9..153e6a5d476 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/Ownership.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/Ownership.h @@ -19,7 +19,8 @@ namespace Model Self, Shared, Amazon, - ThirdParty + ThirdParty, + AWSMarketplace }; namespace OwnershipMapper diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ProductCodeListItem.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ProductCodeListItem.h new file mode 100644 index 00000000000..dfa7ed5bc77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ProductCodeListItem.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace imagebuilder +{ +namespace Model +{ + + /** + *

        Information about a single product code.

        See Also:

        AWS + * API Reference

        + */ + class ProductCodeListItem + { + public: + AWS_IMAGEBUILDER_API ProductCodeListItem(); + AWS_IMAGEBUILDER_API ProductCodeListItem(Aws::Utils::Json::JsonView jsonValue); + AWS_IMAGEBUILDER_API ProductCodeListItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        For Amazon Web Services Marketplace components, this contains the product + * code ID that can be stamped onto an EC2 AMI to ensure that components are billed + * correctly. If this property is empty, it might mean that the component is not + * published.

        + */ + inline const Aws::String& GetProductCodeId() const{ return m_productCodeId; } + inline bool ProductCodeIdHasBeenSet() const { return m_productCodeIdHasBeenSet; } + inline void SetProductCodeId(const Aws::String& value) { m_productCodeIdHasBeenSet = true; m_productCodeId = value; } + inline void SetProductCodeId(Aws::String&& value) { m_productCodeIdHasBeenSet = true; m_productCodeId = std::move(value); } + inline void SetProductCodeId(const char* value) { m_productCodeIdHasBeenSet = true; m_productCodeId.assign(value); } + inline ProductCodeListItem& WithProductCodeId(const Aws::String& value) { SetProductCodeId(value); return *this;} + inline ProductCodeListItem& WithProductCodeId(Aws::String&& value) { SetProductCodeId(std::move(value)); return *this;} + inline ProductCodeListItem& WithProductCodeId(const char* value) { SetProductCodeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The owner of the product code that's billed. If this property is empty, it + * might mean that the component is not published.

        + */ + inline const ProductCodeType& GetProductCodeType() const{ return m_productCodeType; } + inline bool ProductCodeTypeHasBeenSet() const { return m_productCodeTypeHasBeenSet; } + inline void SetProductCodeType(const ProductCodeType& value) { m_productCodeTypeHasBeenSet = true; m_productCodeType = value; } + inline void SetProductCodeType(ProductCodeType&& value) { m_productCodeTypeHasBeenSet = true; m_productCodeType = std::move(value); } + inline ProductCodeListItem& WithProductCodeType(const ProductCodeType& value) { SetProductCodeType(value); return *this;} + inline ProductCodeListItem& WithProductCodeType(ProductCodeType&& value) { SetProductCodeType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_productCodeId; + bool m_productCodeIdHasBeenSet = false; + + ProductCodeType m_productCodeType; + bool m_productCodeTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace imagebuilder +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ProductCodeType.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ProductCodeType.h new file mode 100644 index 00000000000..4034a2e3c6b --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/ProductCodeType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace imagebuilder +{ +namespace Model +{ + enum class ProductCodeType + { + NOT_SET, + marketplace + }; + +namespace ProductCodeTypeMapper +{ +AWS_IMAGEBUILDER_API ProductCodeType GetProductCodeTypeForName(const Aws::String& name); + +AWS_IMAGEBUILDER_API Aws::String GetNameForProductCodeType(ProductCodeType value); +} // namespace ProductCodeTypeMapper +} // namespace Model +} // namespace imagebuilder +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/TargetContainerRepository.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/TargetContainerRepository.h index 0070ce8cd34..6d098ee436c 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/TargetContainerRepository.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/model/TargetContainerRepository.h @@ -54,7 +54,8 @@ namespace Model ///@{ /** *

        The name of the container repository where the output container image is - * stored. This name is prefixed by the repository location.

        + * stored. This name is prefixed by the repository location. For example, + * <repository location url>/repository_name.

        */ inline const Aws::String& GetRepositoryName() const{ return m_repositoryName; } inline bool RepositoryNameHasBeenSet() const { return m_repositoryNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClient.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClient.cpp index 3517cc49ec4..527cd74cff7 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClient.cpp +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClient.cpp @@ -54,6 +54,7 @@ #include #include #include +#include #include #include #include @@ -1238,6 +1239,33 @@ GetLifecyclePolicyOutcome ImagebuilderClient::GetLifecyclePolicy(const GetLifecy {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetMarketplaceResourceOutcome ImagebuilderClient::GetMarketplaceResource(const GetMarketplaceResourceRequest& request) const +{ + AWS_OPERATION_GUARD(GetMarketplaceResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetMarketplaceResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetMarketplaceResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetMarketplaceResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetMarketplaceResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetMarketplaceResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetMarketplaceResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/GetMarketplaceResource"); + return GetMarketplaceResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetWorkflowOutcome ImagebuilderClient::GetWorkflow(const GetWorkflowRequest& request) const { AWS_OPERATION_GUARD(GetWorkflow); diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/model/Component.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/model/Component.cpp index 0b4893b9924..c250a294c26 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/source/model/Component.cpp +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/model/Component.cpp @@ -40,7 +40,8 @@ Component::Component() : m_tagsHasBeenSet(false), m_publisherHasBeenSet(false), m_obfuscate(false), - m_obfuscateHasBeenSet(false) + m_obfuscateHasBeenSet(false), + m_productCodesHasBeenSet(false) { } @@ -187,6 +188,16 @@ Component& Component::operator =(JsonView jsonValue) m_obfuscateHasBeenSet = true; } + if(jsonValue.ValueExists("productCodes")) + { + Aws::Utils::Array productCodesJsonList = jsonValue.GetArray("productCodes"); + for(unsigned productCodesIndex = 0; productCodesIndex < productCodesJsonList.GetLength(); ++productCodesIndex) + { + m_productCodes.push_back(productCodesJsonList[productCodesIndex].AsObject()); + } + m_productCodesHasBeenSet = true; + } + return *this; } @@ -315,6 +326,17 @@ JsonValue Component::Jsonize() const } + if(m_productCodesHasBeenSet) + { + Aws::Utils::Array productCodesJsonList(m_productCodes.size()); + for(unsigned productCodesIndex = 0; productCodesIndex < productCodesJsonList.GetLength(); ++productCodesIndex) + { + productCodesJsonList[productCodesIndex].AsObject(m_productCodes[productCodesIndex].Jsonize()); + } + payload.WithArray("productCodes", std::move(productCodesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/model/ComponentStatus.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/model/ComponentStatus.cpp index 48125a31a8e..ccc77b609f4 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/source/model/ComponentStatus.cpp +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/model/ComponentStatus.cpp @@ -21,6 +21,8 @@ namespace Aws { static const int DEPRECATED_HASH = HashingUtils::HashString("DEPRECATED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); ComponentStatus GetComponentStatusForName(const Aws::String& name) @@ -30,6 +32,14 @@ namespace Aws { return ComponentStatus::DEPRECATED; } + else if (hashCode == DISABLED_HASH) + { + return ComponentStatus::DISABLED; + } + else if (hashCode == ACTIVE_HASH) + { + return ComponentStatus::ACTIVE; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -48,6 +58,10 @@ namespace Aws return {}; case ComponentStatus::DEPRECATED: return "DEPRECATED"; + case ComponentStatus::DISABLED: + return "DISABLED"; + case ComponentStatus::ACTIVE: + return "ACTIVE"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/model/ComponentVersion.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/model/ComponentVersion.cpp index b49f30cf353..68f89bb8073 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/source/model/ComponentVersion.cpp +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/model/ComponentVersion.cpp @@ -29,7 +29,10 @@ ComponentVersion::ComponentVersion() : m_type(ComponentType::NOT_SET), m_typeHasBeenSet(false), m_ownerHasBeenSet(false), - m_dateCreatedHasBeenSet(false) + m_dateCreatedHasBeenSet(false), + m_status(ComponentStatus::NOT_SET), + m_statusHasBeenSet(false), + m_productCodesHasBeenSet(false) { } @@ -107,6 +110,23 @@ ComponentVersion& ComponentVersion::operator =(JsonView jsonValue) m_dateCreatedHasBeenSet = true; } + if(jsonValue.ValueExists("status")) + { + m_status = ComponentStatusMapper::GetComponentStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("productCodes")) + { + Aws::Utils::Array productCodesJsonList = jsonValue.GetArray("productCodes"); + for(unsigned productCodesIndex = 0; productCodesIndex < productCodesJsonList.GetLength(); ++productCodesIndex) + { + m_productCodes.push_back(productCodesJsonList[productCodesIndex].AsObject()); + } + m_productCodesHasBeenSet = true; + } + return *this; } @@ -171,6 +191,22 @@ JsonValue ComponentVersion::Jsonize() const } + if(m_statusHasBeenSet) + { + payload.WithString("status", ComponentStatusMapper::GetNameForComponentStatus(m_status)); + } + + if(m_productCodesHasBeenSet) + { + Aws::Utils::Array productCodesJsonList(m_productCodes.size()); + for(unsigned productCodesIndex = 0; productCodesIndex < productCodesJsonList.GetLength(); ++productCodesIndex) + { + productCodesJsonList[productCodesIndex].AsObject(m_productCodes[productCodesIndex].Jsonize()); + } + payload.WithArray("productCodes", std::move(productCodesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/model/GetMarketplaceResourceRequest.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/model/GetMarketplaceResourceRequest.cpp new file mode 100644 index 00000000000..1ba39b95dfd --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/model/GetMarketplaceResourceRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::imagebuilder::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetMarketplaceResourceRequest::GetMarketplaceResourceRequest() : + m_resourceType(MarketplaceResourceType::NOT_SET), + m_resourceTypeHasBeenSet(false), + m_resourceArnHasBeenSet(false), + m_resourceLocationHasBeenSet(false) +{ +} + +Aws::String GetMarketplaceResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", MarketplaceResourceTypeMapper::GetNameForMarketplaceResourceType(m_resourceType)); + } + + if(m_resourceArnHasBeenSet) + { + payload.WithString("resourceArn", m_resourceArn); + + } + + if(m_resourceLocationHasBeenSet) + { + payload.WithString("resourceLocation", m_resourceLocation); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/model/GetMarketplaceResourceResult.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/model/GetMarketplaceResourceResult.cpp new file mode 100644 index 00000000000..547f257fc10 --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/model/GetMarketplaceResourceResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::imagebuilder::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetMarketplaceResourceResult::GetMarketplaceResourceResult() +{ +} + +GetMarketplaceResourceResult::GetMarketplaceResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetMarketplaceResourceResult& GetMarketplaceResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("resourceArn")) + { + m_resourceArn = jsonValue.GetString("resourceArn"); + + } + + if(jsonValue.ValueExists("url")) + { + m_url = jsonValue.GetString("url"); + + } + + if(jsonValue.ValueExists("data")) + { + m_data = jsonValue.GetString("data"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/model/MarketplaceResourceType.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/model/MarketplaceResourceType.cpp new file mode 100644 index 00000000000..9fbf01e7750 --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/model/MarketplaceResourceType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace imagebuilder + { + namespace Model + { + namespace MarketplaceResourceTypeMapper + { + + static const int COMPONENT_DATA_HASH = HashingUtils::HashString("COMPONENT_DATA"); + static const int COMPONENT_ARTIFACT_HASH = HashingUtils::HashString("COMPONENT_ARTIFACT"); + + + MarketplaceResourceType GetMarketplaceResourceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == COMPONENT_DATA_HASH) + { + return MarketplaceResourceType::COMPONENT_DATA; + } + else if (hashCode == COMPONENT_ARTIFACT_HASH) + { + return MarketplaceResourceType::COMPONENT_ARTIFACT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MarketplaceResourceType::NOT_SET; + } + + Aws::String GetNameForMarketplaceResourceType(MarketplaceResourceType enumValue) + { + switch(enumValue) + { + case MarketplaceResourceType::NOT_SET: + return {}; + case MarketplaceResourceType::COMPONENT_DATA: + return "COMPONENT_DATA"; + case MarketplaceResourceType::COMPONENT_ARTIFACT: + return "COMPONENT_ARTIFACT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MarketplaceResourceTypeMapper + } // namespace Model + } // namespace imagebuilder +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/model/Ownership.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/model/Ownership.cpp index 17669c99baa..d29d9f6c482 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/source/model/Ownership.cpp +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/model/Ownership.cpp @@ -24,6 +24,7 @@ namespace Aws static const int Shared_HASH = HashingUtils::HashString("Shared"); static const int Amazon_HASH = HashingUtils::HashString("Amazon"); static const int ThirdParty_HASH = HashingUtils::HashString("ThirdParty"); + static const int AWSMarketplace_HASH = HashingUtils::HashString("AWSMarketplace"); Ownership GetOwnershipForName(const Aws::String& name) @@ -45,6 +46,10 @@ namespace Aws { return Ownership::ThirdParty; } + else if (hashCode == AWSMarketplace_HASH) + { + return Ownership::AWSMarketplace; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -69,6 +74,8 @@ namespace Aws return "Amazon"; case Ownership::ThirdParty: return "ThirdParty"; + case Ownership::AWSMarketplace: + return "AWSMarketplace"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/model/ProductCodeListItem.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/model/ProductCodeListItem.cpp new file mode 100644 index 00000000000..1ab0174044f --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/model/ProductCodeListItem.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace imagebuilder +{ +namespace Model +{ + +ProductCodeListItem::ProductCodeListItem() : + m_productCodeIdHasBeenSet(false), + m_productCodeType(ProductCodeType::NOT_SET), + m_productCodeTypeHasBeenSet(false) +{ +} + +ProductCodeListItem::ProductCodeListItem(JsonView jsonValue) + : ProductCodeListItem() +{ + *this = jsonValue; +} + +ProductCodeListItem& ProductCodeListItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("productCodeId")) + { + m_productCodeId = jsonValue.GetString("productCodeId"); + + m_productCodeIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("productCodeType")) + { + m_productCodeType = ProductCodeTypeMapper::GetProductCodeTypeForName(jsonValue.GetString("productCodeType")); + + m_productCodeTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue ProductCodeListItem::Jsonize() const +{ + JsonValue payload; + + if(m_productCodeIdHasBeenSet) + { + payload.WithString("productCodeId", m_productCodeId); + + } + + if(m_productCodeTypeHasBeenSet) + { + payload.WithString("productCodeType", ProductCodeTypeMapper::GetNameForProductCodeType(m_productCodeType)); + } + + return payload; +} + +} // namespace Model +} // namespace imagebuilder +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/model/ProductCodeType.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/model/ProductCodeType.cpp new file mode 100644 index 00000000000..c3fd6c37c4c --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/model/ProductCodeType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace imagebuilder + { + namespace Model + { + namespace ProductCodeTypeMapper + { + + static const int marketplace_HASH = HashingUtils::HashString("marketplace"); + + + ProductCodeType GetProductCodeTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == marketplace_HASH) + { + return ProductCodeType::marketplace; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ProductCodeType::NOT_SET; + } + + Aws::String GetNameForProductCodeType(ProductCodeType enumValue) + { + switch(enumValue) + { + case ProductCodeType::NOT_SET: + return {}; + case ProductCodeType::marketplace: + return "marketplace"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ProductCodeTypeMapper + } // namespace Model + } // namespace imagebuilder +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/CMakeLists.txt b/generated/src/aws-cpp-sdk-invoicing/CMakeLists.txt new file mode 100644 index 00000000000..3b6c6ad8f1a --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-invoicing "C++ SDK for the AWS invoicing service" aws-cpp-sdk-core) + +file(GLOB AWS_INVOICING_HEADERS + "include/aws/invoicing/*.h" +) + +file(GLOB AWS_INVOICING_MODEL_HEADERS + "include/aws/invoicing/model/*.h" +) + +file(GLOB AWS_INVOICING_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_INVOICING_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB INVOICING_UNIFIED_HEADERS + ${AWS_INVOICING_HEADERS} + ${AWS_INVOICING_MODEL_HEADERS} +) + +file(GLOB INVOICING_UNITY_SRC + ${AWS_INVOICING_SOURCE} + ${AWS_INVOICING_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("INVOICING" INVOICING_UNITY_SRC) +endif() + +file(GLOB INVOICING_SRC + ${INVOICING_UNIFIED_HEADERS} + ${INVOICING_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\invoicing" FILES ${AWS_INVOICING_HEADERS}) + source_group("Header Files\\aws\\invoicing\\model" FILES ${AWS_INVOICING_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_INVOICING_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_INVOICING_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(INVOICING_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${INVOICING_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_INVOICING_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_INVOICING_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/invoicing) +install (FILES ${AWS_INVOICING_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/invoicing/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClient.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClient.h new file mode 100644 index 00000000000..7209b4e52d8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClient.h @@ -0,0 +1,339 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ + /** + *

        Amazon Web Services Invoice Configuration

        You can use Amazon + * Web Services Invoice Configuration APIs to programmatically create, update, + * delete, get, and list invoice units. You can also programmatically fetch the + * information of the invoice receiver. For example, business legal name, address, + * and invoicing contacts.

        You can use Amazon Web Services Invoice + * Configuration to receive separate Amazon Web Services invoices based your + * organizational needs. By using Amazon Web Services Invoice Configuration, you + * can configure invoice units that are groups of Amazon Web Services accounts that + * represent your business entities, and receive separate invoices for each + * business entity. You can also assign a unique member or payer account as the + * invoice receiver for each invoice unit. As you create new accounts within your + * Organizations using Amazon Web Services Invoice Configuration APIs, you can + * automate the creation of new invoice units and subsequently automate the + * addition of new accounts to your invoice units.

        Service endpoint

        + *

        You can use the following endpoints for Amazon Web Services Invoice + * Configuration:

        • + * https://invoicing.us-east-1.api.aws

        + */ + class AWS_INVOICING_API InvoicingClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef InvoicingClientConfiguration ClientConfigurationType; + typedef InvoicingEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + InvoicingClient(const Aws::Invoicing::InvoicingClientConfiguration& clientConfiguration = Aws::Invoicing::InvoicingClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + InvoicingClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::Invoicing::InvoicingClientConfiguration& clientConfiguration = Aws::Invoicing::InvoicingClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + InvoicingClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::Invoicing::InvoicingClientConfiguration& clientConfiguration = Aws::Invoicing::InvoicingClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + InvoicingClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + InvoicingClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + InvoicingClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~InvoicingClient(); + + /** + *

        This gets the invoice profile associated with a set of accounts. The accounts + * must be linked accounts under the requester management account + * organization.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::BatchGetInvoiceProfileOutcome BatchGetInvoiceProfile(const Model::BatchGetInvoiceProfileRequest& request) const; + + /** + * A Callable wrapper for BatchGetInvoiceProfile that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::BatchGetInvoiceProfileOutcomeCallable BatchGetInvoiceProfileCallable(const BatchGetInvoiceProfileRequestT& request) const + { + return SubmitCallable(&InvoicingClient::BatchGetInvoiceProfile, request); + } + + /** + * An Async wrapper for BatchGetInvoiceProfile that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void BatchGetInvoiceProfileAsync(const BatchGetInvoiceProfileRequestT& request, const BatchGetInvoiceProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&InvoicingClient::BatchGetInvoiceProfile, request, handler, context); + } + + /** + *

        This creates a new invoice unit with the provided definition.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::CreateInvoiceUnitOutcome CreateInvoiceUnit(const Model::CreateInvoiceUnitRequest& request) const; + + /** + * A Callable wrapper for CreateInvoiceUnit that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateInvoiceUnitOutcomeCallable CreateInvoiceUnitCallable(const CreateInvoiceUnitRequestT& request) const + { + return SubmitCallable(&InvoicingClient::CreateInvoiceUnit, request); + } + + /** + * An Async wrapper for CreateInvoiceUnit that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateInvoiceUnitAsync(const CreateInvoiceUnitRequestT& request, const CreateInvoiceUnitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&InvoicingClient::CreateInvoiceUnit, request, handler, context); + } + + /** + *

        This deletes an invoice unit with the provided invoice unit ARN. + *

        See Also:

        AWS + * API Reference

        + */ + virtual Model::DeleteInvoiceUnitOutcome DeleteInvoiceUnit(const Model::DeleteInvoiceUnitRequest& request) const; + + /** + * A Callable wrapper for DeleteInvoiceUnit that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteInvoiceUnitOutcomeCallable DeleteInvoiceUnitCallable(const DeleteInvoiceUnitRequestT& request) const + { + return SubmitCallable(&InvoicingClient::DeleteInvoiceUnit, request); + } + + /** + * An Async wrapper for DeleteInvoiceUnit that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteInvoiceUnitAsync(const DeleteInvoiceUnitRequestT& request, const DeleteInvoiceUnitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&InvoicingClient::DeleteInvoiceUnit, request, handler, context); + } + + /** + *

        This retrieves the invoice unit definition.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetInvoiceUnitOutcome GetInvoiceUnit(const Model::GetInvoiceUnitRequest& request) const; + + /** + * A Callable wrapper for GetInvoiceUnit that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetInvoiceUnitOutcomeCallable GetInvoiceUnitCallable(const GetInvoiceUnitRequestT& request) const + { + return SubmitCallable(&InvoicingClient::GetInvoiceUnit, request); + } + + /** + * An Async wrapper for GetInvoiceUnit that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetInvoiceUnitAsync(const GetInvoiceUnitRequestT& request, const GetInvoiceUnitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&InvoicingClient::GetInvoiceUnit, request, handler, context); + } + + /** + *

        This fetches a list of all invoice unit definitions for a given account, as + * of the provided AsOf date.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListInvoiceUnitsOutcome ListInvoiceUnits(const Model::ListInvoiceUnitsRequest& request = {}) const; + + /** + * A Callable wrapper for ListInvoiceUnits that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListInvoiceUnitsOutcomeCallable ListInvoiceUnitsCallable(const ListInvoiceUnitsRequestT& request = {}) const + { + return SubmitCallable(&InvoicingClient::ListInvoiceUnits, request); + } + + /** + * An Async wrapper for ListInvoiceUnits that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListInvoiceUnitsAsync(const ListInvoiceUnitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListInvoiceUnitsRequestT& request = {}) const + { + return SubmitAsync(&InvoicingClient::ListInvoiceUnits, request, handler, context); + } + + /** + *

        Lists the tags for a resource.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&InvoicingClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&InvoicingClient::ListTagsForResource, request, handler, context); + } + + /** + *

        Adds a tag to a resource.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&InvoicingClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&InvoicingClient::TagResource, request, handler, context); + } + + /** + *

        Removes a tag from a resource.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&InvoicingClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&InvoicingClient::UntagResource, request, handler, context); + } + + /** + *

        You can update the invoice unit configuration at any time, and Amazon Web + * Services will use the latest configuration at the end of the + * month.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateInvoiceUnitOutcome UpdateInvoiceUnit(const Model::UpdateInvoiceUnitRequest& request) const; + + /** + * A Callable wrapper for UpdateInvoiceUnit that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateInvoiceUnitOutcomeCallable UpdateInvoiceUnitCallable(const UpdateInvoiceUnitRequestT& request) const + { + return SubmitCallable(&InvoicingClient::UpdateInvoiceUnit, request); + } + + /** + * An Async wrapper for UpdateInvoiceUnit that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateInvoiceUnitAsync(const UpdateInvoiceUnitRequestT& request, const UpdateInvoiceUnitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&InvoicingClient::UpdateInvoiceUnit, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const InvoicingClientConfiguration& clientConfiguration); + + InvoicingClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointProvider.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointProvider.h new file mode 100644 index 00000000000..967b0203fef --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace Invoicing +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using InvoicingClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using InvoicingClientConfiguration = Aws::Client::GenericClientConfiguration; +using InvoicingBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the Invoicing Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using InvoicingEndpointProviderBase = + EndpointProviderBase; + +using InvoicingDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_INVOICING_API InvoicingEndpointProvider : public InvoicingDefaultEpProviderBase +{ +public: + using InvoicingResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + InvoicingEndpointProvider() + : InvoicingDefaultEpProviderBase(Aws::Invoicing::InvoicingEndpointRules::GetRulesBlob(), Aws::Invoicing::InvoicingEndpointRules::RulesBlobSize) + {} + + ~InvoicingEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointRules.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointRules.h new file mode 100644 index 00000000000..a4ce82afeb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +class InvoicingEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingErrorMarshaller.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingErrorMarshaller.h new file mode 100644 index 00000000000..cf7adaa97bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_INVOICING_API InvoicingErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingErrors.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingErrors.h new file mode 100644 index 00000000000..ac457467139 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingErrors.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +enum class InvoicingErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + INTERNAL_SERVER= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_INVOICING_API InvoicingError : public Aws::Client::AWSError +{ +public: + InvoicingError() {} + InvoicingError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + InvoicingError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + InvoicingError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + InvoicingError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace InvoicingErrorMapper +{ + AWS_INVOICING_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingRequest.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingRequest.h new file mode 100644 index 00000000000..cf4e03b2db0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ + class AWS_INVOICING_API InvoicingRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~InvoicingRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_0 )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2024-12-01")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingServiceClientModel.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingServiceClientModel.h new file mode 100644 index 00000000000..15ca91bf317 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingServiceClientModel.h @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in InvoicingClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in InvoicingClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace Invoicing + { + using InvoicingClientConfiguration = Aws::Client::GenericClientConfiguration; + using InvoicingEndpointProviderBase = Aws::Invoicing::Endpoint::InvoicingEndpointProviderBase; + using InvoicingEndpointProvider = Aws::Invoicing::Endpoint::InvoicingEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in InvoicingClient header */ + class BatchGetInvoiceProfileRequest; + class CreateInvoiceUnitRequest; + class DeleteInvoiceUnitRequest; + class GetInvoiceUnitRequest; + class ListInvoiceUnitsRequest; + class ListTagsForResourceRequest; + class TagResourceRequest; + class UntagResourceRequest; + class UpdateInvoiceUnitRequest; + /* End of service model forward declarations required in InvoicingClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome BatchGetInvoiceProfileOutcome; + typedef Aws::Utils::Outcome CreateInvoiceUnitOutcome; + typedef Aws::Utils::Outcome DeleteInvoiceUnitOutcome; + typedef Aws::Utils::Outcome GetInvoiceUnitOutcome; + typedef Aws::Utils::Outcome ListInvoiceUnitsOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateInvoiceUnitOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future BatchGetInvoiceProfileOutcomeCallable; + typedef std::future CreateInvoiceUnitOutcomeCallable; + typedef std::future DeleteInvoiceUnitOutcomeCallable; + typedef std::future GetInvoiceUnitOutcomeCallable; + typedef std::future ListInvoiceUnitsOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateInvoiceUnitOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class InvoicingClient; + + /* Service model async handlers definitions */ + typedef std::function&) > BatchGetInvoiceProfileResponseReceivedHandler; + typedef std::function&) > CreateInvoiceUnitResponseReceivedHandler; + typedef std::function&) > DeleteInvoiceUnitResponseReceivedHandler; + typedef std::function&) > GetInvoiceUnitResponseReceivedHandler; + typedef std::function&) > ListInvoiceUnitsResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateInvoiceUnitResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/Invoicing_EXPORTS.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/Invoicing_EXPORTS.h new file mode 100644 index 00000000000..a6313a1a95f --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/Invoicing_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_INVOICING_EXPORTS + #define AWS_INVOICING_API __declspec(dllexport) + #else + #define AWS_INVOICING_API __declspec(dllimport) + #endif /* AWS_INVOICING_EXPORTS */ + #define AWS_INVOICING_EXTERN + #else + #define AWS_INVOICING_API + #define AWS_INVOICING_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_INVOICING_API + #define AWS_INVOICING_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/AccessDeniedException.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/AccessDeniedException.h new file mode 100644 index 00000000000..67ce2f8f4a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/AccessDeniedException.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + + /** + *

        You don't have sufficient access to perform this action.

        See + * Also:

        AWS + * API Reference

        + */ + class AccessDeniedException + { + public: + AWS_INVOICING_API AccessDeniedException(); + AWS_INVOICING_API AccessDeniedException(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API AccessDeniedException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline AccessDeniedException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline AccessDeniedException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline AccessDeniedException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

        You don't have sufficient access to perform this action.

        + */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + inline AccessDeniedException& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + inline AccessDeniedException& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + inline AccessDeniedException& WithResourceName(const char* value) { SetResourceName(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/BatchGetInvoiceProfileRequest.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/BatchGetInvoiceProfileRequest.h new file mode 100644 index 00000000000..9c3672f4757 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/BatchGetInvoiceProfileRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + + /** + */ + class BatchGetInvoiceProfileRequest : public InvoicingRequest + { + public: + AWS_INVOICING_API BatchGetInvoiceProfileRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "BatchGetInvoiceProfile"; } + + AWS_INVOICING_API Aws::String SerializePayload() const override; + + AWS_INVOICING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        Retrieves the corresponding invoice profile data for these account IDs.

        + */ + inline const Aws::Vector& GetAccountIds() const{ return m_accountIds; } + inline bool AccountIdsHasBeenSet() const { return m_accountIdsHasBeenSet; } + inline void SetAccountIds(const Aws::Vector& value) { m_accountIdsHasBeenSet = true; m_accountIds = value; } + inline void SetAccountIds(Aws::Vector&& value) { m_accountIdsHasBeenSet = true; m_accountIds = std::move(value); } + inline BatchGetInvoiceProfileRequest& WithAccountIds(const Aws::Vector& value) { SetAccountIds(value); return *this;} + inline BatchGetInvoiceProfileRequest& WithAccountIds(Aws::Vector&& value) { SetAccountIds(std::move(value)); return *this;} + inline BatchGetInvoiceProfileRequest& AddAccountIds(const Aws::String& value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(value); return *this; } + inline BatchGetInvoiceProfileRequest& AddAccountIds(Aws::String&& value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(std::move(value)); return *this; } + inline BatchGetInvoiceProfileRequest& AddAccountIds(const char* value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_accountIds; + bool m_accountIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/BatchGetInvoiceProfileResult.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/BatchGetInvoiceProfileResult.h new file mode 100644 index 00000000000..1837d03e605 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/BatchGetInvoiceProfileResult.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + class BatchGetInvoiceProfileResult + { + public: + AWS_INVOICING_API BatchGetInvoiceProfileResult(); + AWS_INVOICING_API BatchGetInvoiceProfileResult(const Aws::AmazonWebServiceResult& result); + AWS_INVOICING_API BatchGetInvoiceProfileResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        A list of invoice profiles corresponding to the requested accounts.

        + */ + inline const Aws::Vector& GetProfiles() const{ return m_profiles; } + inline void SetProfiles(const Aws::Vector& value) { m_profiles = value; } + inline void SetProfiles(Aws::Vector&& value) { m_profiles = std::move(value); } + inline BatchGetInvoiceProfileResult& WithProfiles(const Aws::Vector& value) { SetProfiles(value); return *this;} + inline BatchGetInvoiceProfileResult& WithProfiles(Aws::Vector&& value) { SetProfiles(std::move(value)); return *this;} + inline BatchGetInvoiceProfileResult& AddProfiles(const InvoiceProfile& value) { m_profiles.push_back(value); return *this; } + inline BatchGetInvoiceProfileResult& AddProfiles(InvoiceProfile&& value) { m_profiles.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline BatchGetInvoiceProfileResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline BatchGetInvoiceProfileResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline BatchGetInvoiceProfileResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_profiles; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/CreateInvoiceUnitRequest.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/CreateInvoiceUnitRequest.h new file mode 100644 index 00000000000..8dca5ced93e --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/CreateInvoiceUnitRequest.h @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + + /** + */ + class CreateInvoiceUnitRequest : public InvoicingRequest + { + public: + AWS_INVOICING_API CreateInvoiceUnitRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateInvoiceUnit"; } + + AWS_INVOICING_API Aws::String SerializePayload() const override; + + AWS_INVOICING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The unique name of the invoice unit that is shown on the generated invoice. + * This can't be changed once it is set. To change this name, you must delete the + * invoice unit recreate.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline CreateInvoiceUnitRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateInvoiceUnitRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateInvoiceUnitRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Web Services account ID chosen to be the receiver of an invoice + * unit. All invoices generated for that invoice unit will be sent to this account + * ID.

        + */ + inline const Aws::String& GetInvoiceReceiver() const{ return m_invoiceReceiver; } + inline bool InvoiceReceiverHasBeenSet() const { return m_invoiceReceiverHasBeenSet; } + inline void SetInvoiceReceiver(const Aws::String& value) { m_invoiceReceiverHasBeenSet = true; m_invoiceReceiver = value; } + inline void SetInvoiceReceiver(Aws::String&& value) { m_invoiceReceiverHasBeenSet = true; m_invoiceReceiver = std::move(value); } + inline void SetInvoiceReceiver(const char* value) { m_invoiceReceiverHasBeenSet = true; m_invoiceReceiver.assign(value); } + inline CreateInvoiceUnitRequest& WithInvoiceReceiver(const Aws::String& value) { SetInvoiceReceiver(value); return *this;} + inline CreateInvoiceUnitRequest& WithInvoiceReceiver(Aws::String&& value) { SetInvoiceReceiver(std::move(value)); return *this;} + inline CreateInvoiceUnitRequest& WithInvoiceReceiver(const char* value) { SetInvoiceReceiver(value); return *this;} + ///@} + + ///@{ + /** + *

        The invoice unit's description. This can be changed at a later time.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline CreateInvoiceUnitRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline CreateInvoiceUnitRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline CreateInvoiceUnitRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        Whether the invoice unit based tax inheritance is/ should be enabled or + * disabled.

        + */ + inline bool GetTaxInheritanceDisabled() const{ return m_taxInheritanceDisabled; } + inline bool TaxInheritanceDisabledHasBeenSet() const { return m_taxInheritanceDisabledHasBeenSet; } + inline void SetTaxInheritanceDisabled(bool value) { m_taxInheritanceDisabledHasBeenSet = true; m_taxInheritanceDisabled = value; } + inline CreateInvoiceUnitRequest& WithTaxInheritanceDisabled(bool value) { SetTaxInheritanceDisabled(value); return *this;} + ///@} + + ///@{ + /** + *

        The InvoiceUnitRule object used to create invoice units.

        + */ + inline const InvoiceUnitRule& GetRule() const{ return m_rule; } + inline bool RuleHasBeenSet() const { return m_ruleHasBeenSet; } + inline void SetRule(const InvoiceUnitRule& value) { m_ruleHasBeenSet = true; m_rule = value; } + inline void SetRule(InvoiceUnitRule&& value) { m_ruleHasBeenSet = true; m_rule = std::move(value); } + inline CreateInvoiceUnitRequest& WithRule(const InvoiceUnitRule& value) { SetRule(value); return *this;} + inline CreateInvoiceUnitRequest& WithRule(InvoiceUnitRule&& value) { SetRule(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The tag structure that contains a tag key and value.

        + */ + inline const Aws::Vector& GetResourceTags() const{ return m_resourceTags; } + inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } + inline void SetResourceTags(const Aws::Vector& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = value; } + inline void SetResourceTags(Aws::Vector&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::move(value); } + inline CreateInvoiceUnitRequest& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} + inline CreateInvoiceUnitRequest& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} + inline CreateInvoiceUnitRequest& AddResourceTags(const ResourceTag& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(value); return *this; } + inline CreateInvoiceUnitRequest& AddResourceTags(ResourceTag&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_invoiceReceiver; + bool m_invoiceReceiverHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + bool m_taxInheritanceDisabled; + bool m_taxInheritanceDisabledHasBeenSet = false; + + InvoiceUnitRule m_rule; + bool m_ruleHasBeenSet = false; + + Aws::Vector m_resourceTags; + bool m_resourceTagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/CreateInvoiceUnitResult.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/CreateInvoiceUnitResult.h new file mode 100644 index 00000000000..23bbc066c6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/CreateInvoiceUnitResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + class CreateInvoiceUnitResult + { + public: + AWS_INVOICING_API CreateInvoiceUnitResult(); + AWS_INVOICING_API CreateInvoiceUnitResult(const Aws::AmazonWebServiceResult& result); + AWS_INVOICING_API CreateInvoiceUnitResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The ARN to identify an invoice unit. This information can't be modified or + * deleted.

        + */ + inline const Aws::String& GetInvoiceUnitArn() const{ return m_invoiceUnitArn; } + inline void SetInvoiceUnitArn(const Aws::String& value) { m_invoiceUnitArn = value; } + inline void SetInvoiceUnitArn(Aws::String&& value) { m_invoiceUnitArn = std::move(value); } + inline void SetInvoiceUnitArn(const char* value) { m_invoiceUnitArn.assign(value); } + inline CreateInvoiceUnitResult& WithInvoiceUnitArn(const Aws::String& value) { SetInvoiceUnitArn(value); return *this;} + inline CreateInvoiceUnitResult& WithInvoiceUnitArn(Aws::String&& value) { SetInvoiceUnitArn(std::move(value)); return *this;} + inline CreateInvoiceUnitResult& WithInvoiceUnitArn(const char* value) { SetInvoiceUnitArn(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateInvoiceUnitResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateInvoiceUnitResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateInvoiceUnitResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_invoiceUnitArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/DeleteInvoiceUnitRequest.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/DeleteInvoiceUnitRequest.h new file mode 100644 index 00000000000..4f69f26d86c --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/DeleteInvoiceUnitRequest.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + + /** + */ + class DeleteInvoiceUnitRequest : public InvoicingRequest + { + public: + AWS_INVOICING_API DeleteInvoiceUnitRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteInvoiceUnit"; } + + AWS_INVOICING_API Aws::String SerializePayload() const override; + + AWS_INVOICING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The ARN to identify an invoice unit. This information can't be modified or + * deleted.

        + */ + inline const Aws::String& GetInvoiceUnitArn() const{ return m_invoiceUnitArn; } + inline bool InvoiceUnitArnHasBeenSet() const { return m_invoiceUnitArnHasBeenSet; } + inline void SetInvoiceUnitArn(const Aws::String& value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn = value; } + inline void SetInvoiceUnitArn(Aws::String&& value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn = std::move(value); } + inline void SetInvoiceUnitArn(const char* value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn.assign(value); } + inline DeleteInvoiceUnitRequest& WithInvoiceUnitArn(const Aws::String& value) { SetInvoiceUnitArn(value); return *this;} + inline DeleteInvoiceUnitRequest& WithInvoiceUnitArn(Aws::String&& value) { SetInvoiceUnitArn(std::move(value)); return *this;} + inline DeleteInvoiceUnitRequest& WithInvoiceUnitArn(const char* value) { SetInvoiceUnitArn(value); return *this;} + ///@} + private: + + Aws::String m_invoiceUnitArn; + bool m_invoiceUnitArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/DeleteInvoiceUnitResult.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/DeleteInvoiceUnitResult.h new file mode 100644 index 00000000000..65f2f320ca0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/DeleteInvoiceUnitResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + class DeleteInvoiceUnitResult + { + public: + AWS_INVOICING_API DeleteInvoiceUnitResult(); + AWS_INVOICING_API DeleteInvoiceUnitResult(const Aws::AmazonWebServiceResult& result); + AWS_INVOICING_API DeleteInvoiceUnitResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The ARN to identify an invoice unit. This information can't be modified or + * deleted.

        + */ + inline const Aws::String& GetInvoiceUnitArn() const{ return m_invoiceUnitArn; } + inline void SetInvoiceUnitArn(const Aws::String& value) { m_invoiceUnitArn = value; } + inline void SetInvoiceUnitArn(Aws::String&& value) { m_invoiceUnitArn = std::move(value); } + inline void SetInvoiceUnitArn(const char* value) { m_invoiceUnitArn.assign(value); } + inline DeleteInvoiceUnitResult& WithInvoiceUnitArn(const Aws::String& value) { SetInvoiceUnitArn(value); return *this;} + inline DeleteInvoiceUnitResult& WithInvoiceUnitArn(Aws::String&& value) { SetInvoiceUnitArn(std::move(value)); return *this;} + inline DeleteInvoiceUnitResult& WithInvoiceUnitArn(const char* value) { SetInvoiceUnitArn(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteInvoiceUnitResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteInvoiceUnitResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteInvoiceUnitResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_invoiceUnitArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/Filters.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/Filters.h new file mode 100644 index 00000000000..65bea2f67e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/Filters.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + + /** + *

        An optional input to the list API. If multiple filters are specified, the + * returned list will be a configuration that match all of the provided filters. + * Supported filter types are InvoiceReceivers, Names, + * and Accounts.

        See Also:

        AWS + * API Reference

        + */ + class Filters + { + public: + AWS_INVOICING_API Filters(); + AWS_INVOICING_API Filters(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Filters& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        An optional input to the list API. You can specify a list of invoice unit + * names inside filters to return invoice units that match only the specified + * invoice unit names. If multiple names are provided, the result is an + * OR condition (match any) of the specified invoice unit names.

        + */ + inline const Aws::Vector& GetNames() const{ return m_names; } + inline bool NamesHasBeenSet() const { return m_namesHasBeenSet; } + inline void SetNames(const Aws::Vector& value) { m_namesHasBeenSet = true; m_names = value; } + inline void SetNames(Aws::Vector&& value) { m_namesHasBeenSet = true; m_names = std::move(value); } + inline Filters& WithNames(const Aws::Vector& value) { SetNames(value); return *this;} + inline Filters& WithNames(Aws::Vector&& value) { SetNames(std::move(value)); return *this;} + inline Filters& AddNames(const Aws::String& value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; } + inline Filters& AddNames(Aws::String&& value) { m_namesHasBeenSet = true; m_names.push_back(std::move(value)); return *this; } + inline Filters& AddNames(const char* value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        You can specify a list of Amazon Web Services account IDs inside filters to + * return invoice units that match only the specified accounts. If multiple + * accounts are provided, the result is an OR condition (match any) of + * the specified accounts. This filter only matches the specified accounts on the + * invoice receivers of the invoice units.

        + */ + inline const Aws::Vector& GetInvoiceReceivers() const{ return m_invoiceReceivers; } + inline bool InvoiceReceiversHasBeenSet() const { return m_invoiceReceiversHasBeenSet; } + inline void SetInvoiceReceivers(const Aws::Vector& value) { m_invoiceReceiversHasBeenSet = true; m_invoiceReceivers = value; } + inline void SetInvoiceReceivers(Aws::Vector&& value) { m_invoiceReceiversHasBeenSet = true; m_invoiceReceivers = std::move(value); } + inline Filters& WithInvoiceReceivers(const Aws::Vector& value) { SetInvoiceReceivers(value); return *this;} + inline Filters& WithInvoiceReceivers(Aws::Vector&& value) { SetInvoiceReceivers(std::move(value)); return *this;} + inline Filters& AddInvoiceReceivers(const Aws::String& value) { m_invoiceReceiversHasBeenSet = true; m_invoiceReceivers.push_back(value); return *this; } + inline Filters& AddInvoiceReceivers(Aws::String&& value) { m_invoiceReceiversHasBeenSet = true; m_invoiceReceivers.push_back(std::move(value)); return *this; } + inline Filters& AddInvoiceReceivers(const char* value) { m_invoiceReceiversHasBeenSet = true; m_invoiceReceivers.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        You can specify a list of Amazon Web Services account IDs inside filters to + * return invoice units that match only the specified accounts. If multiple + * accounts are provided, the result is an OR condition (match any) of + * the specified accounts. The specified account IDs are matched with either the + * receiver or the linked accounts in the rules.

        + */ + inline const Aws::Vector& GetAccounts() const{ return m_accounts; } + inline bool AccountsHasBeenSet() const { return m_accountsHasBeenSet; } + inline void SetAccounts(const Aws::Vector& value) { m_accountsHasBeenSet = true; m_accounts = value; } + inline void SetAccounts(Aws::Vector&& value) { m_accountsHasBeenSet = true; m_accounts = std::move(value); } + inline Filters& WithAccounts(const Aws::Vector& value) { SetAccounts(value); return *this;} + inline Filters& WithAccounts(Aws::Vector&& value) { SetAccounts(std::move(value)); return *this;} + inline Filters& AddAccounts(const Aws::String& value) { m_accountsHasBeenSet = true; m_accounts.push_back(value); return *this; } + inline Filters& AddAccounts(Aws::String&& value) { m_accountsHasBeenSet = true; m_accounts.push_back(std::move(value)); return *this; } + inline Filters& AddAccounts(const char* value) { m_accountsHasBeenSet = true; m_accounts.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_names; + bool m_namesHasBeenSet = false; + + Aws::Vector m_invoiceReceivers; + bool m_invoiceReceiversHasBeenSet = false; + + Aws::Vector m_accounts; + bool m_accountsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/GetInvoiceUnitRequest.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/GetInvoiceUnitRequest.h new file mode 100644 index 00000000000..f52af74c427 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/GetInvoiceUnitRequest.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + + /** + */ + class GetInvoiceUnitRequest : public InvoicingRequest + { + public: + AWS_INVOICING_API GetInvoiceUnitRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetInvoiceUnit"; } + + AWS_INVOICING_API Aws::String SerializePayload() const override; + + AWS_INVOICING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The ARN to identify an invoice unit. This information can't be modified or + * deleted.

        + */ + inline const Aws::String& GetInvoiceUnitArn() const{ return m_invoiceUnitArn; } + inline bool InvoiceUnitArnHasBeenSet() const { return m_invoiceUnitArnHasBeenSet; } + inline void SetInvoiceUnitArn(const Aws::String& value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn = value; } + inline void SetInvoiceUnitArn(Aws::String&& value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn = std::move(value); } + inline void SetInvoiceUnitArn(const char* value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn.assign(value); } + inline GetInvoiceUnitRequest& WithInvoiceUnitArn(const Aws::String& value) { SetInvoiceUnitArn(value); return *this;} + inline GetInvoiceUnitRequest& WithInvoiceUnitArn(Aws::String&& value) { SetInvoiceUnitArn(std::move(value)); return *this;} + inline GetInvoiceUnitRequest& WithInvoiceUnitArn(const char* value) { SetInvoiceUnitArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The state of an invoice unit at a specified time. You can see legacy invoice + * units that are currently deleted if the AsOf time is set to before + * it was deleted. If an AsOf is not provided, the default value is + * the current time.

        + */ + inline const Aws::Utils::DateTime& GetAsOf() const{ return m_asOf; } + inline bool AsOfHasBeenSet() const { return m_asOfHasBeenSet; } + inline void SetAsOf(const Aws::Utils::DateTime& value) { m_asOfHasBeenSet = true; m_asOf = value; } + inline void SetAsOf(Aws::Utils::DateTime&& value) { m_asOfHasBeenSet = true; m_asOf = std::move(value); } + inline GetInvoiceUnitRequest& WithAsOf(const Aws::Utils::DateTime& value) { SetAsOf(value); return *this;} + inline GetInvoiceUnitRequest& WithAsOf(Aws::Utils::DateTime&& value) { SetAsOf(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_invoiceUnitArn; + bool m_invoiceUnitArnHasBeenSet = false; + + Aws::Utils::DateTime m_asOf; + bool m_asOfHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/GetInvoiceUnitResult.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/GetInvoiceUnitResult.h new file mode 100644 index 00000000000..51f7e06f280 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/GetInvoiceUnitResult.h @@ -0,0 +1,154 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + class GetInvoiceUnitResult + { + public: + AWS_INVOICING_API GetInvoiceUnitResult(); + AWS_INVOICING_API GetInvoiceUnitResult(const Aws::AmazonWebServiceResult& result); + AWS_INVOICING_API GetInvoiceUnitResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The ARN to identify an invoice unit. This information can't be modified or + * deleted.

        + */ + inline const Aws::String& GetInvoiceUnitArn() const{ return m_invoiceUnitArn; } + inline void SetInvoiceUnitArn(const Aws::String& value) { m_invoiceUnitArn = value; } + inline void SetInvoiceUnitArn(Aws::String&& value) { m_invoiceUnitArn = std::move(value); } + inline void SetInvoiceUnitArn(const char* value) { m_invoiceUnitArn.assign(value); } + inline GetInvoiceUnitResult& WithInvoiceUnitArn(const Aws::String& value) { SetInvoiceUnitArn(value); return *this;} + inline GetInvoiceUnitResult& WithInvoiceUnitArn(Aws::String&& value) { SetInvoiceUnitArn(std::move(value)); return *this;} + inline GetInvoiceUnitResult& WithInvoiceUnitArn(const char* value) { SetInvoiceUnitArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Web Services account ID chosen to be the receiver of an invoice + * unit. All invoices generated for that invoice unit will be sent to this account + * ID.

        + */ + inline const Aws::String& GetInvoiceReceiver() const{ return m_invoiceReceiver; } + inline void SetInvoiceReceiver(const Aws::String& value) { m_invoiceReceiver = value; } + inline void SetInvoiceReceiver(Aws::String&& value) { m_invoiceReceiver = std::move(value); } + inline void SetInvoiceReceiver(const char* value) { m_invoiceReceiver.assign(value); } + inline GetInvoiceUnitResult& WithInvoiceReceiver(const Aws::String& value) { SetInvoiceReceiver(value); return *this;} + inline GetInvoiceUnitResult& WithInvoiceReceiver(Aws::String&& value) { SetInvoiceReceiver(std::move(value)); return *this;} + inline GetInvoiceUnitResult& WithInvoiceReceiver(const char* value) { SetInvoiceReceiver(value); return *this;} + ///@} + + ///@{ + /** + *

        The unique name of the invoice unit that is shown on the generated invoice. + *

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline void SetName(const Aws::String& value) { m_name = value; } + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + inline void SetName(const char* value) { m_name.assign(value); } + inline GetInvoiceUnitResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline GetInvoiceUnitResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline GetInvoiceUnitResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The assigned description for an invoice unit.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline void SetDescription(const Aws::String& value) { m_description = value; } + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + inline void SetDescription(const char* value) { m_description.assign(value); } + inline GetInvoiceUnitResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline GetInvoiceUnitResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline GetInvoiceUnitResult& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        Whether the invoice unit based tax inheritance is/ should be enabled or + * disabled.

        + */ + inline bool GetTaxInheritanceDisabled() const{ return m_taxInheritanceDisabled; } + inline void SetTaxInheritanceDisabled(bool value) { m_taxInheritanceDisabled = value; } + inline GetInvoiceUnitResult& WithTaxInheritanceDisabled(bool value) { SetTaxInheritanceDisabled(value); return *this;} + ///@} + + ///@{ + + inline const InvoiceUnitRule& GetRule() const{ return m_rule; } + inline void SetRule(const InvoiceUnitRule& value) { m_rule = value; } + inline void SetRule(InvoiceUnitRule&& value) { m_rule = std::move(value); } + inline GetInvoiceUnitResult& WithRule(const InvoiceUnitRule& value) { SetRule(value); return *this;} + inline GetInvoiceUnitResult& WithRule(InvoiceUnitRule&& value) { SetRule(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The most recent date the invoice unit response was updated.

        + */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModified = value; } + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModified = std::move(value); } + inline GetInvoiceUnitResult& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + inline GetInvoiceUnitResult& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetInvoiceUnitResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetInvoiceUnitResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetInvoiceUnitResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_invoiceUnitArn; + + Aws::String m_invoiceReceiver; + + Aws::String m_name; + + Aws::String m_description; + + bool m_taxInheritanceDisabled; + + InvoiceUnitRule m_rule; + + Aws::Utils::DateTime m_lastModified; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InternalServerException.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InternalServerException.h new file mode 100644 index 00000000000..8c9adea9ae5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InternalServerException.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + + /** + *

        The processing request failed because of an unknown error, exception, or + * failure.

        See Also:

        AWS + * API Reference

        + */ + class InternalServerException + { + public: + AWS_INVOICING_API InternalServerException(); + AWS_INVOICING_API InternalServerException(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API InternalServerException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The processing request failed because of an unknown error, exception, or + * failure.

        + */ + inline int GetRetryAfterSeconds() const{ return m_retryAfterSeconds; } + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + inline InternalServerException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline InternalServerException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline InternalServerException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline InternalServerException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + private: + + int m_retryAfterSeconds; + bool m_retryAfterSecondsHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceProfile.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceProfile.h new file mode 100644 index 00000000000..f153238ca02 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceProfile.h @@ -0,0 +1,146 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + + /** + *

        Contains high-level information about the invoice receiver.

        See + * Also:

        AWS + * API Reference

        + */ + class InvoiceProfile + { + public: + AWS_INVOICING_API InvoiceProfile(); + AWS_INVOICING_API InvoiceProfile(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API InvoiceProfile& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The account ID the invoice profile is generated for.

        + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + inline InvoiceProfile& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + inline InvoiceProfile& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + inline InvoiceProfile& WithAccountId(const char* value) { SetAccountId(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the person receiving the invoice profile.

        + */ + inline const Aws::String& GetReceiverName() const{ return m_receiverName; } + inline bool ReceiverNameHasBeenSet() const { return m_receiverNameHasBeenSet; } + inline void SetReceiverName(const Aws::String& value) { m_receiverNameHasBeenSet = true; m_receiverName = value; } + inline void SetReceiverName(Aws::String&& value) { m_receiverNameHasBeenSet = true; m_receiverName = std::move(value); } + inline void SetReceiverName(const char* value) { m_receiverNameHasBeenSet = true; m_receiverName.assign(value); } + inline InvoiceProfile& WithReceiverName(const Aws::String& value) { SetReceiverName(value); return *this;} + inline InvoiceProfile& WithReceiverName(Aws::String&& value) { SetReceiverName(std::move(value)); return *this;} + inline InvoiceProfile& WithReceiverName(const char* value) { SetReceiverName(value); return *this;} + ///@} + + ///@{ + /** + *

        The address of the receiver that will be printed on the invoice.

        + */ + inline const ReceiverAddress& GetReceiverAddress() const{ return m_receiverAddress; } + inline bool ReceiverAddressHasBeenSet() const { return m_receiverAddressHasBeenSet; } + inline void SetReceiverAddress(const ReceiverAddress& value) { m_receiverAddressHasBeenSet = true; m_receiverAddress = value; } + inline void SetReceiverAddress(ReceiverAddress&& value) { m_receiverAddressHasBeenSet = true; m_receiverAddress = std::move(value); } + inline InvoiceProfile& WithReceiverAddress(const ReceiverAddress& value) { SetReceiverAddress(value); return *this;} + inline InvoiceProfile& WithReceiverAddress(ReceiverAddress&& value) { SetReceiverAddress(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The email address for the invoice profile receiver.

        + */ + inline const Aws::String& GetReceiverEmail() const{ return m_receiverEmail; } + inline bool ReceiverEmailHasBeenSet() const { return m_receiverEmailHasBeenSet; } + inline void SetReceiverEmail(const Aws::String& value) { m_receiverEmailHasBeenSet = true; m_receiverEmail = value; } + inline void SetReceiverEmail(Aws::String&& value) { m_receiverEmailHasBeenSet = true; m_receiverEmail = std::move(value); } + inline void SetReceiverEmail(const char* value) { m_receiverEmailHasBeenSet = true; m_receiverEmail.assign(value); } + inline InvoiceProfile& WithReceiverEmail(const Aws::String& value) { SetReceiverEmail(value); return *this;} + inline InvoiceProfile& WithReceiverEmail(Aws::String&& value) { SetReceiverEmail(std::move(value)); return *this;} + inline InvoiceProfile& WithReceiverEmail(const char* value) { SetReceiverEmail(value); return *this;} + ///@} + + ///@{ + /** + *

        This specifies the issuing entity of the invoice.

        + */ + inline const Aws::String& GetIssuer() const{ return m_issuer; } + inline bool IssuerHasBeenSet() const { return m_issuerHasBeenSet; } + inline void SetIssuer(const Aws::String& value) { m_issuerHasBeenSet = true; m_issuer = value; } + inline void SetIssuer(Aws::String&& value) { m_issuerHasBeenSet = true; m_issuer = std::move(value); } + inline void SetIssuer(const char* value) { m_issuerHasBeenSet = true; m_issuer.assign(value); } + inline InvoiceProfile& WithIssuer(const Aws::String& value) { SetIssuer(value); return *this;} + inline InvoiceProfile& WithIssuer(Aws::String&& value) { SetIssuer(std::move(value)); return *this;} + inline InvoiceProfile& WithIssuer(const char* value) { SetIssuer(value); return *this;} + ///@} + + ///@{ + /** + *

        Your Tax Registration Number (TRN) information.

        + */ + inline const Aws::String& GetTaxRegistrationNumber() const{ return m_taxRegistrationNumber; } + inline bool TaxRegistrationNumberHasBeenSet() const { return m_taxRegistrationNumberHasBeenSet; } + inline void SetTaxRegistrationNumber(const Aws::String& value) { m_taxRegistrationNumberHasBeenSet = true; m_taxRegistrationNumber = value; } + inline void SetTaxRegistrationNumber(Aws::String&& value) { m_taxRegistrationNumberHasBeenSet = true; m_taxRegistrationNumber = std::move(value); } + inline void SetTaxRegistrationNumber(const char* value) { m_taxRegistrationNumberHasBeenSet = true; m_taxRegistrationNumber.assign(value); } + inline InvoiceProfile& WithTaxRegistrationNumber(const Aws::String& value) { SetTaxRegistrationNumber(value); return *this;} + inline InvoiceProfile& WithTaxRegistrationNumber(Aws::String&& value) { SetTaxRegistrationNumber(std::move(value)); return *this;} + inline InvoiceProfile& WithTaxRegistrationNumber(const char* value) { SetTaxRegistrationNumber(value); return *this;} + ///@} + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_receiverName; + bool m_receiverNameHasBeenSet = false; + + ReceiverAddress m_receiverAddress; + bool m_receiverAddressHasBeenSet = false; + + Aws::String m_receiverEmail; + bool m_receiverEmailHasBeenSet = false; + + Aws::String m_issuer; + bool m_issuerHasBeenSet = false; + + Aws::String m_taxRegistrationNumber; + bool m_taxRegistrationNumberHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceUnit.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceUnit.h new file mode 100644 index 00000000000..001b0aad71e --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceUnit.h @@ -0,0 +1,167 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + + /** + *

        An invoice unit is a set of mutually exclusive accounts that correspond to + * your business entity. Invoice units allow you separate Amazon Web Services + * account costs and configures your invoice for each business entity going + * forward.

        See Also:

        AWS + * API Reference

        + */ + class InvoiceUnit + { + public: + AWS_INVOICING_API InvoiceUnit(); + AWS_INVOICING_API InvoiceUnit(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API InvoiceUnit& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        ARN to identify an invoice unit. This information can't be modified or + * deleted.

        + */ + inline const Aws::String& GetInvoiceUnitArn() const{ return m_invoiceUnitArn; } + inline bool InvoiceUnitArnHasBeenSet() const { return m_invoiceUnitArnHasBeenSet; } + inline void SetInvoiceUnitArn(const Aws::String& value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn = value; } + inline void SetInvoiceUnitArn(Aws::String&& value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn = std::move(value); } + inline void SetInvoiceUnitArn(const char* value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn.assign(value); } + inline InvoiceUnit& WithInvoiceUnitArn(const Aws::String& value) { SetInvoiceUnitArn(value); return *this;} + inline InvoiceUnit& WithInvoiceUnitArn(Aws::String&& value) { SetInvoiceUnitArn(std::move(value)); return *this;} + inline InvoiceUnit& WithInvoiceUnitArn(const char* value) { SetInvoiceUnitArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The account that receives invoices related to the invoice unit.

        + */ + inline const Aws::String& GetInvoiceReceiver() const{ return m_invoiceReceiver; } + inline bool InvoiceReceiverHasBeenSet() const { return m_invoiceReceiverHasBeenSet; } + inline void SetInvoiceReceiver(const Aws::String& value) { m_invoiceReceiverHasBeenSet = true; m_invoiceReceiver = value; } + inline void SetInvoiceReceiver(Aws::String&& value) { m_invoiceReceiverHasBeenSet = true; m_invoiceReceiver = std::move(value); } + inline void SetInvoiceReceiver(const char* value) { m_invoiceReceiverHasBeenSet = true; m_invoiceReceiver.assign(value); } + inline InvoiceUnit& WithInvoiceReceiver(const Aws::String& value) { SetInvoiceReceiver(value); return *this;} + inline InvoiceUnit& WithInvoiceReceiver(Aws::String&& value) { SetInvoiceReceiver(std::move(value)); return *this;} + inline InvoiceUnit& WithInvoiceReceiver(const char* value) { SetInvoiceReceiver(value); return *this;} + ///@} + + ///@{ + /** + *

        A unique name that is distinctive within your Amazon Web Services.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline InvoiceUnit& WithName(const Aws::String& value) { SetName(value); return *this;} + inline InvoiceUnit& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline InvoiceUnit& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The assigned description for an invoice unit. This information can't be + * modified or deleted.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline InvoiceUnit& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline InvoiceUnit& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline InvoiceUnit& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        Whether the invoice unit based tax inheritance is/ should be enabled or + * disabled.

        + */ + inline bool GetTaxInheritanceDisabled() const{ return m_taxInheritanceDisabled; } + inline bool TaxInheritanceDisabledHasBeenSet() const { return m_taxInheritanceDisabledHasBeenSet; } + inline void SetTaxInheritanceDisabled(bool value) { m_taxInheritanceDisabledHasBeenSet = true; m_taxInheritanceDisabled = value; } + inline InvoiceUnit& WithTaxInheritanceDisabled(bool value) { SetTaxInheritanceDisabled(value); return *this;} + ///@} + + ///@{ + /** + *

        An InvoiceUnitRule object used the categorize invoice units. + *

        + */ + inline const InvoiceUnitRule& GetRule() const{ return m_rule; } + inline bool RuleHasBeenSet() const { return m_ruleHasBeenSet; } + inline void SetRule(const InvoiceUnitRule& value) { m_ruleHasBeenSet = true; m_rule = value; } + inline void SetRule(InvoiceUnitRule&& value) { m_ruleHasBeenSet = true; m_rule = std::move(value); } + inline InvoiceUnit& WithRule(const InvoiceUnitRule& value) { SetRule(value); return *this;} + inline InvoiceUnit& WithRule(InvoiceUnitRule&& value) { SetRule(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The last time the invoice unit was updated. This is important to determine + * the version of invoice unit configuration used to create the invoices. Any + * invoice created after this modified time will use this invoice unit + * configuration.

        + */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } + inline InvoiceUnit& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + inline InvoiceUnit& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_invoiceUnitArn; + bool m_invoiceUnitArnHasBeenSet = false; + + Aws::String m_invoiceReceiver; + bool m_invoiceReceiverHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + bool m_taxInheritanceDisabled; + bool m_taxInheritanceDisabledHasBeenSet = false; + + InvoiceUnitRule m_rule; + bool m_ruleHasBeenSet = false; + + Aws::Utils::DateTime m_lastModified; + bool m_lastModifiedHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceUnitRule.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceUnitRule.h new file mode 100644 index 00000000000..76d8b563671 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/InvoiceUnitRule.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + + /** + *

        This is used to categorize the invoice unit. Values are Amazon Web Services + * account IDs. Currently, the only supported rule is LINKED_ACCOUNT. + *

        See Also:

        AWS + * API Reference

        + */ + class InvoiceUnitRule + { + public: + AWS_INVOICING_API InvoiceUnitRule(); + AWS_INVOICING_API InvoiceUnitRule(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API InvoiceUnitRule& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The list of LINKED_ACCOUNT IDs where charges are included within + * the invoice unit.

        + */ + inline const Aws::Vector& GetLinkedAccounts() const{ return m_linkedAccounts; } + inline bool LinkedAccountsHasBeenSet() const { return m_linkedAccountsHasBeenSet; } + inline void SetLinkedAccounts(const Aws::Vector& value) { m_linkedAccountsHasBeenSet = true; m_linkedAccounts = value; } + inline void SetLinkedAccounts(Aws::Vector&& value) { m_linkedAccountsHasBeenSet = true; m_linkedAccounts = std::move(value); } + inline InvoiceUnitRule& WithLinkedAccounts(const Aws::Vector& value) { SetLinkedAccounts(value); return *this;} + inline InvoiceUnitRule& WithLinkedAccounts(Aws::Vector&& value) { SetLinkedAccounts(std::move(value)); return *this;} + inline InvoiceUnitRule& AddLinkedAccounts(const Aws::String& value) { m_linkedAccountsHasBeenSet = true; m_linkedAccounts.push_back(value); return *this; } + inline InvoiceUnitRule& AddLinkedAccounts(Aws::String&& value) { m_linkedAccountsHasBeenSet = true; m_linkedAccounts.push_back(std::move(value)); return *this; } + inline InvoiceUnitRule& AddLinkedAccounts(const char* value) { m_linkedAccountsHasBeenSet = true; m_linkedAccounts.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_linkedAccounts; + bool m_linkedAccountsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListInvoiceUnitsRequest.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListInvoiceUnitsRequest.h new file mode 100644 index 00000000000..fa6d6fe9c9c --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListInvoiceUnitsRequest.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + + /** + */ + class ListInvoiceUnitsRequest : public InvoicingRequest + { + public: + AWS_INVOICING_API ListInvoiceUnitsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListInvoiceUnits"; } + + AWS_INVOICING_API Aws::String SerializePayload() const override; + + AWS_INVOICING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        An optional input to the list API. If multiple filters are specified, the + * returned list will be a configuration that match all of the provided filters. + * Supported filter types are InvoiceReceivers, Names, + * and Accounts.

        + */ + inline const Filters& GetFilters() const{ return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + inline void SetFilters(const Filters& value) { m_filtersHasBeenSet = true; m_filters = value; } + inline void SetFilters(Filters&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } + inline ListInvoiceUnitsRequest& WithFilters(const Filters& value) { SetFilters(value); return *this;} + inline ListInvoiceUnitsRequest& WithFilters(Filters&& value) { SetFilters(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The next token used to indicate where the returned list should start from. + *

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListInvoiceUnitsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListInvoiceUnitsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListInvoiceUnitsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The maximum number of invoice units that can be returned.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListInvoiceUnitsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

        The state of an invoice unit at a specified time. You can see legacy invoice + * units that are currently deleted if the AsOf time is set to before + * it was deleted. If an AsOf is not provided, the default value is + * the current time.

        + */ + inline const Aws::Utils::DateTime& GetAsOf() const{ return m_asOf; } + inline bool AsOfHasBeenSet() const { return m_asOfHasBeenSet; } + inline void SetAsOf(const Aws::Utils::DateTime& value) { m_asOfHasBeenSet = true; m_asOf = value; } + inline void SetAsOf(Aws::Utils::DateTime&& value) { m_asOfHasBeenSet = true; m_asOf = std::move(value); } + inline ListInvoiceUnitsRequest& WithAsOf(const Aws::Utils::DateTime& value) { SetAsOf(value); return *this;} + inline ListInvoiceUnitsRequest& WithAsOf(Aws::Utils::DateTime&& value) { SetAsOf(std::move(value)); return *this;} + ///@} + private: + + Filters m_filters; + bool m_filtersHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::Utils::DateTime m_asOf; + bool m_asOfHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListInvoiceUnitsResult.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListInvoiceUnitsResult.h new file mode 100644 index 00000000000..962d3754a32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListInvoiceUnitsResult.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + class ListInvoiceUnitsResult + { + public: + AWS_INVOICING_API ListInvoiceUnitsResult(); + AWS_INVOICING_API ListInvoiceUnitsResult(const Aws::AmazonWebServiceResult& result); + AWS_INVOICING_API ListInvoiceUnitsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        An invoice unit is a set of mutually exclusive accounts that correspond to + * your business entity.

        + */ + inline const Aws::Vector& GetInvoiceUnits() const{ return m_invoiceUnits; } + inline void SetInvoiceUnits(const Aws::Vector& value) { m_invoiceUnits = value; } + inline void SetInvoiceUnits(Aws::Vector&& value) { m_invoiceUnits = std::move(value); } + inline ListInvoiceUnitsResult& WithInvoiceUnits(const Aws::Vector& value) { SetInvoiceUnits(value); return *this;} + inline ListInvoiceUnitsResult& WithInvoiceUnits(Aws::Vector&& value) { SetInvoiceUnits(std::move(value)); return *this;} + inline ListInvoiceUnitsResult& AddInvoiceUnits(const InvoiceUnit& value) { m_invoiceUnits.push_back(value); return *this; } + inline ListInvoiceUnitsResult& AddInvoiceUnits(InvoiceUnit&& value) { m_invoiceUnits.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The next token used to indicate where the returned list should start from. + *

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListInvoiceUnitsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListInvoiceUnitsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListInvoiceUnitsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListInvoiceUnitsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListInvoiceUnitsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListInvoiceUnitsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_invoiceUnits; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..f7fdb9c2fc2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListTagsForResourceRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public InvoicingRequest + { + public: + AWS_INVOICING_API ListTagsForResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; } + + AWS_INVOICING_API Aws::String SerializePayload() const override; + + AWS_INVOICING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of tags to list.

        + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..cd49d15a705 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ListTagsForResourceResult.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_INVOICING_API ListTagsForResourceResult(); + AWS_INVOICING_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_INVOICING_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Adds a tag to a resource.

        + */ + inline const Aws::Vector& GetResourceTags() const{ return m_resourceTags; } + inline void SetResourceTags(const Aws::Vector& value) { m_resourceTags = value; } + inline void SetResourceTags(Aws::Vector&& value) { m_resourceTags = std::move(value); } + inline ListTagsForResourceResult& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} + inline ListTagsForResourceResult& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} + inline ListTagsForResourceResult& AddResourceTags(const ResourceTag& value) { m_resourceTags.push_back(value); return *this; } + inline ListTagsForResourceResult& AddResourceTags(ResourceTag&& value) { m_resourceTags.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListTagsForResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListTagsForResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListTagsForResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_resourceTags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ReceiverAddress.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ReceiverAddress.h new file mode 100644 index 00000000000..9644df284c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ReceiverAddress.h @@ -0,0 +1,198 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + + /** + *

        The details of the address associated with the receiver.

        See + * Also:

        AWS + * API Reference

        + */ + class ReceiverAddress + { + public: + AWS_INVOICING_API ReceiverAddress(); + AWS_INVOICING_API ReceiverAddress(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API ReceiverAddress& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The first line of the address.

        + */ + inline const Aws::String& GetAddressLine1() const{ return m_addressLine1; } + inline bool AddressLine1HasBeenSet() const { return m_addressLine1HasBeenSet; } + inline void SetAddressLine1(const Aws::String& value) { m_addressLine1HasBeenSet = true; m_addressLine1 = value; } + inline void SetAddressLine1(Aws::String&& value) { m_addressLine1HasBeenSet = true; m_addressLine1 = std::move(value); } + inline void SetAddressLine1(const char* value) { m_addressLine1HasBeenSet = true; m_addressLine1.assign(value); } + inline ReceiverAddress& WithAddressLine1(const Aws::String& value) { SetAddressLine1(value); return *this;} + inline ReceiverAddress& WithAddressLine1(Aws::String&& value) { SetAddressLine1(std::move(value)); return *this;} + inline ReceiverAddress& WithAddressLine1(const char* value) { SetAddressLine1(value); return *this;} + ///@} + + ///@{ + /** + *

        The second line of the address, if applicable.

        + */ + inline const Aws::String& GetAddressLine2() const{ return m_addressLine2; } + inline bool AddressLine2HasBeenSet() const { return m_addressLine2HasBeenSet; } + inline void SetAddressLine2(const Aws::String& value) { m_addressLine2HasBeenSet = true; m_addressLine2 = value; } + inline void SetAddressLine2(Aws::String&& value) { m_addressLine2HasBeenSet = true; m_addressLine2 = std::move(value); } + inline void SetAddressLine2(const char* value) { m_addressLine2HasBeenSet = true; m_addressLine2.assign(value); } + inline ReceiverAddress& WithAddressLine2(const Aws::String& value) { SetAddressLine2(value); return *this;} + inline ReceiverAddress& WithAddressLine2(Aws::String&& value) { SetAddressLine2(std::move(value)); return *this;} + inline ReceiverAddress& WithAddressLine2(const char* value) { SetAddressLine2(value); return *this;} + ///@} + + ///@{ + /** + *

        The third line of the address, if applicable.

        + */ + inline const Aws::String& GetAddressLine3() const{ return m_addressLine3; } + inline bool AddressLine3HasBeenSet() const { return m_addressLine3HasBeenSet; } + inline void SetAddressLine3(const Aws::String& value) { m_addressLine3HasBeenSet = true; m_addressLine3 = value; } + inline void SetAddressLine3(Aws::String&& value) { m_addressLine3HasBeenSet = true; m_addressLine3 = std::move(value); } + inline void SetAddressLine3(const char* value) { m_addressLine3HasBeenSet = true; m_addressLine3.assign(value); } + inline ReceiverAddress& WithAddressLine3(const Aws::String& value) { SetAddressLine3(value); return *this;} + inline ReceiverAddress& WithAddressLine3(Aws::String&& value) { SetAddressLine3(std::move(value)); return *this;} + inline ReceiverAddress& WithAddressLine3(const char* value) { SetAddressLine3(value); return *this;} + ///@} + + ///@{ + /** + *

        The district or country the address is located in.

        + */ + inline const Aws::String& GetDistrictOrCounty() const{ return m_districtOrCounty; } + inline bool DistrictOrCountyHasBeenSet() const { return m_districtOrCountyHasBeenSet; } + inline void SetDistrictOrCounty(const Aws::String& value) { m_districtOrCountyHasBeenSet = true; m_districtOrCounty = value; } + inline void SetDistrictOrCounty(Aws::String&& value) { m_districtOrCountyHasBeenSet = true; m_districtOrCounty = std::move(value); } + inline void SetDistrictOrCounty(const char* value) { m_districtOrCountyHasBeenSet = true; m_districtOrCounty.assign(value); } + inline ReceiverAddress& WithDistrictOrCounty(const Aws::String& value) { SetDistrictOrCounty(value); return *this;} + inline ReceiverAddress& WithDistrictOrCounty(Aws::String&& value) { SetDistrictOrCounty(std::move(value)); return *this;} + inline ReceiverAddress& WithDistrictOrCounty(const char* value) { SetDistrictOrCounty(value); return *this;} + ///@} + + ///@{ + /** + *

        The city that the address is in.

        + */ + inline const Aws::String& GetCity() const{ return m_city; } + inline bool CityHasBeenSet() const { return m_cityHasBeenSet; } + inline void SetCity(const Aws::String& value) { m_cityHasBeenSet = true; m_city = value; } + inline void SetCity(Aws::String&& value) { m_cityHasBeenSet = true; m_city = std::move(value); } + inline void SetCity(const char* value) { m_cityHasBeenSet = true; m_city.assign(value); } + inline ReceiverAddress& WithCity(const Aws::String& value) { SetCity(value); return *this;} + inline ReceiverAddress& WithCity(Aws::String&& value) { SetCity(std::move(value)); return *this;} + inline ReceiverAddress& WithCity(const char* value) { SetCity(value); return *this;} + ///@} + + ///@{ + /** + *

        The state, region, or province the address is located.

        + */ + inline const Aws::String& GetStateOrRegion() const{ return m_stateOrRegion; } + inline bool StateOrRegionHasBeenSet() const { return m_stateOrRegionHasBeenSet; } + inline void SetStateOrRegion(const Aws::String& value) { m_stateOrRegionHasBeenSet = true; m_stateOrRegion = value; } + inline void SetStateOrRegion(Aws::String&& value) { m_stateOrRegionHasBeenSet = true; m_stateOrRegion = std::move(value); } + inline void SetStateOrRegion(const char* value) { m_stateOrRegionHasBeenSet = true; m_stateOrRegion.assign(value); } + inline ReceiverAddress& WithStateOrRegion(const Aws::String& value) { SetStateOrRegion(value); return *this;} + inline ReceiverAddress& WithStateOrRegion(Aws::String&& value) { SetStateOrRegion(std::move(value)); return *this;} + inline ReceiverAddress& WithStateOrRegion(const char* value) { SetStateOrRegion(value); return *this;} + ///@} + + ///@{ + /** + *

        The country code for the country the address is in.

        + */ + inline const Aws::String& GetCountryCode() const{ return m_countryCode; } + inline bool CountryCodeHasBeenSet() const { return m_countryCodeHasBeenSet; } + inline void SetCountryCode(const Aws::String& value) { m_countryCodeHasBeenSet = true; m_countryCode = value; } + inline void SetCountryCode(Aws::String&& value) { m_countryCodeHasBeenSet = true; m_countryCode = std::move(value); } + inline void SetCountryCode(const char* value) { m_countryCodeHasBeenSet = true; m_countryCode.assign(value); } + inline ReceiverAddress& WithCountryCode(const Aws::String& value) { SetCountryCode(value); return *this;} + inline ReceiverAddress& WithCountryCode(Aws::String&& value) { SetCountryCode(std::move(value)); return *this;} + inline ReceiverAddress& WithCountryCode(const char* value) { SetCountryCode(value); return *this;} + ///@} + + ///@{ + /** + *

        A unique company name.

        + */ + inline const Aws::String& GetCompanyName() const{ return m_companyName; } + inline bool CompanyNameHasBeenSet() const { return m_companyNameHasBeenSet; } + inline void SetCompanyName(const Aws::String& value) { m_companyNameHasBeenSet = true; m_companyName = value; } + inline void SetCompanyName(Aws::String&& value) { m_companyNameHasBeenSet = true; m_companyName = std::move(value); } + inline void SetCompanyName(const char* value) { m_companyNameHasBeenSet = true; m_companyName.assign(value); } + inline ReceiverAddress& WithCompanyName(const Aws::String& value) { SetCompanyName(value); return *this;} + inline ReceiverAddress& WithCompanyName(Aws::String&& value) { SetCompanyName(std::move(value)); return *this;} + inline ReceiverAddress& WithCompanyName(const char* value) { SetCompanyName(value); return *this;} + ///@} + + ///@{ + /** + *

        The postal code associated with the address.

        + */ + inline const Aws::String& GetPostalCode() const{ return m_postalCode; } + inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } + inline void SetPostalCode(const Aws::String& value) { m_postalCodeHasBeenSet = true; m_postalCode = value; } + inline void SetPostalCode(Aws::String&& value) { m_postalCodeHasBeenSet = true; m_postalCode = std::move(value); } + inline void SetPostalCode(const char* value) { m_postalCodeHasBeenSet = true; m_postalCode.assign(value); } + inline ReceiverAddress& WithPostalCode(const Aws::String& value) { SetPostalCode(value); return *this;} + inline ReceiverAddress& WithPostalCode(Aws::String&& value) { SetPostalCode(std::move(value)); return *this;} + inline ReceiverAddress& WithPostalCode(const char* value) { SetPostalCode(value); return *this;} + ///@} + private: + + Aws::String m_addressLine1; + bool m_addressLine1HasBeenSet = false; + + Aws::String m_addressLine2; + bool m_addressLine2HasBeenSet = false; + + Aws::String m_addressLine3; + bool m_addressLine3HasBeenSet = false; + + Aws::String m_districtOrCounty; + bool m_districtOrCountyHasBeenSet = false; + + Aws::String m_city; + bool m_cityHasBeenSet = false; + + Aws::String m_stateOrRegion; + bool m_stateOrRegionHasBeenSet = false; + + Aws::String m_countryCode; + bool m_countryCodeHasBeenSet = false; + + Aws::String m_companyName; + bool m_companyNameHasBeenSet = false; + + Aws::String m_postalCode; + bool m_postalCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ResourceNotFoundException.h new file mode 100644 index 00000000000..71f736ef623 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ResourceNotFoundException.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + + /** + *

        The resource could not be found.

        See Also:

        AWS + * API Reference

        + */ + class ResourceNotFoundException + { + public: + AWS_INVOICING_API ResourceNotFoundException(); + AWS_INVOICING_API ResourceNotFoundException(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API ResourceNotFoundException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ResourceNotFoundException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ResourceNotFoundException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ResourceNotFoundException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

        The resource could not be found.

        + */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + inline ResourceNotFoundException& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + inline ResourceNotFoundException& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + inline ResourceNotFoundException& WithResourceName(const char* value) { SetResourceName(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ResourceTag.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ResourceTag.h new file mode 100644 index 00000000000..37fafa128a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ResourceTag.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + + /** + *

        The tag structure that contains a tag key and value.

        See + * Also:

        AWS + * API Reference

        + */ + class ResourceTag + { + public: + AWS_INVOICING_API ResourceTag(); + AWS_INVOICING_API ResourceTag(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API ResourceTag& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The object key of your of your resource tag.

        + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline ResourceTag& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline ResourceTag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline ResourceTag& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

        The specific value of the resource tag.

        + */ + inline const Aws::String& GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + inline ResourceTag& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline ResourceTag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline ResourceTag& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/TagResourceRequest.h new file mode 100644 index 00000000000..daaa7c8123a --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/TagResourceRequest.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public InvoicingRequest + { + public: + AWS_INVOICING_API TagResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TagResource"; } + + AWS_INVOICING_API Aws::String SerializePayload() const override; + + AWS_INVOICING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the tags.

        + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Adds a tag to a resource.

        + */ + inline const Aws::Vector& GetResourceTags() const{ return m_resourceTags; } + inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } + inline void SetResourceTags(const Aws::Vector& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = value; } + inline void SetResourceTags(Aws::Vector&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::move(value); } + inline TagResourceRequest& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} + inline TagResourceRequest& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} + inline TagResourceRequest& AddResourceTags(const ResourceTag& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(value); return *this; } + inline TagResourceRequest& AddResourceTags(ResourceTag&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_resourceTags; + bool m_resourceTagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/TagResourceResult.h new file mode 100644 index 00000000000..c28249b9f2d --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/TagResourceResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + class TagResourceResult + { + public: + AWS_INVOICING_API TagResourceResult(); + AWS_INVOICING_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_INVOICING_API TagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UntagResourceRequest.h new file mode 100644 index 00000000000..31371bfb8c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UntagResourceRequest.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public InvoicingRequest + { + public: + AWS_INVOICING_API UntagResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; } + + AWS_INVOICING_API Aws::String SerializePayload() const override; + + AWS_INVOICING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) to untag.

        + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Keys for the tags to be removed.

        + */ + inline const Aws::Vector& GetResourceTagKeys() const{ return m_resourceTagKeys; } + inline bool ResourceTagKeysHasBeenSet() const { return m_resourceTagKeysHasBeenSet; } + inline void SetResourceTagKeys(const Aws::Vector& value) { m_resourceTagKeysHasBeenSet = true; m_resourceTagKeys = value; } + inline void SetResourceTagKeys(Aws::Vector&& value) { m_resourceTagKeysHasBeenSet = true; m_resourceTagKeys = std::move(value); } + inline UntagResourceRequest& WithResourceTagKeys(const Aws::Vector& value) { SetResourceTagKeys(value); return *this;} + inline UntagResourceRequest& WithResourceTagKeys(Aws::Vector&& value) { SetResourceTagKeys(std::move(value)); return *this;} + inline UntagResourceRequest& AddResourceTagKeys(const Aws::String& value) { m_resourceTagKeysHasBeenSet = true; m_resourceTagKeys.push_back(value); return *this; } + inline UntagResourceRequest& AddResourceTagKeys(Aws::String&& value) { m_resourceTagKeysHasBeenSet = true; m_resourceTagKeys.push_back(std::move(value)); return *this; } + inline UntagResourceRequest& AddResourceTagKeys(const char* value) { m_resourceTagKeysHasBeenSet = true; m_resourceTagKeys.push_back(value); return *this; } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_resourceTagKeys; + bool m_resourceTagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UntagResourceResult.h new file mode 100644 index 00000000000..e64e8e20b19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UntagResourceResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + class UntagResourceResult + { + public: + AWS_INVOICING_API UntagResourceResult(); + AWS_INVOICING_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_INVOICING_API UntagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UntagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UntagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UntagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UpdateInvoiceUnitRequest.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UpdateInvoiceUnitRequest.h new file mode 100644 index 00000000000..357876e7831 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UpdateInvoiceUnitRequest.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + + /** + */ + class UpdateInvoiceUnitRequest : public InvoicingRequest + { + public: + AWS_INVOICING_API UpdateInvoiceUnitRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateInvoiceUnit"; } + + AWS_INVOICING_API Aws::String SerializePayload() const override; + + AWS_INVOICING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The ARN to identify an invoice unit. This information can't be modified or + * deleted.

        + */ + inline const Aws::String& GetInvoiceUnitArn() const{ return m_invoiceUnitArn; } + inline bool InvoiceUnitArnHasBeenSet() const { return m_invoiceUnitArnHasBeenSet; } + inline void SetInvoiceUnitArn(const Aws::String& value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn = value; } + inline void SetInvoiceUnitArn(Aws::String&& value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn = std::move(value); } + inline void SetInvoiceUnitArn(const char* value) { m_invoiceUnitArnHasBeenSet = true; m_invoiceUnitArn.assign(value); } + inline UpdateInvoiceUnitRequest& WithInvoiceUnitArn(const Aws::String& value) { SetInvoiceUnitArn(value); return *this;} + inline UpdateInvoiceUnitRequest& WithInvoiceUnitArn(Aws::String&& value) { SetInvoiceUnitArn(std::move(value)); return *this;} + inline UpdateInvoiceUnitRequest& WithInvoiceUnitArn(const char* value) { SetInvoiceUnitArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The assigned description for an invoice unit. This information can't be + * modified or deleted.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline UpdateInvoiceUnitRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline UpdateInvoiceUnitRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline UpdateInvoiceUnitRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        Whether the invoice unit based tax inheritance is/ should be enabled or + * disabled.

        + */ + inline bool GetTaxInheritanceDisabled() const{ return m_taxInheritanceDisabled; } + inline bool TaxInheritanceDisabledHasBeenSet() const { return m_taxInheritanceDisabledHasBeenSet; } + inline void SetTaxInheritanceDisabled(bool value) { m_taxInheritanceDisabledHasBeenSet = true; m_taxInheritanceDisabled = value; } + inline UpdateInvoiceUnitRequest& WithTaxInheritanceDisabled(bool value) { SetTaxInheritanceDisabled(value); return *this;} + ///@} + + ///@{ + /** + *

        The InvoiceUnitRule object used to update invoice units.

        + */ + inline const InvoiceUnitRule& GetRule() const{ return m_rule; } + inline bool RuleHasBeenSet() const { return m_ruleHasBeenSet; } + inline void SetRule(const InvoiceUnitRule& value) { m_ruleHasBeenSet = true; m_rule = value; } + inline void SetRule(InvoiceUnitRule&& value) { m_ruleHasBeenSet = true; m_rule = std::move(value); } + inline UpdateInvoiceUnitRequest& WithRule(const InvoiceUnitRule& value) { SetRule(value); return *this;} + inline UpdateInvoiceUnitRequest& WithRule(InvoiceUnitRule&& value) { SetRule(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_invoiceUnitArn; + bool m_invoiceUnitArnHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + bool m_taxInheritanceDisabled; + bool m_taxInheritanceDisabledHasBeenSet = false; + + InvoiceUnitRule m_rule; + bool m_ruleHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UpdateInvoiceUnitResult.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UpdateInvoiceUnitResult.h new file mode 100644 index 00000000000..055b95baa71 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/UpdateInvoiceUnitResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + class UpdateInvoiceUnitResult + { + public: + AWS_INVOICING_API UpdateInvoiceUnitResult(); + AWS_INVOICING_API UpdateInvoiceUnitResult(const Aws::AmazonWebServiceResult& result); + AWS_INVOICING_API UpdateInvoiceUnitResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The ARN to identify an invoice unit. This information can't be modified or + * deleted.

        + */ + inline const Aws::String& GetInvoiceUnitArn() const{ return m_invoiceUnitArn; } + inline void SetInvoiceUnitArn(const Aws::String& value) { m_invoiceUnitArn = value; } + inline void SetInvoiceUnitArn(Aws::String&& value) { m_invoiceUnitArn = std::move(value); } + inline void SetInvoiceUnitArn(const char* value) { m_invoiceUnitArn.assign(value); } + inline UpdateInvoiceUnitResult& WithInvoiceUnitArn(const Aws::String& value) { SetInvoiceUnitArn(value); return *this;} + inline UpdateInvoiceUnitResult& WithInvoiceUnitArn(Aws::String&& value) { SetInvoiceUnitArn(std::move(value)); return *this;} + inline UpdateInvoiceUnitResult& WithInvoiceUnitArn(const char* value) { SetInvoiceUnitArn(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateInvoiceUnitResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateInvoiceUnitResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateInvoiceUnitResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_invoiceUnitArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationException.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationException.h new file mode 100644 index 00000000000..55aad0cb0f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationException.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + + /** + *

        The input fails to satisfy the constraints specified by an Amazon Web + * Services service.

        See Also:

        AWS + * API Reference

        + */ + class ValidationException + { + public: + AWS_INVOICING_API ValidationException(); + AWS_INVOICING_API ValidationException(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API ValidationException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

        You don't have sufficient access to perform this action.

        + */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + inline ValidationException& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + inline ValidationException& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + inline ValidationException& WithResourceName(const char* value) { SetResourceName(value); return *this;} + ///@} + + ///@{ + /** + *

        You don't have sufficient access to perform this action.

        + */ + inline const ValidationExceptionReason& GetReason() const{ return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(const ValidationExceptionReason& value) { m_reasonHasBeenSet = true; m_reason = value; } + inline void SetReason(ValidationExceptionReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + inline ValidationException& WithReason(const ValidationExceptionReason& value) { SetReason(value); return *this;} + inline ValidationException& WithReason(ValidationExceptionReason&& value) { SetReason(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The input fails to satisfy the constraints specified by an Amazon Web + * Services service.

        + */ + inline const Aws::Vector& GetFieldList() const{ return m_fieldList; } + inline bool FieldListHasBeenSet() const { return m_fieldListHasBeenSet; } + inline void SetFieldList(const Aws::Vector& value) { m_fieldListHasBeenSet = true; m_fieldList = value; } + inline void SetFieldList(Aws::Vector&& value) { m_fieldListHasBeenSet = true; m_fieldList = std::move(value); } + inline ValidationException& WithFieldList(const Aws::Vector& value) { SetFieldList(value); return *this;} + inline ValidationException& WithFieldList(Aws::Vector&& value) { SetFieldList(std::move(value)); return *this;} + inline ValidationException& AddFieldList(const ValidationExceptionField& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(value); return *this; } + inline ValidationException& AddFieldList(ValidationExceptionField&& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + + ValidationExceptionReason m_reason; + bool m_reasonHasBeenSet = false; + + Aws::Vector m_fieldList; + bool m_fieldListHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationExceptionField.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationExceptionField.h new file mode 100644 index 00000000000..4cdcfcf60cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationExceptionField.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Invoicing +{ +namespace Model +{ + + /** + *

        The input fails to satisfy the constraints specified by an Amazon Web + * Services service.

        See Also:

        AWS + * API Reference

        + */ + class ValidationExceptionField + { + public: + AWS_INVOICING_API ValidationExceptionField(); + AWS_INVOICING_API ValidationExceptionField(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API ValidationExceptionField& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INVOICING_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The input fails to satisfy the constraints specified by an Amazon Web + * Services service.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline ValidationExceptionField& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ValidationExceptionField& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ValidationExceptionField& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The input fails to satisfy the constraints specified by an Amazon Web + * Services service.

        + */ + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationExceptionField& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationExceptionField& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationExceptionField& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..86af4f369d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/model/ValidationExceptionReason.h @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + nonMemberPresent, + maxAccountsExceeded, + maxInvoiceUnitsExceeded, + duplicateInvoiceUnit, + mutualExclusionError, + accountMembershipError, + taxSettingsError, + expiredNextToken, + invalidNextToken, + invalidInput, + fieldValidationFailed, + cannotParse, + unknownOperation, + other + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_INVOICING_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_INVOICING_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/InvoicingClient.cpp b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingClient.cpp new file mode 100644 index 00000000000..0641f067d42 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingClient.cpp @@ -0,0 +1,409 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::Invoicing; +using namespace Aws::Invoicing::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace Invoicing + { + const char SERVICE_NAME[] = "invoicing"; + const char ALLOCATION_TAG[] = "InvoicingClient"; + } +} +const char* InvoicingClient::GetServiceName() {return SERVICE_NAME;} +const char* InvoicingClient::GetAllocationTag() {return ALLOCATION_TAG;} + +InvoicingClient::InvoicingClient(const Invoicing::InvoicingClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +InvoicingClient::InvoicingClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const Invoicing::InvoicingClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +InvoicingClient::InvoicingClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const Invoicing::InvoicingClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + InvoicingClient::InvoicingClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +InvoicingClient::InvoicingClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +InvoicingClient::InvoicingClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +InvoicingClient::~InvoicingClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& InvoicingClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void InvoicingClient::init(const Invoicing::InvoicingClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Invoicing"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void InvoicingClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +BatchGetInvoiceProfileOutcome InvoicingClient::BatchGetInvoiceProfile(const BatchGetInvoiceProfileRequest& request) const +{ + AWS_OPERATION_GUARD(BatchGetInvoiceProfile); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, BatchGetInvoiceProfile, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, BatchGetInvoiceProfile, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, BatchGetInvoiceProfile, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".BatchGetInvoiceProfile", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> BatchGetInvoiceProfileOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, BatchGetInvoiceProfile, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return BatchGetInvoiceProfileOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateInvoiceUnitOutcome InvoicingClient::CreateInvoiceUnit(const CreateInvoiceUnitRequest& request) const +{ + AWS_OPERATION_GUARD(CreateInvoiceUnit); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateInvoiceUnit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateInvoiceUnit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateInvoiceUnit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateInvoiceUnit", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateInvoiceUnitOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateInvoiceUnit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateInvoiceUnitOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteInvoiceUnitOutcome InvoicingClient::DeleteInvoiceUnit(const DeleteInvoiceUnitRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteInvoiceUnit); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteInvoiceUnit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteInvoiceUnit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteInvoiceUnit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteInvoiceUnit", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteInvoiceUnitOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteInvoiceUnit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteInvoiceUnitOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetInvoiceUnitOutcome InvoicingClient::GetInvoiceUnit(const GetInvoiceUnitRequest& request) const +{ + AWS_OPERATION_GUARD(GetInvoiceUnit); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetInvoiceUnit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetInvoiceUnit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetInvoiceUnit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetInvoiceUnit", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetInvoiceUnitOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetInvoiceUnit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetInvoiceUnitOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListInvoiceUnitsOutcome InvoicingClient::ListInvoiceUnits(const ListInvoiceUnitsRequest& request) const +{ + AWS_OPERATION_GUARD(ListInvoiceUnits); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListInvoiceUnits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListInvoiceUnits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListInvoiceUnits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListInvoiceUnits", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListInvoiceUnitsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListInvoiceUnits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListInvoiceUnitsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListTagsForResourceOutcome InvoicingClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTagsForResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListTagsForResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TagResourceOutcome InvoicingClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return TagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UntagResourceOutcome InvoicingClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UntagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UntagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateInvoiceUnitOutcome InvoicingClient::UpdateInvoiceUnit(const UpdateInvoiceUnitRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateInvoiceUnit); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateInvoiceUnit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateInvoiceUnit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateInvoiceUnit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateInvoiceUnit", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateInvoiceUnitOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateInvoiceUnit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateInvoiceUnitOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointProvider.cpp new file mode 100644 index 00000000000..93c76102d8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace Invoicing +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointRules.cpp b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointRules.cpp new file mode 100644 index 00000000000..5d6b9ca382b --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointRules.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace Invoicing +{ +const size_t InvoicingEndpointRules::RulesBlobStrLen = 1868; +const size_t InvoicingEndpointRules::RulesBlobSize = 1869; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','U','s','e','F','I','P','S','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e','q','u','i','r','e', +'d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e', +',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ','t','o',' ','t','h', +'e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g','i','o','n','a','l', +' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o','n','f','i','g','u', +'r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o','t',' ','h','a','v', +'e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e','n','d','p','o','i', +'n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e', +'s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"', +',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','E','n','d','p','o', +'i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K',':',':','E','n','d', +'p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r','r','i','d','e',' ', +'t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o',' ','s','e','n','d', +' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e','"',':','"','S','t', +'r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d', +'"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"', +'T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i', +'s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p', +'e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a', +'n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o', +'t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','i','n','v','o','i','c','i','n','g','-','f', +'i','p','s','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','i','m','p','l', +'i','c','i','t','G','l','o','b','a','l','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','i','m','p','l','i','c','i','t','G','l','o','b','a','l','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','i','n','v','o','i','c','i','n','g','.','{','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','i','m','p','l','i','c','i','t','G','l', +'o','b','a','l','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','i','m','p','l','i','c','i','t','G','l','o','b','a','l','R','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n', +'g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* InvoicingEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/InvoicingErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingErrorMarshaller.cpp new file mode 100644 index 00000000000..1df6d524e41 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Invoicing; + +AWSError InvoicingErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = InvoicingErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-invoicing/source/InvoicingErrors.cpp b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingErrors.cpp new file mode 100644 index 00000000000..c6722b9f06c --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingErrors.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::Invoicing; +using namespace Aws::Invoicing::Model; + +namespace Aws +{ +namespace Invoicing +{ +template<> AWS_INVOICING_API InternalServerException InvoicingError::GetModeledError() +{ + assert(this->GetErrorType() == InvoicingErrors::INTERNAL_SERVER); + return InternalServerException(this->GetJsonPayload().View()); +} + +template<> AWS_INVOICING_API ResourceNotFoundException InvoicingError::GetModeledError() +{ + assert(this->GetErrorType() == InvoicingErrors::RESOURCE_NOT_FOUND); + return ResourceNotFoundException(this->GetJsonPayload().View()); +} + +template<> AWS_INVOICING_API ValidationException InvoicingError::GetModeledError() +{ + assert(this->GetErrorType() == InvoicingErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +template<> AWS_INVOICING_API AccessDeniedException InvoicingError::GetModeledError() +{ + assert(this->GetErrorType() == InvoicingErrors::ACCESS_DENIED); + return AccessDeniedException(this->GetJsonPayload().View()); +} + +namespace InvoicingErrorMapper +{ + +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(InvoicingErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(InvoicingErrors::INTERNAL_SERVER), RetryableType::NOT_RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace InvoicingErrorMapper +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/InvoicingRequest.cpp b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingRequest.cpp new file mode 100644 index 00000000000..6d32462bfd0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace Invoicing +{ +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/AccessDeniedException.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/AccessDeniedException.cpp new file mode 100644 index 00000000000..2d395b862ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/AccessDeniedException.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + +AccessDeniedException::AccessDeniedException() : + m_messageHasBeenSet(false), + m_resourceNameHasBeenSet(false) +{ +} + +AccessDeniedException::AccessDeniedException(JsonView jsonValue) + : AccessDeniedException() +{ + *this = jsonValue; +} + +AccessDeniedException& AccessDeniedException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceName")) + { + m_resourceName = jsonValue.GetString("resourceName"); + + m_resourceNameHasBeenSet = true; + } + + return *this; +} + +JsonValue AccessDeniedException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("resourceName", m_resourceName); + + } + + return payload; +} + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/BatchGetInvoiceProfileRequest.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/BatchGetInvoiceProfileRequest.cpp new file mode 100644 index 00000000000..2780e8e4935 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/BatchGetInvoiceProfileRequest.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +BatchGetInvoiceProfileRequest::BatchGetInvoiceProfileRequest() : + m_accountIdsHasBeenSet(false) +{ +} + +Aws::String BatchGetInvoiceProfileRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_accountIdsHasBeenSet) + { + Aws::Utils::Array accountIdsJsonList(m_accountIds.size()); + for(unsigned accountIdsIndex = 0; accountIdsIndex < accountIdsJsonList.GetLength(); ++accountIdsIndex) + { + accountIdsJsonList[accountIdsIndex].AsString(m_accountIds[accountIdsIndex]); + } + payload.WithArray("AccountIds", std::move(accountIdsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection BatchGetInvoiceProfileRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Invoicing.BatchGetInvoiceProfile")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/BatchGetInvoiceProfileResult.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/BatchGetInvoiceProfileResult.cpp new file mode 100644 index 00000000000..79e93d8ec1d --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/BatchGetInvoiceProfileResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +BatchGetInvoiceProfileResult::BatchGetInvoiceProfileResult() +{ +} + +BatchGetInvoiceProfileResult::BatchGetInvoiceProfileResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +BatchGetInvoiceProfileResult& BatchGetInvoiceProfileResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Profiles")) + { + Aws::Utils::Array profilesJsonList = jsonValue.GetArray("Profiles"); + for(unsigned profilesIndex = 0; profilesIndex < profilesJsonList.GetLength(); ++profilesIndex) + { + m_profiles.push_back(profilesJsonList[profilesIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/CreateInvoiceUnitRequest.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/CreateInvoiceUnitRequest.cpp new file mode 100644 index 00000000000..9c514cbe905 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/CreateInvoiceUnitRequest.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateInvoiceUnitRequest::CreateInvoiceUnitRequest() : + m_nameHasBeenSet(false), + m_invoiceReceiverHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_taxInheritanceDisabled(false), + m_taxInheritanceDisabledHasBeenSet(false), + m_ruleHasBeenSet(false), + m_resourceTagsHasBeenSet(false) +{ +} + +Aws::String CreateInvoiceUnitRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_invoiceReceiverHasBeenSet) + { + payload.WithString("InvoiceReceiver", m_invoiceReceiver); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_taxInheritanceDisabledHasBeenSet) + { + payload.WithBool("TaxInheritanceDisabled", m_taxInheritanceDisabled); + + } + + if(m_ruleHasBeenSet) + { + payload.WithObject("Rule", m_rule.Jsonize()); + + } + + if(m_resourceTagsHasBeenSet) + { + Aws::Utils::Array resourceTagsJsonList(m_resourceTags.size()); + for(unsigned resourceTagsIndex = 0; resourceTagsIndex < resourceTagsJsonList.GetLength(); ++resourceTagsIndex) + { + resourceTagsJsonList[resourceTagsIndex].AsObject(m_resourceTags[resourceTagsIndex].Jsonize()); + } + payload.WithArray("ResourceTags", std::move(resourceTagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateInvoiceUnitRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Invoicing.CreateInvoiceUnit")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/CreateInvoiceUnitResult.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/CreateInvoiceUnitResult.cpp new file mode 100644 index 00000000000..da5995dc922 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/CreateInvoiceUnitResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateInvoiceUnitResult::CreateInvoiceUnitResult() +{ +} + +CreateInvoiceUnitResult::CreateInvoiceUnitResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateInvoiceUnitResult& CreateInvoiceUnitResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("InvoiceUnitArn")) + { + m_invoiceUnitArn = jsonValue.GetString("InvoiceUnitArn"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/DeleteInvoiceUnitRequest.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/DeleteInvoiceUnitRequest.cpp new file mode 100644 index 00000000000..f53f398a8ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/DeleteInvoiceUnitRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteInvoiceUnitRequest::DeleteInvoiceUnitRequest() : + m_invoiceUnitArnHasBeenSet(false) +{ +} + +Aws::String DeleteInvoiceUnitRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_invoiceUnitArnHasBeenSet) + { + payload.WithString("InvoiceUnitArn", m_invoiceUnitArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteInvoiceUnitRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Invoicing.DeleteInvoiceUnit")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/DeleteInvoiceUnitResult.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/DeleteInvoiceUnitResult.cpp new file mode 100644 index 00000000000..5ccdaf08549 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/DeleteInvoiceUnitResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteInvoiceUnitResult::DeleteInvoiceUnitResult() +{ +} + +DeleteInvoiceUnitResult::DeleteInvoiceUnitResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteInvoiceUnitResult& DeleteInvoiceUnitResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("InvoiceUnitArn")) + { + m_invoiceUnitArn = jsonValue.GetString("InvoiceUnitArn"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/Filters.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/Filters.cpp new file mode 100644 index 00000000000..dadd8c68d88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/Filters.cpp @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + +Filters::Filters() : + m_namesHasBeenSet(false), + m_invoiceReceiversHasBeenSet(false), + m_accountsHasBeenSet(false) +{ +} + +Filters::Filters(JsonView jsonValue) + : Filters() +{ + *this = jsonValue; +} + +Filters& Filters::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Names")) + { + Aws::Utils::Array namesJsonList = jsonValue.GetArray("Names"); + for(unsigned namesIndex = 0; namesIndex < namesJsonList.GetLength(); ++namesIndex) + { + m_names.push_back(namesJsonList[namesIndex].AsString()); + } + m_namesHasBeenSet = true; + } + + if(jsonValue.ValueExists("InvoiceReceivers")) + { + Aws::Utils::Array invoiceReceiversJsonList = jsonValue.GetArray("InvoiceReceivers"); + for(unsigned invoiceReceiversIndex = 0; invoiceReceiversIndex < invoiceReceiversJsonList.GetLength(); ++invoiceReceiversIndex) + { + m_invoiceReceivers.push_back(invoiceReceiversJsonList[invoiceReceiversIndex].AsString()); + } + m_invoiceReceiversHasBeenSet = true; + } + + if(jsonValue.ValueExists("Accounts")) + { + Aws::Utils::Array accountsJsonList = jsonValue.GetArray("Accounts"); + for(unsigned accountsIndex = 0; accountsIndex < accountsJsonList.GetLength(); ++accountsIndex) + { + m_accounts.push_back(accountsJsonList[accountsIndex].AsString()); + } + m_accountsHasBeenSet = true; + } + + return *this; +} + +JsonValue Filters::Jsonize() const +{ + JsonValue payload; + + if(m_namesHasBeenSet) + { + Aws::Utils::Array namesJsonList(m_names.size()); + for(unsigned namesIndex = 0; namesIndex < namesJsonList.GetLength(); ++namesIndex) + { + namesJsonList[namesIndex].AsString(m_names[namesIndex]); + } + payload.WithArray("Names", std::move(namesJsonList)); + + } + + if(m_invoiceReceiversHasBeenSet) + { + Aws::Utils::Array invoiceReceiversJsonList(m_invoiceReceivers.size()); + for(unsigned invoiceReceiversIndex = 0; invoiceReceiversIndex < invoiceReceiversJsonList.GetLength(); ++invoiceReceiversIndex) + { + invoiceReceiversJsonList[invoiceReceiversIndex].AsString(m_invoiceReceivers[invoiceReceiversIndex]); + } + payload.WithArray("InvoiceReceivers", std::move(invoiceReceiversJsonList)); + + } + + if(m_accountsHasBeenSet) + { + Aws::Utils::Array accountsJsonList(m_accounts.size()); + for(unsigned accountsIndex = 0; accountsIndex < accountsJsonList.GetLength(); ++accountsIndex) + { + accountsJsonList[accountsIndex].AsString(m_accounts[accountsIndex]); + } + payload.WithArray("Accounts", std::move(accountsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/GetInvoiceUnitRequest.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/GetInvoiceUnitRequest.cpp new file mode 100644 index 00000000000..386388cc2c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/GetInvoiceUnitRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetInvoiceUnitRequest::GetInvoiceUnitRequest() : + m_invoiceUnitArnHasBeenSet(false), + m_asOfHasBeenSet(false) +{ +} + +Aws::String GetInvoiceUnitRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_invoiceUnitArnHasBeenSet) + { + payload.WithString("InvoiceUnitArn", m_invoiceUnitArn); + + } + + if(m_asOfHasBeenSet) + { + payload.WithDouble("AsOf", m_asOf.SecondsWithMSPrecision()); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetInvoiceUnitRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Invoicing.GetInvoiceUnit")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/GetInvoiceUnitResult.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/GetInvoiceUnitResult.cpp new file mode 100644 index 00000000000..a9055a0f186 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/GetInvoiceUnitResult.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetInvoiceUnitResult::GetInvoiceUnitResult() : + m_taxInheritanceDisabled(false) +{ +} + +GetInvoiceUnitResult::GetInvoiceUnitResult(const Aws::AmazonWebServiceResult& result) + : GetInvoiceUnitResult() +{ + *this = result; +} + +GetInvoiceUnitResult& GetInvoiceUnitResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("InvoiceUnitArn")) + { + m_invoiceUnitArn = jsonValue.GetString("InvoiceUnitArn"); + + } + + if(jsonValue.ValueExists("InvoiceReceiver")) + { + m_invoiceReceiver = jsonValue.GetString("InvoiceReceiver"); + + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + } + + if(jsonValue.ValueExists("TaxInheritanceDisabled")) + { + m_taxInheritanceDisabled = jsonValue.GetBool("TaxInheritanceDisabled"); + + } + + if(jsonValue.ValueExists("Rule")) + { + m_rule = jsonValue.GetObject("Rule"); + + } + + if(jsonValue.ValueExists("LastModified")) + { + m_lastModified = jsonValue.GetDouble("LastModified"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/InternalServerException.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/InternalServerException.cpp new file mode 100644 index 00000000000..4778e6b6f3b --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/InternalServerException.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + +InternalServerException::InternalServerException() : + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +InternalServerException::InternalServerException(JsonView jsonValue) + : InternalServerException() +{ + *this = jsonValue; +} + +InternalServerException& InternalServerException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("retryAfterSeconds")) + { + m_retryAfterSeconds = jsonValue.GetInteger("retryAfterSeconds"); + + m_retryAfterSecondsHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue InternalServerException::Jsonize() const +{ + JsonValue payload; + + if(m_retryAfterSecondsHasBeenSet) + { + payload.WithInteger("retryAfterSeconds", m_retryAfterSeconds); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceProfile.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceProfile.cpp new file mode 100644 index 00000000000..04a7ac65a19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceProfile.cpp @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + +InvoiceProfile::InvoiceProfile() : + m_accountIdHasBeenSet(false), + m_receiverNameHasBeenSet(false), + m_receiverAddressHasBeenSet(false), + m_receiverEmailHasBeenSet(false), + m_issuerHasBeenSet(false), + m_taxRegistrationNumberHasBeenSet(false) +{ +} + +InvoiceProfile::InvoiceProfile(JsonView jsonValue) + : InvoiceProfile() +{ + *this = jsonValue; +} + +InvoiceProfile& InvoiceProfile::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AccountId")) + { + m_accountId = jsonValue.GetString("AccountId"); + + m_accountIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("ReceiverName")) + { + m_receiverName = jsonValue.GetString("ReceiverName"); + + m_receiverNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("ReceiverAddress")) + { + m_receiverAddress = jsonValue.GetObject("ReceiverAddress"); + + m_receiverAddressHasBeenSet = true; + } + + if(jsonValue.ValueExists("ReceiverEmail")) + { + m_receiverEmail = jsonValue.GetString("ReceiverEmail"); + + m_receiverEmailHasBeenSet = true; + } + + if(jsonValue.ValueExists("Issuer")) + { + m_issuer = jsonValue.GetString("Issuer"); + + m_issuerHasBeenSet = true; + } + + if(jsonValue.ValueExists("TaxRegistrationNumber")) + { + m_taxRegistrationNumber = jsonValue.GetString("TaxRegistrationNumber"); + + m_taxRegistrationNumberHasBeenSet = true; + } + + return *this; +} + +JsonValue InvoiceProfile::Jsonize() const +{ + JsonValue payload; + + if(m_accountIdHasBeenSet) + { + payload.WithString("AccountId", m_accountId); + + } + + if(m_receiverNameHasBeenSet) + { + payload.WithString("ReceiverName", m_receiverName); + + } + + if(m_receiverAddressHasBeenSet) + { + payload.WithObject("ReceiverAddress", m_receiverAddress.Jsonize()); + + } + + if(m_receiverEmailHasBeenSet) + { + payload.WithString("ReceiverEmail", m_receiverEmail); + + } + + if(m_issuerHasBeenSet) + { + payload.WithString("Issuer", m_issuer); + + } + + if(m_taxRegistrationNumberHasBeenSet) + { + payload.WithString("TaxRegistrationNumber", m_taxRegistrationNumber); + + } + + return payload; +} + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceUnit.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceUnit.cpp new file mode 100644 index 00000000000..37c7594bbbb --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceUnit.cpp @@ -0,0 +1,143 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + +InvoiceUnit::InvoiceUnit() : + m_invoiceUnitArnHasBeenSet(false), + m_invoiceReceiverHasBeenSet(false), + m_nameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_taxInheritanceDisabled(false), + m_taxInheritanceDisabledHasBeenSet(false), + m_ruleHasBeenSet(false), + m_lastModifiedHasBeenSet(false) +{ +} + +InvoiceUnit::InvoiceUnit(JsonView jsonValue) + : InvoiceUnit() +{ + *this = jsonValue; +} + +InvoiceUnit& InvoiceUnit::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InvoiceUnitArn")) + { + m_invoiceUnitArn = jsonValue.GetString("InvoiceUnitArn"); + + m_invoiceUnitArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("InvoiceReceiver")) + { + m_invoiceReceiver = jsonValue.GetString("InvoiceReceiver"); + + m_invoiceReceiverHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("TaxInheritanceDisabled")) + { + m_taxInheritanceDisabled = jsonValue.GetBool("TaxInheritanceDisabled"); + + m_taxInheritanceDisabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("Rule")) + { + m_rule = jsonValue.GetObject("Rule"); + + m_ruleHasBeenSet = true; + } + + if(jsonValue.ValueExists("LastModified")) + { + m_lastModified = jsonValue.GetDouble("LastModified"); + + m_lastModifiedHasBeenSet = true; + } + + return *this; +} + +JsonValue InvoiceUnit::Jsonize() const +{ + JsonValue payload; + + if(m_invoiceUnitArnHasBeenSet) + { + payload.WithString("InvoiceUnitArn", m_invoiceUnitArn); + + } + + if(m_invoiceReceiverHasBeenSet) + { + payload.WithString("InvoiceReceiver", m_invoiceReceiver); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_taxInheritanceDisabledHasBeenSet) + { + payload.WithBool("TaxInheritanceDisabled", m_taxInheritanceDisabled); + + } + + if(m_ruleHasBeenSet) + { + payload.WithObject("Rule", m_rule.Jsonize()); + + } + + if(m_lastModifiedHasBeenSet) + { + payload.WithDouble("LastModified", m_lastModified.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceUnitRule.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceUnitRule.cpp new file mode 100644 index 00000000000..8ad0ffc47c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/InvoiceUnitRule.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + +InvoiceUnitRule::InvoiceUnitRule() : + m_linkedAccountsHasBeenSet(false) +{ +} + +InvoiceUnitRule::InvoiceUnitRule(JsonView jsonValue) + : InvoiceUnitRule() +{ + *this = jsonValue; +} + +InvoiceUnitRule& InvoiceUnitRule::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LinkedAccounts")) + { + Aws::Utils::Array linkedAccountsJsonList = jsonValue.GetArray("LinkedAccounts"); + for(unsigned linkedAccountsIndex = 0; linkedAccountsIndex < linkedAccountsJsonList.GetLength(); ++linkedAccountsIndex) + { + m_linkedAccounts.push_back(linkedAccountsJsonList[linkedAccountsIndex].AsString()); + } + m_linkedAccountsHasBeenSet = true; + } + + return *this; +} + +JsonValue InvoiceUnitRule::Jsonize() const +{ + JsonValue payload; + + if(m_linkedAccountsHasBeenSet) + { + Aws::Utils::Array linkedAccountsJsonList(m_linkedAccounts.size()); + for(unsigned linkedAccountsIndex = 0; linkedAccountsIndex < linkedAccountsJsonList.GetLength(); ++linkedAccountsIndex) + { + linkedAccountsJsonList[linkedAccountsIndex].AsString(m_linkedAccounts[linkedAccountsIndex]); + } + payload.WithArray("LinkedAccounts", std::move(linkedAccountsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/ListInvoiceUnitsRequest.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/ListInvoiceUnitsRequest.cpp new file mode 100644 index 00000000000..cc34200f1e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/ListInvoiceUnitsRequest.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListInvoiceUnitsRequest::ListInvoiceUnitsRequest() : + m_filtersHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_asOfHasBeenSet(false) +{ +} + +Aws::String ListInvoiceUnitsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_filtersHasBeenSet) + { + payload.WithObject("Filters", m_filters.Jsonize()); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_asOfHasBeenSet) + { + payload.WithDouble("AsOf", m_asOf.SecondsWithMSPrecision()); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListInvoiceUnitsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Invoicing.ListInvoiceUnits")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/ListInvoiceUnitsResult.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/ListInvoiceUnitsResult.cpp new file mode 100644 index 00000000000..d5be5708d98 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/ListInvoiceUnitsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListInvoiceUnitsResult::ListInvoiceUnitsResult() +{ +} + +ListInvoiceUnitsResult::ListInvoiceUnitsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListInvoiceUnitsResult& ListInvoiceUnitsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("InvoiceUnits")) + { + Aws::Utils::Array invoiceUnitsJsonList = jsonValue.GetArray("InvoiceUnits"); + for(unsigned invoiceUnitsIndex = 0; invoiceUnitsIndex < invoiceUnitsJsonList.GetLength(); ++invoiceUnitsIndex) + { + m_invoiceUnits.push_back(invoiceUnitsJsonList[invoiceUnitsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..2c83905e16d --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/ListTagsForResourceRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListTagsForResourceRequest::ListTagsForResourceRequest() : + m_resourceArnHasBeenSet(false) +{ +} + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListTagsForResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Invoicing.ListTagsForResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..be6d593e7dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/ListTagsForResourceResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult() +{ +} + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ResourceTags")) + { + Aws::Utils::Array resourceTagsJsonList = jsonValue.GetArray("ResourceTags"); + for(unsigned resourceTagsIndex = 0; resourceTagsIndex < resourceTagsJsonList.GetLength(); ++resourceTagsIndex) + { + m_resourceTags.push_back(resourceTagsJsonList[resourceTagsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/ReceiverAddress.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/ReceiverAddress.cpp new file mode 100644 index 00000000000..96146ae2cea --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/ReceiverAddress.cpp @@ -0,0 +1,171 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + +ReceiverAddress::ReceiverAddress() : + m_addressLine1HasBeenSet(false), + m_addressLine2HasBeenSet(false), + m_addressLine3HasBeenSet(false), + m_districtOrCountyHasBeenSet(false), + m_cityHasBeenSet(false), + m_stateOrRegionHasBeenSet(false), + m_countryCodeHasBeenSet(false), + m_companyNameHasBeenSet(false), + m_postalCodeHasBeenSet(false) +{ +} + +ReceiverAddress::ReceiverAddress(JsonView jsonValue) + : ReceiverAddress() +{ + *this = jsonValue; +} + +ReceiverAddress& ReceiverAddress::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AddressLine1")) + { + m_addressLine1 = jsonValue.GetString("AddressLine1"); + + m_addressLine1HasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressLine2")) + { + m_addressLine2 = jsonValue.GetString("AddressLine2"); + + m_addressLine2HasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressLine3")) + { + m_addressLine3 = jsonValue.GetString("AddressLine3"); + + m_addressLine3HasBeenSet = true; + } + + if(jsonValue.ValueExists("DistrictOrCounty")) + { + m_districtOrCounty = jsonValue.GetString("DistrictOrCounty"); + + m_districtOrCountyHasBeenSet = true; + } + + if(jsonValue.ValueExists("City")) + { + m_city = jsonValue.GetString("City"); + + m_cityHasBeenSet = true; + } + + if(jsonValue.ValueExists("StateOrRegion")) + { + m_stateOrRegion = jsonValue.GetString("StateOrRegion"); + + m_stateOrRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("CountryCode")) + { + m_countryCode = jsonValue.GetString("CountryCode"); + + m_countryCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("CompanyName")) + { + m_companyName = jsonValue.GetString("CompanyName"); + + m_companyNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostalCode")) + { + m_postalCode = jsonValue.GetString("PostalCode"); + + m_postalCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue ReceiverAddress::Jsonize() const +{ + JsonValue payload; + + if(m_addressLine1HasBeenSet) + { + payload.WithString("AddressLine1", m_addressLine1); + + } + + if(m_addressLine2HasBeenSet) + { + payload.WithString("AddressLine2", m_addressLine2); + + } + + if(m_addressLine3HasBeenSet) + { + payload.WithString("AddressLine3", m_addressLine3); + + } + + if(m_districtOrCountyHasBeenSet) + { + payload.WithString("DistrictOrCounty", m_districtOrCounty); + + } + + if(m_cityHasBeenSet) + { + payload.WithString("City", m_city); + + } + + if(m_stateOrRegionHasBeenSet) + { + payload.WithString("StateOrRegion", m_stateOrRegion); + + } + + if(m_countryCodeHasBeenSet) + { + payload.WithString("CountryCode", m_countryCode); + + } + + if(m_companyNameHasBeenSet) + { + payload.WithString("CompanyName", m_companyName); + + } + + if(m_postalCodeHasBeenSet) + { + payload.WithString("PostalCode", m_postalCode); + + } + + return payload; +} + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/ResourceNotFoundException.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/ResourceNotFoundException.cpp new file mode 100644 index 00000000000..31d647940ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/ResourceNotFoundException.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + +ResourceNotFoundException::ResourceNotFoundException() : + m_messageHasBeenSet(false), + m_resourceNameHasBeenSet(false) +{ +} + +ResourceNotFoundException::ResourceNotFoundException(JsonView jsonValue) + : ResourceNotFoundException() +{ + *this = jsonValue; +} + +ResourceNotFoundException& ResourceNotFoundException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceName")) + { + m_resourceName = jsonValue.GetString("resourceName"); + + m_resourceNameHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceNotFoundException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("resourceName", m_resourceName); + + } + + return payload; +} + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/ResourceTag.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/ResourceTag.cpp new file mode 100644 index 00000000000..a2479c2ddf4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/ResourceTag.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + +ResourceTag::ResourceTag() : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +ResourceTag::ResourceTag(JsonView jsonValue) + : ResourceTag() +{ + *this = jsonValue; +} + +ResourceTag& ResourceTag::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceTag::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..887d8df1b3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/TagResourceRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TagResourceRequest::TagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_resourceTagsHasBeenSet(false) +{ +} + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + if(m_resourceTagsHasBeenSet) + { + Aws::Utils::Array resourceTagsJsonList(m_resourceTags.size()); + for(unsigned resourceTagsIndex = 0; resourceTagsIndex < resourceTagsJsonList.GetLength(); ++resourceTagsIndex) + { + resourceTagsJsonList[resourceTagsIndex].AsObject(m_resourceTags[resourceTagsIndex].Jsonize()); + } + payload.WithArray("ResourceTags", std::move(resourceTagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection TagResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Invoicing.TagResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..15c5242975d --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/TagResourceResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult() +{ +} + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..98599be0f2d --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/UntagResourceRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UntagResourceRequest::UntagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_resourceTagKeysHasBeenSet(false) +{ +} + +Aws::String UntagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + if(m_resourceTagKeysHasBeenSet) + { + Aws::Utils::Array resourceTagKeysJsonList(m_resourceTagKeys.size()); + for(unsigned resourceTagKeysIndex = 0; resourceTagKeysIndex < resourceTagKeysJsonList.GetLength(); ++resourceTagKeysIndex) + { + resourceTagKeysJsonList[resourceTagKeysIndex].AsString(m_resourceTagKeys[resourceTagKeysIndex]); + } + payload.WithArray("ResourceTagKeys", std::move(resourceTagKeysJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UntagResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Invoicing.UntagResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..227c10bc83e --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/UntagResourceResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult() +{ +} + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/UpdateInvoiceUnitRequest.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/UpdateInvoiceUnitRequest.cpp new file mode 100644 index 00000000000..ab0e4ddd4d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/UpdateInvoiceUnitRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateInvoiceUnitRequest::UpdateInvoiceUnitRequest() : + m_invoiceUnitArnHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_taxInheritanceDisabled(false), + m_taxInheritanceDisabledHasBeenSet(false), + m_ruleHasBeenSet(false) +{ +} + +Aws::String UpdateInvoiceUnitRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_invoiceUnitArnHasBeenSet) + { + payload.WithString("InvoiceUnitArn", m_invoiceUnitArn); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_taxInheritanceDisabledHasBeenSet) + { + payload.WithBool("TaxInheritanceDisabled", m_taxInheritanceDisabled); + + } + + if(m_ruleHasBeenSet) + { + payload.WithObject("Rule", m_rule.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateInvoiceUnitRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Invoicing.UpdateInvoiceUnit")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/UpdateInvoiceUnitResult.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/UpdateInvoiceUnitResult.cpp new file mode 100644 index 00000000000..421daba2235 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/UpdateInvoiceUnitResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Invoicing::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateInvoiceUnitResult::UpdateInvoiceUnitResult() +{ +} + +UpdateInvoiceUnitResult::UpdateInvoiceUnitResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateInvoiceUnitResult& UpdateInvoiceUnitResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("InvoiceUnitArn")) + { + m_invoiceUnitArn = jsonValue.GetString("InvoiceUnitArn"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/ValidationException.cpp new file mode 100644 index 00000000000..3f4cd13a652 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/ValidationException.cpp @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + +ValidationException::ValidationException() : + m_messageHasBeenSet(false), + m_resourceNameHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false), + m_fieldListHasBeenSet(false) +{ +} + +ValidationException::ValidationException(JsonView jsonValue) + : ValidationException() +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceName")) + { + m_resourceName = jsonValue.GetString("resourceName"); + + m_resourceNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("reason")); + + m_reasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("fieldList")) + { + Aws::Utils::Array fieldListJsonList = jsonValue.GetArray("fieldList"); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + m_fieldList.push_back(fieldListJsonList[fieldListIndex].AsObject()); + } + m_fieldListHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("resourceName", m_resourceName); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + if(m_fieldListHasBeenSet) + { + Aws::Utils::Array fieldListJsonList(m_fieldList.size()); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + fieldListJsonList[fieldListIndex].AsObject(m_fieldList[fieldListIndex].Jsonize()); + } + payload.WithArray("fieldList", std::move(fieldListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/ValidationExceptionField.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/ValidationExceptionField.cpp new file mode 100644 index 00000000000..55917bb67e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/ValidationExceptionField.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Invoicing +{ +namespace Model +{ + +ValidationExceptionField::ValidationExceptionField() : + m_nameHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +ValidationExceptionField::ValidationExceptionField(JsonView jsonValue) + : ValidationExceptionField() +{ + *this = jsonValue; +} + +ValidationExceptionField& ValidationExceptionField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationExceptionField::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-invoicing/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..eb39451d370 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/model/ValidationExceptionReason.cpp @@ -0,0 +1,156 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Invoicing + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int nonMemberPresent_HASH = HashingUtils::HashString("nonMemberPresent"); + static const int maxAccountsExceeded_HASH = HashingUtils::HashString("maxAccountsExceeded"); + static const int maxInvoiceUnitsExceeded_HASH = HashingUtils::HashString("maxInvoiceUnitsExceeded"); + static const int duplicateInvoiceUnit_HASH = HashingUtils::HashString("duplicateInvoiceUnit"); + static const int mutualExclusionError_HASH = HashingUtils::HashString("mutualExclusionError"); + static const int accountMembershipError_HASH = HashingUtils::HashString("accountMembershipError"); + static const int taxSettingsError_HASH = HashingUtils::HashString("taxSettingsError"); + static const int expiredNextToken_HASH = HashingUtils::HashString("expiredNextToken"); + static const int invalidNextToken_HASH = HashingUtils::HashString("invalidNextToken"); + static const int invalidInput_HASH = HashingUtils::HashString("invalidInput"); + static const int fieldValidationFailed_HASH = HashingUtils::HashString("fieldValidationFailed"); + static const int cannotParse_HASH = HashingUtils::HashString("cannotParse"); + static const int unknownOperation_HASH = HashingUtils::HashString("unknownOperation"); + static const int other_HASH = HashingUtils::HashString("other"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == nonMemberPresent_HASH) + { + return ValidationExceptionReason::nonMemberPresent; + } + else if (hashCode == maxAccountsExceeded_HASH) + { + return ValidationExceptionReason::maxAccountsExceeded; + } + else if (hashCode == maxInvoiceUnitsExceeded_HASH) + { + return ValidationExceptionReason::maxInvoiceUnitsExceeded; + } + else if (hashCode == duplicateInvoiceUnit_HASH) + { + return ValidationExceptionReason::duplicateInvoiceUnit; + } + else if (hashCode == mutualExclusionError_HASH) + { + return ValidationExceptionReason::mutualExclusionError; + } + else if (hashCode == accountMembershipError_HASH) + { + return ValidationExceptionReason::accountMembershipError; + } + else if (hashCode == taxSettingsError_HASH) + { + return ValidationExceptionReason::taxSettingsError; + } + else if (hashCode == expiredNextToken_HASH) + { + return ValidationExceptionReason::expiredNextToken; + } + else if (hashCode == invalidNextToken_HASH) + { + return ValidationExceptionReason::invalidNextToken; + } + else if (hashCode == invalidInput_HASH) + { + return ValidationExceptionReason::invalidInput; + } + else if (hashCode == fieldValidationFailed_HASH) + { + return ValidationExceptionReason::fieldValidationFailed; + } + else if (hashCode == cannotParse_HASH) + { + return ValidationExceptionReason::cannotParse; + } + else if (hashCode == unknownOperation_HASH) + { + return ValidationExceptionReason::unknownOperation; + } + else if (hashCode == other_HASH) + { + return ValidationExceptionReason::other; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::nonMemberPresent: + return "nonMemberPresent"; + case ValidationExceptionReason::maxAccountsExceeded: + return "maxAccountsExceeded"; + case ValidationExceptionReason::maxInvoiceUnitsExceeded: + return "maxInvoiceUnitsExceeded"; + case ValidationExceptionReason::duplicateInvoiceUnit: + return "duplicateInvoiceUnit"; + case ValidationExceptionReason::mutualExclusionError: + return "mutualExclusionError"; + case ValidationExceptionReason::accountMembershipError: + return "accountMembershipError"; + case ValidationExceptionReason::taxSettingsError: + return "taxSettingsError"; + case ValidationExceptionReason::expiredNextToken: + return "expiredNextToken"; + case ValidationExceptionReason::invalidNextToken: + return "invalidNextToken"; + case ValidationExceptionReason::invalidInput: + return "invalidInput"; + case ValidationExceptionReason::fieldValidationFailed: + return "fieldValidationFailed"; + case ValidationExceptionReason::cannotParse: + return "cannotParse"; + case ValidationExceptionReason::unknownOperation: + return "unknownOperation"; + case ValidationExceptionReason::other: + return "other"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h index e480fda6c8c..4474159d010 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h @@ -669,6 +669,37 @@ namespace CloudWatchLogs return SubmitAsync(&CloudWatchLogsClient::DeleteIndexPolicy, request, handler, context); } + /** + *

        Deletes the integration between CloudWatch Logs and OpenSearch Service. If + * your integration has active vended logs dashboards, you must specify + * true for the force parameter, otherwise the operation + * will fail. If you delete the integration by setting force to + * true, all your vended logs dashboards powered by OpenSearch Service + * will be deleted and the data that was on them will no longer be + * accessible.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::DeleteIntegrationOutcome DeleteIntegration(const Model::DeleteIntegrationRequest& request) const; + + /** + * A Callable wrapper for DeleteIntegration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteIntegrationOutcomeCallable DeleteIntegrationCallable(const DeleteIntegrationRequestT& request) const + { + return SubmitCallable(&CloudWatchLogsClient::DeleteIntegration, request); + } + + /** + * An Async wrapper for DeleteIntegration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteIntegrationAsync(const DeleteIntegrationRequestT& request, const DeleteIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudWatchLogsClient::DeleteIntegration, request, handler, context); + } + /** *

        Deletes the specified CloudWatch Logs anomaly detector.

        See * Also:

        Returns information about one integration between CloudWatch Logs and + * OpenSearch Service.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetIntegrationOutcome GetIntegration(const Model::GetIntegrationRequest& request) const; + + /** + * A Callable wrapper for GetIntegration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetIntegrationOutcomeCallable GetIntegrationCallable(const GetIntegrationRequestT& request) const + { + return SubmitCallable(&CloudWatchLogsClient::GetIntegration, request); + } + + /** + * An Async wrapper for GetIntegration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetIntegrationAsync(const GetIntegrationRequestT& request, const GetIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudWatchLogsClient::GetIntegration, request, handler, context); + } + /** *

        Retrieves information about the log anomaly detector that you * specify.

        See Also:

        Returns a list of integrations between CloudWatch Logs and other services in + * this account. Currently, only one integration can be created in an account, and + * this integration must be with OpenSearch Service.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListIntegrationsOutcome ListIntegrations(const Model::ListIntegrationsRequest& request = {}) const; + + /** + * A Callable wrapper for ListIntegrations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListIntegrationsOutcomeCallable ListIntegrationsCallable(const ListIntegrationsRequestT& request = {}) const + { + return SubmitCallable(&CloudWatchLogsClient::ListIntegrations, request); + } + + /** + * An Async wrapper for ListIntegrations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListIntegrationsAsync(const ListIntegrationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListIntegrationsRequestT& request = {}) const + { + return SubmitAsync(&CloudWatchLogsClient::ListIntegrations, request, handler, context); + } + /** *

        Retrieves a list of the log anomaly detectors in the account.

        See * Also:

        Creates an integration between CloudWatch Logs and another service in this + * account. Currently, only integrations with OpenSearch Service are supported, and + * currently you can have only one integration in your account.

        Integrating + * with OpenSearch Service makes it possible for you to create curated vended logs + * dashboards, powered by OpenSearch Service analytics. For more information, see + * Vended + * log dashboards powered by Amazon OpenSearch Service.

        You can use this + * operation only to create a new integration. You can't modify an existing + * integration.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::PutIntegrationOutcome PutIntegration(const Model::PutIntegrationRequest& request) const; + + /** + * A Callable wrapper for PutIntegration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutIntegrationOutcomeCallable PutIntegrationCallable(const PutIntegrationRequestT& request) const + { + return SubmitCallable(&CloudWatchLogsClient::PutIntegration, request); + } + + /** + * An Async wrapper for PutIntegration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutIntegrationAsync(const PutIntegrationRequestT& request, const PutIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudWatchLogsClient::PutIntegration, request, handler, context); + } + /** *

        Uploads a batch of log events to the specified log stream.

        *

        The sequence token is now ignored in PutLogEvents actions. diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h index 6ee0edd3ba8..28efbc5f98f 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -45,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -52,6 +54,7 @@ #include #include #include +#include #include #include #include @@ -62,6 +65,7 @@ #include #include #include +#include #include #include #include @@ -73,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -145,6 +150,7 @@ namespace Aws class DeleteDeliverySourceRequest; class DeleteDestinationRequest; class DeleteIndexPolicyRequest; + class DeleteIntegrationRequest; class DeleteLogAnomalyDetectorRequest; class DeleteLogGroupRequest; class DeleteLogStreamRequest; @@ -177,6 +183,7 @@ namespace Aws class GetDeliveryDestinationRequest; class GetDeliveryDestinationPolicyRequest; class GetDeliverySourceRequest; + class GetIntegrationRequest; class GetLogAnomalyDetectorRequest; class GetLogEventsRequest; class GetLogGroupFieldsRequest; @@ -184,6 +191,7 @@ namespace Aws class GetQueryResultsRequest; class GetTransformerRequest; class ListAnomaliesRequest; + class ListIntegrationsRequest; class ListLogAnomalyDetectorsRequest; class ListLogGroupsForQueryRequest; class ListTagsForResourceRequest; @@ -195,6 +203,7 @@ namespace Aws class PutDestinationRequest; class PutDestinationPolicyRequest; class PutIndexPolicyRequest; + class PutIntegrationRequest; class PutLogEventsRequest; class PutMetricFilterRequest; class PutQueryDefinitionRequest; @@ -230,6 +239,7 @@ namespace Aws typedef Aws::Utils::Outcome DeleteDeliverySourceOutcome; typedef Aws::Utils::Outcome DeleteDestinationOutcome; typedef Aws::Utils::Outcome DeleteIndexPolicyOutcome; + typedef Aws::Utils::Outcome DeleteIntegrationOutcome; typedef Aws::Utils::Outcome DeleteLogAnomalyDetectorOutcome; typedef Aws::Utils::Outcome DeleteLogGroupOutcome; typedef Aws::Utils::Outcome DeleteLogStreamOutcome; @@ -262,6 +272,7 @@ namespace Aws typedef Aws::Utils::Outcome GetDeliveryDestinationOutcome; typedef Aws::Utils::Outcome GetDeliveryDestinationPolicyOutcome; typedef Aws::Utils::Outcome GetDeliverySourceOutcome; + typedef Aws::Utils::Outcome GetIntegrationOutcome; typedef Aws::Utils::Outcome GetLogAnomalyDetectorOutcome; typedef Aws::Utils::Outcome GetLogEventsOutcome; typedef Aws::Utils::Outcome GetLogGroupFieldsOutcome; @@ -269,6 +280,7 @@ namespace Aws typedef Aws::Utils::Outcome GetQueryResultsOutcome; typedef Aws::Utils::Outcome GetTransformerOutcome; typedef Aws::Utils::Outcome ListAnomaliesOutcome; + typedef Aws::Utils::Outcome ListIntegrationsOutcome; typedef Aws::Utils::Outcome ListLogAnomalyDetectorsOutcome; typedef Aws::Utils::Outcome ListLogGroupsForQueryOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; @@ -280,6 +292,7 @@ namespace Aws typedef Aws::Utils::Outcome PutDestinationOutcome; typedef Aws::Utils::Outcome PutDestinationPolicyOutcome; typedef Aws::Utils::Outcome PutIndexPolicyOutcome; + typedef Aws::Utils::Outcome PutIntegrationOutcome; typedef Aws::Utils::Outcome PutLogEventsOutcome; typedef Aws::Utils::Outcome PutMetricFilterOutcome; typedef Aws::Utils::Outcome PutQueryDefinitionOutcome; @@ -315,6 +328,7 @@ namespace Aws typedef std::future DeleteDeliverySourceOutcomeCallable; typedef std::future DeleteDestinationOutcomeCallable; typedef std::future DeleteIndexPolicyOutcomeCallable; + typedef std::future DeleteIntegrationOutcomeCallable; typedef std::future DeleteLogAnomalyDetectorOutcomeCallable; typedef std::future DeleteLogGroupOutcomeCallable; typedef std::future DeleteLogStreamOutcomeCallable; @@ -347,6 +361,7 @@ namespace Aws typedef std::future GetDeliveryDestinationOutcomeCallable; typedef std::future GetDeliveryDestinationPolicyOutcomeCallable; typedef std::future GetDeliverySourceOutcomeCallable; + typedef std::future GetIntegrationOutcomeCallable; typedef std::future GetLogAnomalyDetectorOutcomeCallable; typedef std::future GetLogEventsOutcomeCallable; typedef std::future GetLogGroupFieldsOutcomeCallable; @@ -354,6 +369,7 @@ namespace Aws typedef std::future GetQueryResultsOutcomeCallable; typedef std::future GetTransformerOutcomeCallable; typedef std::future ListAnomaliesOutcomeCallable; + typedef std::future ListIntegrationsOutcomeCallable; typedef std::future ListLogAnomalyDetectorsOutcomeCallable; typedef std::future ListLogGroupsForQueryOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; @@ -365,6 +381,7 @@ namespace Aws typedef std::future PutDestinationOutcomeCallable; typedef std::future PutDestinationPolicyOutcomeCallable; typedef std::future PutIndexPolicyOutcomeCallable; + typedef std::future PutIntegrationOutcomeCallable; typedef std::future PutLogEventsOutcomeCallable; typedef std::future PutMetricFilterOutcomeCallable; typedef std::future PutQueryDefinitionOutcomeCallable; @@ -403,6 +420,7 @@ namespace Aws typedef std::function&) > DeleteDeliverySourceResponseReceivedHandler; typedef std::function&) > DeleteDestinationResponseReceivedHandler; typedef std::function&) > DeleteIndexPolicyResponseReceivedHandler; + typedef std::function&) > DeleteIntegrationResponseReceivedHandler; typedef std::function&) > DeleteLogAnomalyDetectorResponseReceivedHandler; typedef std::function&) > DeleteLogGroupResponseReceivedHandler; typedef std::function&) > DeleteLogStreamResponseReceivedHandler; @@ -435,6 +453,7 @@ namespace Aws typedef std::function&) > GetDeliveryDestinationResponseReceivedHandler; typedef std::function&) > GetDeliveryDestinationPolicyResponseReceivedHandler; typedef std::function&) > GetDeliverySourceResponseReceivedHandler; + typedef std::function&) > GetIntegrationResponseReceivedHandler; typedef std::function&) > GetLogAnomalyDetectorResponseReceivedHandler; typedef std::function&) > GetLogEventsResponseReceivedHandler; typedef std::function&) > GetLogGroupFieldsResponseReceivedHandler; @@ -442,6 +461,7 @@ namespace Aws typedef std::function&) > GetQueryResultsResponseReceivedHandler; typedef std::function&) > GetTransformerResponseReceivedHandler; typedef std::function&) > ListAnomaliesResponseReceivedHandler; + typedef std::function&) > ListIntegrationsResponseReceivedHandler; typedef std::function&) > ListLogAnomalyDetectorsResponseReceivedHandler; typedef std::function&) > ListLogGroupsForQueryResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; @@ -453,6 +473,7 @@ namespace Aws typedef std::function&) > PutDestinationResponseReceivedHandler; typedef std::function&) > PutDestinationPolicyResponseReceivedHandler; typedef std::function&) > PutIndexPolicyResponseReceivedHandler; + typedef std::function&) > PutIntegrationResponseReceivedHandler; typedef std::function&) > PutLogEventsResponseReceivedHandler; typedef std::function&) > PutMetricFilterResponseReceivedHandler; typedef std::function&) > PutQueryDefinitionResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeleteIntegrationRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeleteIntegrationRequest.h new file mode 100644 index 00000000000..7e293ca546d --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeleteIntegrationRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + */ + class DeleteIntegrationRequest : public CloudWatchLogsRequest + { + public: + AWS_CLOUDWATCHLOGS_API DeleteIntegrationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteIntegration"; } + + AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; + + AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The name of the integration to delete. To find the name of your integration, + * use ListIntegrations.

        + */ + inline const Aws::String& GetIntegrationName() const{ return m_integrationName; } + inline bool IntegrationNameHasBeenSet() const { return m_integrationNameHasBeenSet; } + inline void SetIntegrationName(const Aws::String& value) { m_integrationNameHasBeenSet = true; m_integrationName = value; } + inline void SetIntegrationName(Aws::String&& value) { m_integrationNameHasBeenSet = true; m_integrationName = std::move(value); } + inline void SetIntegrationName(const char* value) { m_integrationNameHasBeenSet = true; m_integrationName.assign(value); } + inline DeleteIntegrationRequest& WithIntegrationName(const Aws::String& value) { SetIntegrationName(value); return *this;} + inline DeleteIntegrationRequest& WithIntegrationName(Aws::String&& value) { SetIntegrationName(std::move(value)); return *this;} + inline DeleteIntegrationRequest& WithIntegrationName(const char* value) { SetIntegrationName(value); return *this;} + ///@} + + ///@{ + /** + *

        Specify true to force the deletion of the integration even if + * vended logs dashboards currently exist.

        The default is + * false.

        + */ + inline bool GetForce() const{ return m_force; } + inline bool ForceHasBeenSet() const { return m_forceHasBeenSet; } + inline void SetForce(bool value) { m_forceHasBeenSet = true; m_force = value; } + inline DeleteIntegrationRequest& WithForce(bool value) { SetForce(value); return *this;} + ///@} + private: + + Aws::String m_integrationName; + bool m_integrationNameHasBeenSet = false; + + bool m_force; + bool m_forceHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeleteIntegrationResult.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeleteIntegrationResult.h new file mode 100644 index 00000000000..21d2d8a0424 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeleteIntegrationResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + class DeleteIntegrationResult + { + public: + AWS_CLOUDWATCHLOGS_API DeleteIntegrationResult(); + AWS_CLOUDWATCHLOGS_API DeleteIntegrationResult(const Aws::AmazonWebServiceResult& result); + AWS_CLOUDWATCHLOGS_API DeleteIntegrationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteIntegrationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteIntegrationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteIntegrationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeQueriesRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeQueriesRequest.h index 78153d12346..a76995ecca8 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeQueriesRequest.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeQueriesRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -84,6 +85,19 @@ namespace Model inline DescribeQueriesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} inline DescribeQueriesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} ///@} + + ///@{ + /** + *

        Limits the returned queries to only the queries that use the specified query + * language.

        + */ + inline const QueryLanguage& GetQueryLanguage() const{ return m_queryLanguage; } + inline bool QueryLanguageHasBeenSet() const { return m_queryLanguageHasBeenSet; } + inline void SetQueryLanguage(const QueryLanguage& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = value; } + inline void SetQueryLanguage(QueryLanguage&& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = std::move(value); } + inline DescribeQueriesRequest& WithQueryLanguage(const QueryLanguage& value) { SetQueryLanguage(value); return *this;} + inline DescribeQueriesRequest& WithQueryLanguage(QueryLanguage&& value) { SetQueryLanguage(std::move(value)); return *this;} + ///@} private: Aws::String m_logGroupName; @@ -97,6 +111,9 @@ namespace Model Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; + + QueryLanguage m_queryLanguage; + bool m_queryLanguageHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeQueryDefinitionsRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeQueryDefinitionsRequest.h index cde660a5db8..072d908b0bc 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeQueryDefinitionsRequest.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeQueryDefinitionsRequest.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -34,6 +35,21 @@ namespace Model AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + ///@{ + /** + *

        The query language used for this query. For more information about the query + * languages that CloudWatch Logs supports, see Supported + * query languages.

        + */ + inline const QueryLanguage& GetQueryLanguage() const{ return m_queryLanguage; } + inline bool QueryLanguageHasBeenSet() const { return m_queryLanguageHasBeenSet; } + inline void SetQueryLanguage(const QueryLanguage& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = value; } + inline void SetQueryLanguage(QueryLanguage&& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = std::move(value); } + inline DescribeQueryDefinitionsRequest& WithQueryLanguage(const QueryLanguage& value) { SetQueryLanguage(value); return *this;} + inline DescribeQueryDefinitionsRequest& WithQueryLanguage(QueryLanguage&& value) { SetQueryLanguage(std::move(value)); return *this;} + ///@} + ///@{ /** *

        Use this parameter to filter your results to only the query definitions that @@ -72,6 +88,9 @@ namespace Model ///@} private: + QueryLanguage m_queryLanguage; + bool m_queryLanguageHasBeenSet = false; + Aws::String m_queryDefinitionNamePrefix; bool m_queryDefinitionNamePrefixHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetIntegrationRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetIntegrationRequest.h new file mode 100644 index 00000000000..0c97fc5a321 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetIntegrationRequest.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + */ + class GetIntegrationRequest : public CloudWatchLogsRequest + { + public: + AWS_CLOUDWATCHLOGS_API GetIntegrationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetIntegration"; } + + AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; + + AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The name of the integration that you want to find information about. To find + * the name of your integration, use ListIntegrations + *

        + */ + inline const Aws::String& GetIntegrationName() const{ return m_integrationName; } + inline bool IntegrationNameHasBeenSet() const { return m_integrationNameHasBeenSet; } + inline void SetIntegrationName(const Aws::String& value) { m_integrationNameHasBeenSet = true; m_integrationName = value; } + inline void SetIntegrationName(Aws::String&& value) { m_integrationNameHasBeenSet = true; m_integrationName = std::move(value); } + inline void SetIntegrationName(const char* value) { m_integrationNameHasBeenSet = true; m_integrationName.assign(value); } + inline GetIntegrationRequest& WithIntegrationName(const Aws::String& value) { SetIntegrationName(value); return *this;} + inline GetIntegrationRequest& WithIntegrationName(Aws::String&& value) { SetIntegrationName(std::move(value)); return *this;} + inline GetIntegrationRequest& WithIntegrationName(const char* value) { SetIntegrationName(value); return *this;} + ///@} + private: + + Aws::String m_integrationName; + bool m_integrationNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetIntegrationResult.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetIntegrationResult.h new file mode 100644 index 00000000000..a7d27455869 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetIntegrationResult.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + class GetIntegrationResult + { + public: + AWS_CLOUDWATCHLOGS_API GetIntegrationResult(); + AWS_CLOUDWATCHLOGS_API GetIntegrationResult(const Aws::AmazonWebServiceResult& result); + AWS_CLOUDWATCHLOGS_API GetIntegrationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The name of the integration.

        + */ + inline const Aws::String& GetIntegrationName() const{ return m_integrationName; } + inline void SetIntegrationName(const Aws::String& value) { m_integrationName = value; } + inline void SetIntegrationName(Aws::String&& value) { m_integrationName = std::move(value); } + inline void SetIntegrationName(const char* value) { m_integrationName.assign(value); } + inline GetIntegrationResult& WithIntegrationName(const Aws::String& value) { SetIntegrationName(value); return *this;} + inline GetIntegrationResult& WithIntegrationName(Aws::String&& value) { SetIntegrationName(std::move(value)); return *this;} + inline GetIntegrationResult& WithIntegrationName(const char* value) { SetIntegrationName(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of integration. Integrations with OpenSearch Service have the type + * OPENSEARCH.

        + */ + inline const IntegrationType& GetIntegrationType() const{ return m_integrationType; } + inline void SetIntegrationType(const IntegrationType& value) { m_integrationType = value; } + inline void SetIntegrationType(IntegrationType&& value) { m_integrationType = std::move(value); } + inline GetIntegrationResult& WithIntegrationType(const IntegrationType& value) { SetIntegrationType(value); return *this;} + inline GetIntegrationResult& WithIntegrationType(IntegrationType&& value) { SetIntegrationType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The current status of this integration.

        + */ + inline const IntegrationStatus& GetIntegrationStatus() const{ return m_integrationStatus; } + inline void SetIntegrationStatus(const IntegrationStatus& value) { m_integrationStatus = value; } + inline void SetIntegrationStatus(IntegrationStatus&& value) { m_integrationStatus = std::move(value); } + inline GetIntegrationResult& WithIntegrationStatus(const IntegrationStatus& value) { SetIntegrationStatus(value); return *this;} + inline GetIntegrationResult& WithIntegrationStatus(IntegrationStatus&& value) { SetIntegrationStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        A structure that contains information about the integration configuration. + * For an integration with OpenSearch Service, this includes information about + * OpenSearch Service resources such as the collection, the workspace, and + * policies.

        + */ + inline const IntegrationDetails& GetIntegrationDetails() const{ return m_integrationDetails; } + inline void SetIntegrationDetails(const IntegrationDetails& value) { m_integrationDetails = value; } + inline void SetIntegrationDetails(IntegrationDetails&& value) { m_integrationDetails = std::move(value); } + inline GetIntegrationResult& WithIntegrationDetails(const IntegrationDetails& value) { SetIntegrationDetails(value); return *this;} + inline GetIntegrationResult& WithIntegrationDetails(IntegrationDetails&& value) { SetIntegrationDetails(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetIntegrationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetIntegrationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetIntegrationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_integrationName; + + IntegrationType m_integrationType; + + IntegrationStatus m_integrationStatus; + + IntegrationDetails m_integrationDetails; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetQueryResultsResult.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetQueryResultsResult.h index afbec941192..1a2bd1e4d99 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetQueryResultsResult.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetQueryResultsResult.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include #include @@ -36,6 +37,20 @@ namespace Model AWS_CLOUDWATCHLOGS_API GetQueryResultsResult& operator=(const Aws::AmazonWebServiceResult& result); + ///@{ + /** + *

        The query language used for this query. For more information about the query + * languages that CloudWatch Logs supports, see Supported + * query languages.

        + */ + inline const QueryLanguage& GetQueryLanguage() const{ return m_queryLanguage; } + inline void SetQueryLanguage(const QueryLanguage& value) { m_queryLanguage = value; } + inline void SetQueryLanguage(QueryLanguage&& value) { m_queryLanguage = std::move(value); } + inline GetQueryResultsResult& WithQueryLanguage(const QueryLanguage& value) { SetQueryLanguage(value); return *this;} + inline GetQueryResultsResult& WithQueryLanguage(QueryLanguage&& value) { SetQueryLanguage(std::move(value)); return *this;} + ///@} + ///@{ /** *

        The log events that matched the query criteria during the most recent time it @@ -110,6 +125,8 @@ namespace Model ///@} private: + QueryLanguage m_queryLanguage; + Aws::Vector> m_results; QueryStatistics m_statistics; diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationDetails.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationDetails.h new file mode 100644 index 00000000000..1c356bdaad2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationDetails.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains information about the integration configuration. For + * an integration with OpenSearch Service, this includes information about + * OpenSearch Service resources such as the collection, the workspace, and + * policies.

        This structure is returned by a GetIntegration + * operation.

        See Also:

        AWS + * API Reference

        + */ + class IntegrationDetails + { + public: + AWS_CLOUDWATCHLOGS_API IntegrationDetails(); + AWS_CLOUDWATCHLOGS_API IntegrationDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API IntegrationDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        This structure contains complete information about one integration between + * CloudWatch Logs and OpenSearch Service.

        + */ + inline const OpenSearchIntegrationDetails& GetOpenSearchIntegrationDetails() const{ return m_openSearchIntegrationDetails; } + inline bool OpenSearchIntegrationDetailsHasBeenSet() const { return m_openSearchIntegrationDetailsHasBeenSet; } + inline void SetOpenSearchIntegrationDetails(const OpenSearchIntegrationDetails& value) { m_openSearchIntegrationDetailsHasBeenSet = true; m_openSearchIntegrationDetails = value; } + inline void SetOpenSearchIntegrationDetails(OpenSearchIntegrationDetails&& value) { m_openSearchIntegrationDetailsHasBeenSet = true; m_openSearchIntegrationDetails = std::move(value); } + inline IntegrationDetails& WithOpenSearchIntegrationDetails(const OpenSearchIntegrationDetails& value) { SetOpenSearchIntegrationDetails(value); return *this;} + inline IntegrationDetails& WithOpenSearchIntegrationDetails(OpenSearchIntegrationDetails&& value) { SetOpenSearchIntegrationDetails(std::move(value)); return *this;} + ///@} + private: + + OpenSearchIntegrationDetails m_openSearchIntegrationDetails; + bool m_openSearchIntegrationDetailsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationStatus.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationStatus.h new file mode 100644 index 00000000000..e987d4a6c04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationStatus.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + enum class IntegrationStatus + { + NOT_SET, + PROVISIONING, + ACTIVE, + FAILED + }; + +namespace IntegrationStatusMapper +{ +AWS_CLOUDWATCHLOGS_API IntegrationStatus GetIntegrationStatusForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForIntegrationStatus(IntegrationStatus value); +} // namespace IntegrationStatusMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationSummary.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationSummary.h new file mode 100644 index 00000000000..1b41810acad --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationSummary.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains information about one CloudWatch Logs integration. + * This structure is returned by a ListIntegrations + * operation.

        See Also:

        AWS + * API Reference

        + */ + class IntegrationSummary + { + public: + AWS_CLOUDWATCHLOGS_API IntegrationSummary(); + AWS_CLOUDWATCHLOGS_API IntegrationSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API IntegrationSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of this integration.

        + */ + inline const Aws::String& GetIntegrationName() const{ return m_integrationName; } + inline bool IntegrationNameHasBeenSet() const { return m_integrationNameHasBeenSet; } + inline void SetIntegrationName(const Aws::String& value) { m_integrationNameHasBeenSet = true; m_integrationName = value; } + inline void SetIntegrationName(Aws::String&& value) { m_integrationNameHasBeenSet = true; m_integrationName = std::move(value); } + inline void SetIntegrationName(const char* value) { m_integrationNameHasBeenSet = true; m_integrationName.assign(value); } + inline IntegrationSummary& WithIntegrationName(const Aws::String& value) { SetIntegrationName(value); return *this;} + inline IntegrationSummary& WithIntegrationName(Aws::String&& value) { SetIntegrationName(std::move(value)); return *this;} + inline IntegrationSummary& WithIntegrationName(const char* value) { SetIntegrationName(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of integration. Integrations with OpenSearch Service have the type + * OPENSEARCH.

        + */ + inline const IntegrationType& GetIntegrationType() const{ return m_integrationType; } + inline bool IntegrationTypeHasBeenSet() const { return m_integrationTypeHasBeenSet; } + inline void SetIntegrationType(const IntegrationType& value) { m_integrationTypeHasBeenSet = true; m_integrationType = value; } + inline void SetIntegrationType(IntegrationType&& value) { m_integrationTypeHasBeenSet = true; m_integrationType = std::move(value); } + inline IntegrationSummary& WithIntegrationType(const IntegrationType& value) { SetIntegrationType(value); return *this;} + inline IntegrationSummary& WithIntegrationType(IntegrationType&& value) { SetIntegrationType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The current status of this integration.

        + */ + inline const IntegrationStatus& GetIntegrationStatus() const{ return m_integrationStatus; } + inline bool IntegrationStatusHasBeenSet() const { return m_integrationStatusHasBeenSet; } + inline void SetIntegrationStatus(const IntegrationStatus& value) { m_integrationStatusHasBeenSet = true; m_integrationStatus = value; } + inline void SetIntegrationStatus(IntegrationStatus&& value) { m_integrationStatusHasBeenSet = true; m_integrationStatus = std::move(value); } + inline IntegrationSummary& WithIntegrationStatus(const IntegrationStatus& value) { SetIntegrationStatus(value); return *this;} + inline IntegrationSummary& WithIntegrationStatus(IntegrationStatus&& value) { SetIntegrationStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_integrationName; + bool m_integrationNameHasBeenSet = false; + + IntegrationType m_integrationType; + bool m_integrationTypeHasBeenSet = false; + + IntegrationStatus m_integrationStatus; + bool m_integrationStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationType.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationType.h new file mode 100644 index 00000000000..ff97fded53c --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/IntegrationType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + enum class IntegrationType + { + NOT_SET, + OPENSEARCH + }; + +namespace IntegrationTypeMapper +{ +AWS_CLOUDWATCHLOGS_API IntegrationType GetIntegrationTypeForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForIntegrationType(IntegrationType value); +} // namespace IntegrationTypeMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListIntegrationsRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListIntegrationsRequest.h new file mode 100644 index 00000000000..a0a2f80ee87 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListIntegrationsRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + */ + class ListIntegrationsRequest : public CloudWatchLogsRequest + { + public: + AWS_CLOUDWATCHLOGS_API ListIntegrationsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListIntegrations"; } + + AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; + + AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        To limit the results to integrations that start with a certain name prefix, + * specify that name prefix here.

        + */ + inline const Aws::String& GetIntegrationNamePrefix() const{ return m_integrationNamePrefix; } + inline bool IntegrationNamePrefixHasBeenSet() const { return m_integrationNamePrefixHasBeenSet; } + inline void SetIntegrationNamePrefix(const Aws::String& value) { m_integrationNamePrefixHasBeenSet = true; m_integrationNamePrefix = value; } + inline void SetIntegrationNamePrefix(Aws::String&& value) { m_integrationNamePrefixHasBeenSet = true; m_integrationNamePrefix = std::move(value); } + inline void SetIntegrationNamePrefix(const char* value) { m_integrationNamePrefixHasBeenSet = true; m_integrationNamePrefix.assign(value); } + inline ListIntegrationsRequest& WithIntegrationNamePrefix(const Aws::String& value) { SetIntegrationNamePrefix(value); return *this;} + inline ListIntegrationsRequest& WithIntegrationNamePrefix(Aws::String&& value) { SetIntegrationNamePrefix(std::move(value)); return *this;} + inline ListIntegrationsRequest& WithIntegrationNamePrefix(const char* value) { SetIntegrationNamePrefix(value); return *this;} + ///@} + + ///@{ + /** + *

        To limit the results to integrations of a certain type, specify that type + * here.

        + */ + inline const IntegrationType& GetIntegrationType() const{ return m_integrationType; } + inline bool IntegrationTypeHasBeenSet() const { return m_integrationTypeHasBeenSet; } + inline void SetIntegrationType(const IntegrationType& value) { m_integrationTypeHasBeenSet = true; m_integrationType = value; } + inline void SetIntegrationType(IntegrationType&& value) { m_integrationTypeHasBeenSet = true; m_integrationType = std::move(value); } + inline ListIntegrationsRequest& WithIntegrationType(const IntegrationType& value) { SetIntegrationType(value); return *this;} + inline ListIntegrationsRequest& WithIntegrationType(IntegrationType&& value) { SetIntegrationType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        To limit the results to integrations with a certain status, specify that + * status here.

        + */ + inline const IntegrationStatus& GetIntegrationStatus() const{ return m_integrationStatus; } + inline bool IntegrationStatusHasBeenSet() const { return m_integrationStatusHasBeenSet; } + inline void SetIntegrationStatus(const IntegrationStatus& value) { m_integrationStatusHasBeenSet = true; m_integrationStatus = value; } + inline void SetIntegrationStatus(IntegrationStatus&& value) { m_integrationStatusHasBeenSet = true; m_integrationStatus = std::move(value); } + inline ListIntegrationsRequest& WithIntegrationStatus(const IntegrationStatus& value) { SetIntegrationStatus(value); return *this;} + inline ListIntegrationsRequest& WithIntegrationStatus(IntegrationStatus&& value) { SetIntegrationStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_integrationNamePrefix; + bool m_integrationNamePrefixHasBeenSet = false; + + IntegrationType m_integrationType; + bool m_integrationTypeHasBeenSet = false; + + IntegrationStatus m_integrationStatus; + bool m_integrationStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListIntegrationsResult.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListIntegrationsResult.h new file mode 100644 index 00000000000..68d739ad990 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListIntegrationsResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + class ListIntegrationsResult + { + public: + AWS_CLOUDWATCHLOGS_API ListIntegrationsResult(); + AWS_CLOUDWATCHLOGS_API ListIntegrationsResult(const Aws::AmazonWebServiceResult& result); + AWS_CLOUDWATCHLOGS_API ListIntegrationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        An array, where each object in the array contains information about one + * CloudWatch Logs integration in this account.

        + */ + inline const Aws::Vector& GetIntegrationSummaries() const{ return m_integrationSummaries; } + inline void SetIntegrationSummaries(const Aws::Vector& value) { m_integrationSummaries = value; } + inline void SetIntegrationSummaries(Aws::Vector&& value) { m_integrationSummaries = std::move(value); } + inline ListIntegrationsResult& WithIntegrationSummaries(const Aws::Vector& value) { SetIntegrationSummaries(value); return *this;} + inline ListIntegrationsResult& WithIntegrationSummaries(Aws::Vector&& value) { SetIntegrationSummaries(std::move(value)); return *this;} + inline ListIntegrationsResult& AddIntegrationSummaries(const IntegrationSummary& value) { m_integrationSummaries.push_back(value); return *this; } + inline ListIntegrationsResult& AddIntegrationSummaries(IntegrationSummary&& value) { m_integrationSummaries.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListIntegrationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListIntegrationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListIntegrationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_integrationSummaries; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchApplication.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchApplication.h new file mode 100644 index 00000000000..e01c022a11a --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchApplication.h @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains information about the OpenSearch Service application + * used for this integration. An OpenSearch Service application is the web + * application created by the integration with CloudWatch Logs. It hosts the vended + * logs dashboards.

        See Also:

        AWS + * API Reference

        + */ + class OpenSearchApplication + { + public: + AWS_CLOUDWATCHLOGS_API OpenSearchApplication(); + AWS_CLOUDWATCHLOGS_API OpenSearchApplication(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API OpenSearchApplication& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The endpoint of the application.

        + */ + inline const Aws::String& GetApplicationEndpoint() const{ return m_applicationEndpoint; } + inline bool ApplicationEndpointHasBeenSet() const { return m_applicationEndpointHasBeenSet; } + inline void SetApplicationEndpoint(const Aws::String& value) { m_applicationEndpointHasBeenSet = true; m_applicationEndpoint = value; } + inline void SetApplicationEndpoint(Aws::String&& value) { m_applicationEndpointHasBeenSet = true; m_applicationEndpoint = std::move(value); } + inline void SetApplicationEndpoint(const char* value) { m_applicationEndpointHasBeenSet = true; m_applicationEndpoint.assign(value); } + inline OpenSearchApplication& WithApplicationEndpoint(const Aws::String& value) { SetApplicationEndpoint(value); return *this;} + inline OpenSearchApplication& WithApplicationEndpoint(Aws::String&& value) { SetApplicationEndpoint(std::move(value)); return *this;} + inline OpenSearchApplication& WithApplicationEndpoint(const char* value) { SetApplicationEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the application.

        + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + inline bool ApplicationArnHasBeenSet() const { return m_applicationArnHasBeenSet; } + inline void SetApplicationArn(const Aws::String& value) { m_applicationArnHasBeenSet = true; m_applicationArn = value; } + inline void SetApplicationArn(Aws::String&& value) { m_applicationArnHasBeenSet = true; m_applicationArn = std::move(value); } + inline void SetApplicationArn(const char* value) { m_applicationArnHasBeenSet = true; m_applicationArn.assign(value); } + inline OpenSearchApplication& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + inline OpenSearchApplication& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + inline OpenSearchApplication& WithApplicationArn(const char* value) { SetApplicationArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the application.

        + */ + inline const Aws::String& GetApplicationId() const{ return m_applicationId; } + inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } + inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } + inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } + inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } + inline OpenSearchApplication& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} + inline OpenSearchApplication& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} + inline OpenSearchApplication& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the status of this OpenSearch + * Service resource.

        + */ + inline const OpenSearchResourceStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const OpenSearchResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(OpenSearchResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline OpenSearchApplication& WithStatus(const OpenSearchResourceStatus& value) { SetStatus(value); return *this;} + inline OpenSearchApplication& WithStatus(OpenSearchResourceStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_applicationEndpoint; + bool m_applicationEndpointHasBeenSet = false; + + Aws::String m_applicationArn; + bool m_applicationArnHasBeenSet = false; + + Aws::String m_applicationId; + bool m_applicationIdHasBeenSet = false; + + OpenSearchResourceStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchCollection.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchCollection.h new file mode 100644 index 00000000000..80f42104427 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchCollection.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains information about the OpenSearch Service collection + * used for this integration. An OpenSearch Service collection is a logical + * grouping of one or more indexes that represent an analytics workload. For more + * information, see Creating + * and managing OpenSearch Service Serverless collections.

        See + * Also:

        AWS + * API Reference

        + */ + class OpenSearchCollection + { + public: + AWS_CLOUDWATCHLOGS_API OpenSearchCollection(); + AWS_CLOUDWATCHLOGS_API OpenSearchCollection(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API OpenSearchCollection& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The endpoint of the collection.

        + */ + inline const Aws::String& GetCollectionEndpoint() const{ return m_collectionEndpoint; } + inline bool CollectionEndpointHasBeenSet() const { return m_collectionEndpointHasBeenSet; } + inline void SetCollectionEndpoint(const Aws::String& value) { m_collectionEndpointHasBeenSet = true; m_collectionEndpoint = value; } + inline void SetCollectionEndpoint(Aws::String&& value) { m_collectionEndpointHasBeenSet = true; m_collectionEndpoint = std::move(value); } + inline void SetCollectionEndpoint(const char* value) { m_collectionEndpointHasBeenSet = true; m_collectionEndpoint.assign(value); } + inline OpenSearchCollection& WithCollectionEndpoint(const Aws::String& value) { SetCollectionEndpoint(value); return *this;} + inline OpenSearchCollection& WithCollectionEndpoint(Aws::String&& value) { SetCollectionEndpoint(std::move(value)); return *this;} + inline OpenSearchCollection& WithCollectionEndpoint(const char* value) { SetCollectionEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

        The ARN of the collection.

        + */ + inline const Aws::String& GetCollectionArn() const{ return m_collectionArn; } + inline bool CollectionArnHasBeenSet() const { return m_collectionArnHasBeenSet; } + inline void SetCollectionArn(const Aws::String& value) { m_collectionArnHasBeenSet = true; m_collectionArn = value; } + inline void SetCollectionArn(Aws::String&& value) { m_collectionArnHasBeenSet = true; m_collectionArn = std::move(value); } + inline void SetCollectionArn(const char* value) { m_collectionArnHasBeenSet = true; m_collectionArn.assign(value); } + inline OpenSearchCollection& WithCollectionArn(const Aws::String& value) { SetCollectionArn(value); return *this;} + inline OpenSearchCollection& WithCollectionArn(Aws::String&& value) { SetCollectionArn(std::move(value)); return *this;} + inline OpenSearchCollection& WithCollectionArn(const char* value) { SetCollectionArn(value); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the status of this OpenSearch + * Service resource.

        + */ + inline const OpenSearchResourceStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const OpenSearchResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(OpenSearchResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline OpenSearchCollection& WithStatus(const OpenSearchResourceStatus& value) { SetStatus(value); return *this;} + inline OpenSearchCollection& WithStatus(OpenSearchResourceStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_collectionEndpoint; + bool m_collectionEndpointHasBeenSet = false; + + Aws::String m_collectionArn; + bool m_collectionArnHasBeenSet = false; + + OpenSearchResourceStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchDataAccessPolicy.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchDataAccessPolicy.h new file mode 100644 index 00000000000..448a7884c20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchDataAccessPolicy.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains information about the OpenSearch Service data access + * policy used for this integration. The access policy defines the access controls + * for the collection. This data access policy was automatically created as part of + * the integration setup. For more information about OpenSearch Service data access + * policies, see Data + * access control for Amazon OpenSearch Serverless in the OpenSearch Service + * Developer Guide.

        See Also:

        AWS + * API Reference

        + */ + class OpenSearchDataAccessPolicy + { + public: + AWS_CLOUDWATCHLOGS_API OpenSearchDataAccessPolicy(); + AWS_CLOUDWATCHLOGS_API OpenSearchDataAccessPolicy(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API OpenSearchDataAccessPolicy& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the data access policy.

        + */ + inline const Aws::String& GetPolicyName() const{ return m_policyName; } + inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; } + inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; } + inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = std::move(value); } + inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); } + inline OpenSearchDataAccessPolicy& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;} + inline OpenSearchDataAccessPolicy& WithPolicyName(Aws::String&& value) { SetPolicyName(std::move(value)); return *this;} + inline OpenSearchDataAccessPolicy& WithPolicyName(const char* value) { SetPolicyName(value); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the status of this OpenSearch + * Service resource.

        + */ + inline const OpenSearchResourceStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const OpenSearchResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(OpenSearchResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline OpenSearchDataAccessPolicy& WithStatus(const OpenSearchResourceStatus& value) { SetStatus(value); return *this;} + inline OpenSearchDataAccessPolicy& WithStatus(OpenSearchResourceStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_policyName; + bool m_policyNameHasBeenSet = false; + + OpenSearchResourceStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchDataSource.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchDataSource.h new file mode 100644 index 00000000000..5a2b19e70cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchDataSource.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains information about the OpenSearch Service data source + * used for this integration. This data source was created as part of the + * integration setup. An OpenSearch Service data source defines the source and + * destination for OpenSearch Service queries. It includes the role required to + * execute queries and write to collections.

        For more information about + * OpenSearch Service data sources , see Creating + * OpenSearch Service data source integrations with Amazon S3.

        See + * Also:

        AWS + * API Reference

        + */ + class OpenSearchDataSource + { + public: + AWS_CLOUDWATCHLOGS_API OpenSearchDataSource(); + AWS_CLOUDWATCHLOGS_API OpenSearchDataSource(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API OpenSearchDataSource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the OpenSearch Service data source.

        + */ + inline const Aws::String& GetDataSourceName() const{ return m_dataSourceName; } + inline bool DataSourceNameHasBeenSet() const { return m_dataSourceNameHasBeenSet; } + inline void SetDataSourceName(const Aws::String& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = value; } + inline void SetDataSourceName(Aws::String&& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = std::move(value); } + inline void SetDataSourceName(const char* value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName.assign(value); } + inline OpenSearchDataSource& WithDataSourceName(const Aws::String& value) { SetDataSourceName(value); return *this;} + inline OpenSearchDataSource& WithDataSourceName(Aws::String&& value) { SetDataSourceName(std::move(value)); return *this;} + inline OpenSearchDataSource& WithDataSourceName(const char* value) { SetDataSourceName(value); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the status of this OpenSearch + * Service resource.

        + */ + inline const OpenSearchResourceStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const OpenSearchResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(OpenSearchResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline OpenSearchDataSource& WithStatus(const OpenSearchResourceStatus& value) { SetStatus(value); return *this;} + inline OpenSearchDataSource& WithStatus(OpenSearchResourceStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_dataSourceName; + bool m_dataSourceNameHasBeenSet = false; + + OpenSearchResourceStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchEncryptionPolicy.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchEncryptionPolicy.h new file mode 100644 index 00000000000..473449bfb66 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchEncryptionPolicy.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains information about the OpenSearch Service encryption + * policy used for this integration. The encryption policy was created + * automatically when you created the integration. For more information, see Encryption + * policies in the OpenSearch Service Developer Guide.

        See + * Also:

        AWS + * API Reference

        + */ + class OpenSearchEncryptionPolicy + { + public: + AWS_CLOUDWATCHLOGS_API OpenSearchEncryptionPolicy(); + AWS_CLOUDWATCHLOGS_API OpenSearchEncryptionPolicy(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API OpenSearchEncryptionPolicy& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the encryption policy.

        + */ + inline const Aws::String& GetPolicyName() const{ return m_policyName; } + inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; } + inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; } + inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = std::move(value); } + inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); } + inline OpenSearchEncryptionPolicy& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;} + inline OpenSearchEncryptionPolicy& WithPolicyName(Aws::String&& value) { SetPolicyName(std::move(value)); return *this;} + inline OpenSearchEncryptionPolicy& WithPolicyName(const char* value) { SetPolicyName(value); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the status of this OpenSearch + * Service resource.

        + */ + inline const OpenSearchResourceStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const OpenSearchResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(OpenSearchResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline OpenSearchEncryptionPolicy& WithStatus(const OpenSearchResourceStatus& value) { SetStatus(value); return *this;} + inline OpenSearchEncryptionPolicy& WithStatus(OpenSearchResourceStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_policyName; + bool m_policyNameHasBeenSet = false; + + OpenSearchResourceStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchIntegrationDetails.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchIntegrationDetails.h new file mode 100644 index 00000000000..288b0f40451 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchIntegrationDetails.h @@ -0,0 +1,216 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains complete information about one CloudWatch Logs + * integration. This structure is returned by a GetIntegration + * operation.

        See Also:

        AWS + * API Reference

        + */ + class OpenSearchIntegrationDetails + { + public: + AWS_CLOUDWATCHLOGS_API OpenSearchIntegrationDetails(); + AWS_CLOUDWATCHLOGS_API OpenSearchIntegrationDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API OpenSearchIntegrationDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        This structure contains information about the OpenSearch Service data source + * used for this integration. This data source was created as part of the + * integration setup. An OpenSearch Service data source defines the source and + * destination for OpenSearch Service queries. It includes the role required to + * execute queries and write to collections.

        For more information about + * OpenSearch Service data sources , see Creating + * OpenSearch Service data source integrations with Amazon S3.

        + */ + inline const OpenSearchDataSource& GetDataSource() const{ return m_dataSource; } + inline bool DataSourceHasBeenSet() const { return m_dataSourceHasBeenSet; } + inline void SetDataSource(const OpenSearchDataSource& value) { m_dataSourceHasBeenSet = true; m_dataSource = value; } + inline void SetDataSource(OpenSearchDataSource&& value) { m_dataSourceHasBeenSet = true; m_dataSource = std::move(value); } + inline OpenSearchIntegrationDetails& WithDataSource(const OpenSearchDataSource& value) { SetDataSource(value); return *this;} + inline OpenSearchIntegrationDetails& WithDataSource(OpenSearchDataSource&& value) { SetDataSource(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the OpenSearch Service application + * used for this integration. An OpenSearch Service application is the web + * application that was created by the integration with CloudWatch Logs. It hosts + * the vended logs dashboards.

        + */ + inline const OpenSearchApplication& GetApplication() const{ return m_application; } + inline bool ApplicationHasBeenSet() const { return m_applicationHasBeenSet; } + inline void SetApplication(const OpenSearchApplication& value) { m_applicationHasBeenSet = true; m_application = value; } + inline void SetApplication(OpenSearchApplication&& value) { m_applicationHasBeenSet = true; m_application = std::move(value); } + inline OpenSearchIntegrationDetails& WithApplication(const OpenSearchApplication& value) { SetApplication(value); return *this;} + inline OpenSearchIntegrationDetails& WithApplication(OpenSearchApplication&& value) { SetApplication(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the OpenSearch Service collection + * used for this integration. This collection was created as part of the + * integration setup. An OpenSearch Service collection is a logical grouping of one + * or more indexes that represent an analytics workload. For more information, see + * Creating + * and managing OpenSearch Service Serverless collections.

        + */ + inline const OpenSearchCollection& GetCollection() const{ return m_collection; } + inline bool CollectionHasBeenSet() const { return m_collectionHasBeenSet; } + inline void SetCollection(const OpenSearchCollection& value) { m_collectionHasBeenSet = true; m_collection = value; } + inline void SetCollection(OpenSearchCollection&& value) { m_collectionHasBeenSet = true; m_collection = std::move(value); } + inline OpenSearchIntegrationDetails& WithCollection(const OpenSearchCollection& value) { SetCollection(value); return *this;} + inline OpenSearchIntegrationDetails& WithCollection(OpenSearchCollection&& value) { SetCollection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the OpenSearch Service workspace + * used for this integration. An OpenSearch Service workspace is the collection of + * dashboards along with other OpenSearch Service tools. This workspace was created + * automatically as part of the integration setup. For more information, see Centralized + * OpenSearch user interface (Dashboards) with OpenSearch Service.

        + */ + inline const OpenSearchWorkspace& GetWorkspace() const{ return m_workspace; } + inline bool WorkspaceHasBeenSet() const { return m_workspaceHasBeenSet; } + inline void SetWorkspace(const OpenSearchWorkspace& value) { m_workspaceHasBeenSet = true; m_workspace = value; } + inline void SetWorkspace(OpenSearchWorkspace&& value) { m_workspaceHasBeenSet = true; m_workspace = std::move(value); } + inline OpenSearchIntegrationDetails& WithWorkspace(const OpenSearchWorkspace& value) { SetWorkspace(value); return *this;} + inline OpenSearchIntegrationDetails& WithWorkspace(OpenSearchWorkspace&& value) { SetWorkspace(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the OpenSearch Service encryption + * policy used for this integration. The encryption policy was created + * automatically when you created the integration. For more information, see Encryption + * policies in the OpenSearch Service Developer Guide.

        + */ + inline const OpenSearchEncryptionPolicy& GetEncryptionPolicy() const{ return m_encryptionPolicy; } + inline bool EncryptionPolicyHasBeenSet() const { return m_encryptionPolicyHasBeenSet; } + inline void SetEncryptionPolicy(const OpenSearchEncryptionPolicy& value) { m_encryptionPolicyHasBeenSet = true; m_encryptionPolicy = value; } + inline void SetEncryptionPolicy(OpenSearchEncryptionPolicy&& value) { m_encryptionPolicyHasBeenSet = true; m_encryptionPolicy = std::move(value); } + inline OpenSearchIntegrationDetails& WithEncryptionPolicy(const OpenSearchEncryptionPolicy& value) { SetEncryptionPolicy(value); return *this;} + inline OpenSearchIntegrationDetails& WithEncryptionPolicy(OpenSearchEncryptionPolicy&& value) { SetEncryptionPolicy(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the OpenSearch Service network + * policy used for this integration. The network policy assigns network access + * settings to collections. For more information, see Network + * policies in the OpenSearch Service Developer Guide.

        + */ + inline const OpenSearchNetworkPolicy& GetNetworkPolicy() const{ return m_networkPolicy; } + inline bool NetworkPolicyHasBeenSet() const { return m_networkPolicyHasBeenSet; } + inline void SetNetworkPolicy(const OpenSearchNetworkPolicy& value) { m_networkPolicyHasBeenSet = true; m_networkPolicy = value; } + inline void SetNetworkPolicy(OpenSearchNetworkPolicy&& value) { m_networkPolicyHasBeenSet = true; m_networkPolicy = std::move(value); } + inline OpenSearchIntegrationDetails& WithNetworkPolicy(const OpenSearchNetworkPolicy& value) { SetNetworkPolicy(value); return *this;} + inline OpenSearchIntegrationDetails& WithNetworkPolicy(OpenSearchNetworkPolicy&& value) { SetNetworkPolicy(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the OpenSearch Service data access + * policy used for this integration. The access policy defines the access controls + * for the collection. This data access policy was automatically created as part of + * the integration setup. For more information about OpenSearch Service data access + * policies, see Data + * access control for Amazon OpenSearch Serverless in the OpenSearch Service + * Developer Guide.

        + */ + inline const OpenSearchDataAccessPolicy& GetAccessPolicy() const{ return m_accessPolicy; } + inline bool AccessPolicyHasBeenSet() const { return m_accessPolicyHasBeenSet; } + inline void SetAccessPolicy(const OpenSearchDataAccessPolicy& value) { m_accessPolicyHasBeenSet = true; m_accessPolicy = value; } + inline void SetAccessPolicy(OpenSearchDataAccessPolicy&& value) { m_accessPolicyHasBeenSet = true; m_accessPolicy = std::move(value); } + inline OpenSearchIntegrationDetails& WithAccessPolicy(const OpenSearchDataAccessPolicy& value) { SetAccessPolicy(value); return *this;} + inline OpenSearchIntegrationDetails& WithAccessPolicy(OpenSearchDataAccessPolicy&& value) { SetAccessPolicy(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the OpenSearch Service data + * lifecycle policy used for this integration. The lifecycle policy determines the + * lifespan of the data in the collection. It was automatically created as part of + * the integration setup.

        For more information, see Using + * data lifecycle policies with OpenSearch Service Serverless in the OpenSearch + * Service Developer Guide.

        + */ + inline const OpenSearchLifecyclePolicy& GetLifecyclePolicy() const{ return m_lifecyclePolicy; } + inline bool LifecyclePolicyHasBeenSet() const { return m_lifecyclePolicyHasBeenSet; } + inline void SetLifecyclePolicy(const OpenSearchLifecyclePolicy& value) { m_lifecyclePolicyHasBeenSet = true; m_lifecyclePolicy = value; } + inline void SetLifecyclePolicy(OpenSearchLifecyclePolicy&& value) { m_lifecyclePolicyHasBeenSet = true; m_lifecyclePolicy = std::move(value); } + inline OpenSearchIntegrationDetails& WithLifecyclePolicy(const OpenSearchLifecyclePolicy& value) { SetLifecyclePolicy(value); return *this;} + inline OpenSearchIntegrationDetails& WithLifecyclePolicy(OpenSearchLifecyclePolicy&& value) { SetLifecyclePolicy(std::move(value)); return *this;} + ///@} + private: + + OpenSearchDataSource m_dataSource; + bool m_dataSourceHasBeenSet = false; + + OpenSearchApplication m_application; + bool m_applicationHasBeenSet = false; + + OpenSearchCollection m_collection; + bool m_collectionHasBeenSet = false; + + OpenSearchWorkspace m_workspace; + bool m_workspaceHasBeenSet = false; + + OpenSearchEncryptionPolicy m_encryptionPolicy; + bool m_encryptionPolicyHasBeenSet = false; + + OpenSearchNetworkPolicy m_networkPolicy; + bool m_networkPolicyHasBeenSet = false; + + OpenSearchDataAccessPolicy m_accessPolicy; + bool m_accessPolicyHasBeenSet = false; + + OpenSearchLifecyclePolicy m_lifecyclePolicy; + bool m_lifecyclePolicyHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchLifecyclePolicy.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchLifecyclePolicy.h new file mode 100644 index 00000000000..69f7bcfb369 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchLifecyclePolicy.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains information about the OpenSearch Service data + * lifecycle policy used for this integration. The lifecycle policy determines the + * lifespan of the data in the collection. It was automatically created as part of + * the integration setup.

        For more information, see Using + * data lifecycle policies with OpenSearch Service Serverless in the OpenSearch + * Service Developer Guide.

        See Also:

        AWS + * API Reference

        + */ + class OpenSearchLifecyclePolicy + { + public: + AWS_CLOUDWATCHLOGS_API OpenSearchLifecyclePolicy(); + AWS_CLOUDWATCHLOGS_API OpenSearchLifecyclePolicy(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API OpenSearchLifecyclePolicy& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the lifecycle policy.

        + */ + inline const Aws::String& GetPolicyName() const{ return m_policyName; } + inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; } + inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; } + inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = std::move(value); } + inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); } + inline OpenSearchLifecyclePolicy& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;} + inline OpenSearchLifecyclePolicy& WithPolicyName(Aws::String&& value) { SetPolicyName(std::move(value)); return *this;} + inline OpenSearchLifecyclePolicy& WithPolicyName(const char* value) { SetPolicyName(value); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the status of this OpenSearch + * Service resource.

        + */ + inline const OpenSearchResourceStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const OpenSearchResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(OpenSearchResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline OpenSearchLifecyclePolicy& WithStatus(const OpenSearchResourceStatus& value) { SetStatus(value); return *this;} + inline OpenSearchLifecyclePolicy& WithStatus(OpenSearchResourceStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_policyName; + bool m_policyNameHasBeenSet = false; + + OpenSearchResourceStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchNetworkPolicy.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchNetworkPolicy.h new file mode 100644 index 00000000000..23a15c3c270 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchNetworkPolicy.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains information about the OpenSearch Service network + * policy used for this integration. The network policy assigns network access + * settings to collections. For more information, see Network + * policies in the OpenSearch Service Developer Guide.

        See Also:

        + * AWS + * API Reference

        + */ + class OpenSearchNetworkPolicy + { + public: + AWS_CLOUDWATCHLOGS_API OpenSearchNetworkPolicy(); + AWS_CLOUDWATCHLOGS_API OpenSearchNetworkPolicy(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API OpenSearchNetworkPolicy& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the network policy.

        + */ + inline const Aws::String& GetPolicyName() const{ return m_policyName; } + inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; } + inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; } + inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = std::move(value); } + inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); } + inline OpenSearchNetworkPolicy& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;} + inline OpenSearchNetworkPolicy& WithPolicyName(Aws::String&& value) { SetPolicyName(std::move(value)); return *this;} + inline OpenSearchNetworkPolicy& WithPolicyName(const char* value) { SetPolicyName(value); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the status of this OpenSearch + * Service resource.

        + */ + inline const OpenSearchResourceStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const OpenSearchResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(OpenSearchResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline OpenSearchNetworkPolicy& WithStatus(const OpenSearchResourceStatus& value) { SetStatus(value); return *this;} + inline OpenSearchNetworkPolicy& WithStatus(OpenSearchResourceStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_policyName; + bool m_policyNameHasBeenSet = false; + + OpenSearchResourceStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceConfig.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceConfig.h new file mode 100644 index 00000000000..359ae430f79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceConfig.h @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains configuration details about an integration between + * CloudWatch Logs and OpenSearch Service.

        See Also:

        AWS + * API Reference

        + */ + class OpenSearchResourceConfig + { + public: + AWS_CLOUDWATCHLOGS_API OpenSearchResourceConfig(); + AWS_CLOUDWATCHLOGS_API OpenSearchResourceConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API OpenSearchResourceConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        To have the vended dashboard data encrypted with KMS instead of the + * CloudWatch Logs default encryption method, specify the ARN of the KMS key that + * you want to use.

        + */ + inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; } + inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; } + inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = value; } + inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::move(value); } + inline void SetKmsKeyArn(const char* value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn.assign(value); } + inline OpenSearchResourceConfig& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;} + inline OpenSearchResourceConfig& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;} + inline OpenSearchResourceConfig& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Specify the ARN of an IAM role that CloudWatch Logs will use to create the + * integration. This role must have the permissions necessary to access the + * OpenSearch Service collection to be able to create the dashboards. For more + * information about the permissions needed, see Create an + * IAM role to access the OpenSearch Service collection in the CloudWatch Logs + * User Guide.

        + */ + inline const Aws::String& GetDataSourceRoleArn() const{ return m_dataSourceRoleArn; } + inline bool DataSourceRoleArnHasBeenSet() const { return m_dataSourceRoleArnHasBeenSet; } + inline void SetDataSourceRoleArn(const Aws::String& value) { m_dataSourceRoleArnHasBeenSet = true; m_dataSourceRoleArn = value; } + inline void SetDataSourceRoleArn(Aws::String&& value) { m_dataSourceRoleArnHasBeenSet = true; m_dataSourceRoleArn = std::move(value); } + inline void SetDataSourceRoleArn(const char* value) { m_dataSourceRoleArnHasBeenSet = true; m_dataSourceRoleArn.assign(value); } + inline OpenSearchResourceConfig& WithDataSourceRoleArn(const Aws::String& value) { SetDataSourceRoleArn(value); return *this;} + inline OpenSearchResourceConfig& WithDataSourceRoleArn(Aws::String&& value) { SetDataSourceRoleArn(std::move(value)); return *this;} + inline OpenSearchResourceConfig& WithDataSourceRoleArn(const char* value) { SetDataSourceRoleArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Specify the ARNs of IAM roles and IAM users who you want to grant permission + * to for viewing the dashboards.

        In addition to specifying + * these users here, you must also grant them the + * CloudWatchOpenSearchDashboardsAccess IAM policy. For more information, + * see

        + */ + inline const Aws::Vector& GetDashboardViewerPrincipals() const{ return m_dashboardViewerPrincipals; } + inline bool DashboardViewerPrincipalsHasBeenSet() const { return m_dashboardViewerPrincipalsHasBeenSet; } + inline void SetDashboardViewerPrincipals(const Aws::Vector& value) { m_dashboardViewerPrincipalsHasBeenSet = true; m_dashboardViewerPrincipals = value; } + inline void SetDashboardViewerPrincipals(Aws::Vector&& value) { m_dashboardViewerPrincipalsHasBeenSet = true; m_dashboardViewerPrincipals = std::move(value); } + inline OpenSearchResourceConfig& WithDashboardViewerPrincipals(const Aws::Vector& value) { SetDashboardViewerPrincipals(value); return *this;} + inline OpenSearchResourceConfig& WithDashboardViewerPrincipals(Aws::Vector&& value) { SetDashboardViewerPrincipals(std::move(value)); return *this;} + inline OpenSearchResourceConfig& AddDashboardViewerPrincipals(const Aws::String& value) { m_dashboardViewerPrincipalsHasBeenSet = true; m_dashboardViewerPrincipals.push_back(value); return *this; } + inline OpenSearchResourceConfig& AddDashboardViewerPrincipals(Aws::String&& value) { m_dashboardViewerPrincipalsHasBeenSet = true; m_dashboardViewerPrincipals.push_back(std::move(value)); return *this; } + inline OpenSearchResourceConfig& AddDashboardViewerPrincipals(const char* value) { m_dashboardViewerPrincipalsHasBeenSet = true; m_dashboardViewerPrincipals.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        If you want to use an existing OpenSearch Service application for your + * integration with OpenSearch Service, specify it here. If you omit this, a new + * application will be created.

        + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + inline bool ApplicationArnHasBeenSet() const { return m_applicationArnHasBeenSet; } + inline void SetApplicationArn(const Aws::String& value) { m_applicationArnHasBeenSet = true; m_applicationArn = value; } + inline void SetApplicationArn(Aws::String&& value) { m_applicationArnHasBeenSet = true; m_applicationArn = std::move(value); } + inline void SetApplicationArn(const char* value) { m_applicationArnHasBeenSet = true; m_applicationArn.assign(value); } + inline OpenSearchResourceConfig& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + inline OpenSearchResourceConfig& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + inline OpenSearchResourceConfig& WithApplicationArn(const char* value) { SetApplicationArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Specify how many days that you want the data derived by OpenSearch Service to + * be retained in the index that the dashboard refers to. This also sets the + * maximum time period that you can choose when viewing data in the dashboard. + * Choosing a longer time frame will incur additional costs.

        + */ + inline int GetRetentionDays() const{ return m_retentionDays; } + inline bool RetentionDaysHasBeenSet() const { return m_retentionDaysHasBeenSet; } + inline void SetRetentionDays(int value) { m_retentionDaysHasBeenSet = true; m_retentionDays = value; } + inline OpenSearchResourceConfig& WithRetentionDays(int value) { SetRetentionDays(value); return *this;} + ///@} + private: + + Aws::String m_kmsKeyArn; + bool m_kmsKeyArnHasBeenSet = false; + + Aws::String m_dataSourceRoleArn; + bool m_dataSourceRoleArnHasBeenSet = false; + + Aws::Vector m_dashboardViewerPrincipals; + bool m_dashboardViewerPrincipalsHasBeenSet = false; + + Aws::String m_applicationArn; + bool m_applicationArnHasBeenSet = false; + + int m_retentionDays; + bool m_retentionDaysHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceStatus.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceStatus.h new file mode 100644 index 00000000000..e17b9a25075 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceStatus.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains information about the status of an OpenSearch Service + * resource.

        See Also:

        AWS + * API Reference

        + */ + class OpenSearchResourceStatus + { + public: + AWS_CLOUDWATCHLOGS_API OpenSearchResourceStatus(); + AWS_CLOUDWATCHLOGS_API OpenSearchResourceStatus(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API OpenSearchResourceStatus& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The current status of this resource.

        + */ + inline const OpenSearchResourceStatusType& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const OpenSearchResourceStatusType& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(OpenSearchResourceStatusType&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline OpenSearchResourceStatus& WithStatus(const OpenSearchResourceStatusType& value) { SetStatus(value); return *this;} + inline OpenSearchResourceStatus& WithStatus(OpenSearchResourceStatusType&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        A message with additional information about the status of this resource.

        + */ + inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } + inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } + inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } + inline OpenSearchResourceStatus& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} + inline OpenSearchResourceStatus& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} + inline OpenSearchResourceStatus& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} + ///@} + private: + + OpenSearchResourceStatusType m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceStatusType.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceStatusType.h new file mode 100644 index 00000000000..0d4982585f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchResourceStatusType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + enum class OpenSearchResourceStatusType + { + NOT_SET, + ACTIVE, + NOT_FOUND, + ERROR_ + }; + +namespace OpenSearchResourceStatusTypeMapper +{ +AWS_CLOUDWATCHLOGS_API OpenSearchResourceStatusType GetOpenSearchResourceStatusTypeForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForOpenSearchResourceStatusType(OpenSearchResourceStatusType value); +} // namespace OpenSearchResourceStatusTypeMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchWorkspace.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchWorkspace.h new file mode 100644 index 00000000000..495e7ba9153 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OpenSearchWorkspace.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains information about the OpenSearch Service workspace + * used for this integration. An OpenSearch Service workspace is the collection of + * dashboards along with other OpenSearch Service tools. This workspace was created + * automatically as part of the integration setup. For more information, see Centralized + * OpenSearch user interface (Dashboards) with OpenSearch + * Service.

        See Also:

        AWS + * API Reference

        + */ + class OpenSearchWorkspace + { + public: + AWS_CLOUDWATCHLOGS_API OpenSearchWorkspace(); + AWS_CLOUDWATCHLOGS_API OpenSearchWorkspace(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API OpenSearchWorkspace& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The ID of this workspace.

        + */ + inline const Aws::String& GetWorkspaceId() const{ return m_workspaceId; } + inline bool WorkspaceIdHasBeenSet() const { return m_workspaceIdHasBeenSet; } + inline void SetWorkspaceId(const Aws::String& value) { m_workspaceIdHasBeenSet = true; m_workspaceId = value; } + inline void SetWorkspaceId(Aws::String&& value) { m_workspaceIdHasBeenSet = true; m_workspaceId = std::move(value); } + inline void SetWorkspaceId(const char* value) { m_workspaceIdHasBeenSet = true; m_workspaceId.assign(value); } + inline OpenSearchWorkspace& WithWorkspaceId(const Aws::String& value) { SetWorkspaceId(value); return *this;} + inline OpenSearchWorkspace& WithWorkspaceId(Aws::String&& value) { SetWorkspaceId(std::move(value)); return *this;} + inline OpenSearchWorkspace& WithWorkspaceId(const char* value) { SetWorkspaceId(value); return *this;} + ///@} + + ///@{ + /** + *

        This structure contains information about the status of an OpenSearch Service + * resource.

        + */ + inline const OpenSearchResourceStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const OpenSearchResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(OpenSearchResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline OpenSearchWorkspace& WithStatus(const OpenSearchResourceStatus& value) { SetStatus(value); return *this;} + inline OpenSearchWorkspace& WithStatus(OpenSearchResourceStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_workspaceId; + bool m_workspaceIdHasBeenSet = false; + + OpenSearchResourceStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutIntegrationRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutIntegrationRequest.h new file mode 100644 index 00000000000..3c543478175 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutIntegrationRequest.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + */ + class PutIntegrationRequest : public CloudWatchLogsRequest + { + public: + AWS_CLOUDWATCHLOGS_API PutIntegrationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutIntegration"; } + + AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; + + AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        A name for the integration.

        + */ + inline const Aws::String& GetIntegrationName() const{ return m_integrationName; } + inline bool IntegrationNameHasBeenSet() const { return m_integrationNameHasBeenSet; } + inline void SetIntegrationName(const Aws::String& value) { m_integrationNameHasBeenSet = true; m_integrationName = value; } + inline void SetIntegrationName(Aws::String&& value) { m_integrationNameHasBeenSet = true; m_integrationName = std::move(value); } + inline void SetIntegrationName(const char* value) { m_integrationNameHasBeenSet = true; m_integrationName.assign(value); } + inline PutIntegrationRequest& WithIntegrationName(const Aws::String& value) { SetIntegrationName(value); return *this;} + inline PutIntegrationRequest& WithIntegrationName(Aws::String&& value) { SetIntegrationName(std::move(value)); return *this;} + inline PutIntegrationRequest& WithIntegrationName(const char* value) { SetIntegrationName(value); return *this;} + ///@} + + ///@{ + /** + *

        A structure that contains configuration information for the integration that + * you are creating.

        + */ + inline const ResourceConfig& GetResourceConfig() const{ return m_resourceConfig; } + inline bool ResourceConfigHasBeenSet() const { return m_resourceConfigHasBeenSet; } + inline void SetResourceConfig(const ResourceConfig& value) { m_resourceConfigHasBeenSet = true; m_resourceConfig = value; } + inline void SetResourceConfig(ResourceConfig&& value) { m_resourceConfigHasBeenSet = true; m_resourceConfig = std::move(value); } + inline PutIntegrationRequest& WithResourceConfig(const ResourceConfig& value) { SetResourceConfig(value); return *this;} + inline PutIntegrationRequest& WithResourceConfig(ResourceConfig&& value) { SetResourceConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The type of integration. Currently, the only supported type is + * OPENSEARCH.

        + */ + inline const IntegrationType& GetIntegrationType() const{ return m_integrationType; } + inline bool IntegrationTypeHasBeenSet() const { return m_integrationTypeHasBeenSet; } + inline void SetIntegrationType(const IntegrationType& value) { m_integrationTypeHasBeenSet = true; m_integrationType = value; } + inline void SetIntegrationType(IntegrationType&& value) { m_integrationTypeHasBeenSet = true; m_integrationType = std::move(value); } + inline PutIntegrationRequest& WithIntegrationType(const IntegrationType& value) { SetIntegrationType(value); return *this;} + inline PutIntegrationRequest& WithIntegrationType(IntegrationType&& value) { SetIntegrationType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_integrationName; + bool m_integrationNameHasBeenSet = false; + + ResourceConfig m_resourceConfig; + bool m_resourceConfigHasBeenSet = false; + + IntegrationType m_integrationType; + bool m_integrationTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutIntegrationResult.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutIntegrationResult.h new file mode 100644 index 00000000000..5835bebb95c --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutIntegrationResult.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + class PutIntegrationResult + { + public: + AWS_CLOUDWATCHLOGS_API PutIntegrationResult(); + AWS_CLOUDWATCHLOGS_API PutIntegrationResult(const Aws::AmazonWebServiceResult& result); + AWS_CLOUDWATCHLOGS_API PutIntegrationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The name of the integration that you just created.

        + */ + inline const Aws::String& GetIntegrationName() const{ return m_integrationName; } + inline void SetIntegrationName(const Aws::String& value) { m_integrationName = value; } + inline void SetIntegrationName(Aws::String&& value) { m_integrationName = std::move(value); } + inline void SetIntegrationName(const char* value) { m_integrationName.assign(value); } + inline PutIntegrationResult& WithIntegrationName(const Aws::String& value) { SetIntegrationName(value); return *this;} + inline PutIntegrationResult& WithIntegrationName(Aws::String&& value) { SetIntegrationName(std::move(value)); return *this;} + inline PutIntegrationResult& WithIntegrationName(const char* value) { SetIntegrationName(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of the integration that you just created.

        After you create + * an integration, it takes a few minutes to complete. During this time, you'll see + * the status as PROVISIONING.

        + */ + inline const IntegrationStatus& GetIntegrationStatus() const{ return m_integrationStatus; } + inline void SetIntegrationStatus(const IntegrationStatus& value) { m_integrationStatus = value; } + inline void SetIntegrationStatus(IntegrationStatus&& value) { m_integrationStatus = std::move(value); } + inline PutIntegrationResult& WithIntegrationStatus(const IntegrationStatus& value) { SetIntegrationStatus(value); return *this;} + inline PutIntegrationResult& WithIntegrationStatus(IntegrationStatus&& value) { SetIntegrationStatus(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline PutIntegrationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline PutIntegrationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline PutIntegrationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_integrationName; + + IntegrationStatus m_integrationStatus; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutQueryDefinitionRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutQueryDefinitionRequest.h index 1dc8351e291..8ac68822ffd 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutQueryDefinitionRequest.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PutQueryDefinitionRequest.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include #include @@ -36,6 +37,22 @@ namespace Model AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + ///@{ + /** + *

        Specify the query language to use for this query. The options are Logs + * Insights QL, OpenSearch PPL, and OpenSearch SQL. For more information about the + * query languages that CloudWatch Logs supports, see Supported + * query languages.

        + */ + inline const QueryLanguage& GetQueryLanguage() const{ return m_queryLanguage; } + inline bool QueryLanguageHasBeenSet() const { return m_queryLanguageHasBeenSet; } + inline void SetQueryLanguage(const QueryLanguage& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = value; } + inline void SetQueryLanguage(QueryLanguage&& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = std::move(value); } + inline PutQueryDefinitionRequest& WithQueryLanguage(const QueryLanguage& value) { SetQueryLanguage(value); return *this;} + inline PutQueryDefinitionRequest& WithQueryLanguage(QueryLanguage&& value) { SetQueryLanguage(std::move(value)); return *this;} + ///@} + ///@{ /** *

        A name for the query definition. If you are saving numerous query @@ -77,8 +94,11 @@ namespace Model ///@{ /** *

        Use this parameter to include specific log groups as part of your query - * definition.

        If you are updating a query definition and you omit this - * parameter, then the updated definition will contain no log groups.

        + * definition. If your query uses the OpenSearch Service query language, you + * specify the log group names inside the querystring instead of + * here.

        If you are updating an existing query definition for the Logs + * Insights QL or OpenSearch Service PPL and you omit this parameter, then the + * updated definition will contain no log groups.

        */ inline const Aws::Vector& GetLogGroupNames() const{ return m_logGroupNames; } inline bool LogGroupNamesHasBeenSet() const { return m_logGroupNamesHasBeenSet; } @@ -123,6 +143,9 @@ namespace Model ///@} private: + QueryLanguage m_queryLanguage; + bool m_queryLanguageHasBeenSet = false; + Aws::String m_name; bool m_nameHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryDefinition.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryDefinition.h index c1e7a98b2d9..db0be74353c 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryDefinition.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryDefinition.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include #include @@ -39,6 +40,21 @@ namespace Model AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

        The query language used for this query. For more information about the query + * languages that CloudWatch Logs supports, see Supported + * query languages.

        + */ + inline const QueryLanguage& GetQueryLanguage() const{ return m_queryLanguage; } + inline bool QueryLanguageHasBeenSet() const { return m_queryLanguageHasBeenSet; } + inline void SetQueryLanguage(const QueryLanguage& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = value; } + inline void SetQueryLanguage(QueryLanguage&& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = std::move(value); } + inline QueryDefinition& WithQueryLanguage(const QueryLanguage& value) { SetQueryLanguage(value); return *this;} + inline QueryDefinition& WithQueryLanguage(QueryLanguage&& value) { SetQueryLanguage(std::move(value)); return *this;} + ///@} + ///@{ /** *

        The unique ID of the query definition.

        @@ -110,6 +126,9 @@ namespace Model ///@} private: + QueryLanguage m_queryLanguage; + bool m_queryLanguageHasBeenSet = false; + Aws::String m_queryDefinitionId; bool m_queryDefinitionIdHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryInfo.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryInfo.h index 3ea006de28f..4a175378814 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryInfo.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryInfo.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include #include @@ -39,6 +40,21 @@ namespace Model AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

        The query language used for this query. For more information about the query + * languages that CloudWatch Logs supports, see Supported + * query languages.

        + */ + inline const QueryLanguage& GetQueryLanguage() const{ return m_queryLanguage; } + inline bool QueryLanguageHasBeenSet() const { return m_queryLanguageHasBeenSet; } + inline void SetQueryLanguage(const QueryLanguage& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = value; } + inline void SetQueryLanguage(QueryLanguage&& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = std::move(value); } + inline QueryInfo& WithQueryLanguage(const QueryLanguage& value) { SetQueryLanguage(value); return *this;} + inline QueryInfo& WithQueryLanguage(QueryLanguage&& value) { SetQueryLanguage(std::move(value)); return *this;} + ///@} + ///@{ /** *

        The unique ID number of this query.

        @@ -106,6 +122,9 @@ namespace Model ///@} private: + QueryLanguage m_queryLanguage; + bool m_queryLanguageHasBeenSet = false; + Aws::String m_queryId; bool m_queryIdHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryLanguage.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryLanguage.h new file mode 100644 index 00000000000..020635bb1b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/QueryLanguage.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + enum class QueryLanguage + { + NOT_SET, + CWLI, + SQL, + PPL + }; + +namespace QueryLanguageMapper +{ +AWS_CLOUDWATCHLOGS_API QueryLanguage GetQueryLanguageForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForQueryLanguage(QueryLanguage value); +} // namespace QueryLanguageMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ResourceConfig.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ResourceConfig.h new file mode 100644 index 00000000000..44a6434deb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ResourceConfig.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

        This structure contains configuration details about an integration between + * CloudWatch Logs and another entity.

        See Also:

        AWS + * API Reference

        + */ + class ResourceConfig + { + public: + AWS_CLOUDWATCHLOGS_API ResourceConfig(); + AWS_CLOUDWATCHLOGS_API ResourceConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API ResourceConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        This structure contains configuration details about an integration between + * CloudWatch Logs and OpenSearch Service.

        + */ + inline const OpenSearchResourceConfig& GetOpenSearchResourceConfig() const{ return m_openSearchResourceConfig; } + inline bool OpenSearchResourceConfigHasBeenSet() const { return m_openSearchResourceConfigHasBeenSet; } + inline void SetOpenSearchResourceConfig(const OpenSearchResourceConfig& value) { m_openSearchResourceConfigHasBeenSet = true; m_openSearchResourceConfig = value; } + inline void SetOpenSearchResourceConfig(OpenSearchResourceConfig&& value) { m_openSearchResourceConfigHasBeenSet = true; m_openSearchResourceConfig = std::move(value); } + inline ResourceConfig& WithOpenSearchResourceConfig(const OpenSearchResourceConfig& value) { SetOpenSearchResourceConfig(value); return *this;} + inline ResourceConfig& WithOpenSearchResourceConfig(OpenSearchResourceConfig&& value) { SetOpenSearchResourceConfig(std::move(value)); return *this;} + ///@} + private: + + OpenSearchResourceConfig m_openSearchResourceConfig; + bool m_openSearchResourceConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/StartQueryRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/StartQueryRequest.h index 33ad5add7ea..f136b5adbab 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/StartQueryRequest.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/StartQueryRequest.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include #include @@ -37,7 +38,28 @@ namespace Model ///@{ /** - *

        The log group on which to perform the query.

        + *

        Specify the query language to use for this query. The options are Logs + * Insights QL, OpenSearch PPL, and OpenSearch SQL. For more information about the + * query languages that CloudWatch Logs supports, see Supported + * query languages.

        + */ + inline const QueryLanguage& GetQueryLanguage() const{ return m_queryLanguage; } + inline bool QueryLanguageHasBeenSet() const { return m_queryLanguageHasBeenSet; } + inline void SetQueryLanguage(const QueryLanguage& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = value; } + inline void SetQueryLanguage(QueryLanguage&& value) { m_queryLanguageHasBeenSet = true; m_queryLanguage = std::move(value); } + inline StartQueryRequest& WithQueryLanguage(const QueryLanguage& value) { SetQueryLanguage(value); return *this;} + inline StartQueryRequest& WithQueryLanguage(QueryLanguage&& value) { SetQueryLanguage(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The log group on which to perform the query.

        A + * StartQuery operation must include exactly one of the following + * parameters: logGroupName, logGroupNames, or + * logGroupIdentifiers. The exception is queries using the OpenSearch + * Service SQL query language, where you specify the log group names inside the + * querystring instead of here.

        */ inline const Aws::String& GetLogGroupName() const{ return m_logGroupName; } inline bool LogGroupNameHasBeenSet() const { return m_logGroupNameHasBeenSet; } @@ -52,7 +74,12 @@ namespace Model ///@{ /** *

        The list of log groups to be queried. You can include up to 50 log - * groups.

        + * groups.

        A StartQuery operation must include exactly + * one of the following parameters: logGroupName, + * logGroupNames, or logGroupIdentifiers. The exception + * is queries using the OpenSearch Service SQL query language, where you specify + * the log group names inside the querystring instead of here.

        + * */ inline const Aws::Vector& GetLogGroupNames() const{ return m_logGroupNames; } inline bool LogGroupNamesHasBeenSet() const { return m_logGroupNamesHasBeenSet; } @@ -75,7 +102,9 @@ namespace Model * arn:aws:logs:region:account-id:log-group:log_group_name * Don't include an * at the end.

        A StartQuery operation must * include exactly one of the following parameters: logGroupName, - * logGroupNames, or logGroupIdentifiers.

        + * logGroupNames, or logGroupIdentifiers. The exception + * is queries using the OpenSearch Service SQL query language, where you specify + * the log group names inside the querystring instead of here.

        */ inline const Aws::Vector& GetLogGroupIdentifiers() const{ return m_logGroupIdentifiers; } inline bool LogGroupIdentifiersHasBeenSet() const { return m_logGroupIdentifiersHasBeenSet; } @@ -141,6 +170,9 @@ namespace Model ///@} private: + QueryLanguage m_queryLanguage; + bool m_queryLanguageHasBeenSet = false; + Aws::String m_logGroupName; bool m_logGroupNameHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp b/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp index 3424c2b18d0..c221763d1c8 100644 --- a/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -69,6 +70,7 @@ #include #include #include +#include #include #include #include @@ -76,6 +78,7 @@ #include #include #include +#include #include #include #include @@ -87,6 +90,7 @@ #include #include #include +#include #include #include #include @@ -637,6 +641,32 @@ DeleteIndexPolicyOutcome CloudWatchLogsClient::DeleteIndexPolicy(const DeleteInd {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteIntegrationOutcome CloudWatchLogsClient::DeleteIntegration(const DeleteIntegrationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteIntegration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteIntegration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteIntegrationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteIntegrationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteLogAnomalyDetectorOutcome CloudWatchLogsClient::DeleteLogAnomalyDetector(const DeleteLogAnomalyDetectorRequest& request) const { AWS_OPERATION_GUARD(DeleteLogAnomalyDetector); @@ -1469,6 +1499,32 @@ GetDeliverySourceOutcome CloudWatchLogsClient::GetDeliverySource(const GetDelive {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetIntegrationOutcome CloudWatchLogsClient::GetIntegration(const GetIntegrationRequest& request) const +{ + AWS_OPERATION_GUARD(GetIntegration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetIntegration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetIntegrationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetIntegrationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetLogAnomalyDetectorOutcome CloudWatchLogsClient::GetLogAnomalyDetector(const GetLogAnomalyDetectorRequest& request) const { AWS_OPERATION_GUARD(GetLogAnomalyDetector); @@ -1651,6 +1707,32 @@ ListAnomaliesOutcome CloudWatchLogsClient::ListAnomalies(const ListAnomaliesRequ {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListIntegrationsOutcome CloudWatchLogsClient::ListIntegrations(const ListIntegrationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListIntegrations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListIntegrations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListIntegrations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListIntegrations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListIntegrations", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListIntegrationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListIntegrations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListIntegrationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListLogAnomalyDetectorsOutcome CloudWatchLogsClient::ListLogAnomalyDetectors(const ListLogAnomalyDetectorsRequest& request) const { AWS_OPERATION_GUARD(ListLogAnomalyDetectors); @@ -1937,6 +2019,32 @@ PutIndexPolicyOutcome CloudWatchLogsClient::PutIndexPolicy(const PutIndexPolicyR {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +PutIntegrationOutcome CloudWatchLogsClient::PutIntegration(const PutIntegrationRequest& request) const +{ + AWS_OPERATION_GUARD(PutIntegration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutIntegration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutIntegrationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return PutIntegrationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + PutLogEventsOutcome CloudWatchLogsClient::PutLogEvents(const PutLogEventsRequest& request) const { AWS_OPERATION_GUARD(PutLogEvents); diff --git a/generated/src/aws-cpp-sdk-logs/source/model/DeleteIntegrationRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/DeleteIntegrationRequest.cpp new file mode 100644 index 00000000000..b648849c396 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/DeleteIntegrationRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteIntegrationRequest::DeleteIntegrationRequest() : + m_integrationNameHasBeenSet(false), + m_force(false), + m_forceHasBeenSet(false) +{ +} + +Aws::String DeleteIntegrationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_integrationNameHasBeenSet) + { + payload.WithString("integrationName", m_integrationName); + + } + + if(m_forceHasBeenSet) + { + payload.WithBool("force", m_force); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteIntegrationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Logs_20140328.DeleteIntegration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-logs/source/model/DeleteIntegrationResult.cpp b/generated/src/aws-cpp-sdk-logs/source/model/DeleteIntegrationResult.cpp new file mode 100644 index 00000000000..dd6978632fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/DeleteIntegrationResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteIntegrationResult::DeleteIntegrationResult() +{ +} + +DeleteIntegrationResult::DeleteIntegrationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteIntegrationResult& DeleteIntegrationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-logs/source/model/DescribeQueriesRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/DescribeQueriesRequest.cpp index 26d4d0b212a..cad078a47e3 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/DescribeQueriesRequest.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/DescribeQueriesRequest.cpp @@ -18,7 +18,9 @@ DescribeQueriesRequest::DescribeQueriesRequest() : m_statusHasBeenSet(false), m_maxResults(0), m_maxResultsHasBeenSet(false), - m_nextTokenHasBeenSet(false) + m_nextTokenHasBeenSet(false), + m_queryLanguage(QueryLanguage::NOT_SET), + m_queryLanguageHasBeenSet(false) { } @@ -49,6 +51,11 @@ Aws::String DescribeQueriesRequest::SerializePayload() const } + if(m_queryLanguageHasBeenSet) + { + payload.WithString("queryLanguage", QueryLanguageMapper::GetNameForQueryLanguage(m_queryLanguage)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-logs/source/model/DescribeQueryDefinitionsRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/DescribeQueryDefinitionsRequest.cpp index b10bb734d9a..27c61fd31cf 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/DescribeQueryDefinitionsRequest.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/DescribeQueryDefinitionsRequest.cpp @@ -13,6 +13,8 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; DescribeQueryDefinitionsRequest::DescribeQueryDefinitionsRequest() : + m_queryLanguage(QueryLanguage::NOT_SET), + m_queryLanguageHasBeenSet(false), m_queryDefinitionNamePrefixHasBeenSet(false), m_maxResults(0), m_maxResultsHasBeenSet(false), @@ -24,6 +26,11 @@ Aws::String DescribeQueryDefinitionsRequest::SerializePayload() const { JsonValue payload; + if(m_queryLanguageHasBeenSet) + { + payload.WithString("queryLanguage", QueryLanguageMapper::GetNameForQueryLanguage(m_queryLanguage)); + } + if(m_queryDefinitionNamePrefixHasBeenSet) { payload.WithString("queryDefinitionNamePrefix", m_queryDefinitionNamePrefix); diff --git a/generated/src/aws-cpp-sdk-logs/source/model/GetIntegrationRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/GetIntegrationRequest.cpp new file mode 100644 index 00000000000..161c0d96b68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/GetIntegrationRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetIntegrationRequest::GetIntegrationRequest() : + m_integrationNameHasBeenSet(false) +{ +} + +Aws::String GetIntegrationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_integrationNameHasBeenSet) + { + payload.WithString("integrationName", m_integrationName); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetIntegrationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Logs_20140328.GetIntegration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-logs/source/model/GetIntegrationResult.cpp b/generated/src/aws-cpp-sdk-logs/source/model/GetIntegrationResult.cpp new file mode 100644 index 00000000000..0c85b1f6d2d --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/GetIntegrationResult.cpp @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetIntegrationResult::GetIntegrationResult() : + m_integrationType(IntegrationType::NOT_SET), + m_integrationStatus(IntegrationStatus::NOT_SET) +{ +} + +GetIntegrationResult::GetIntegrationResult(const Aws::AmazonWebServiceResult& result) + : GetIntegrationResult() +{ + *this = result; +} + +GetIntegrationResult& GetIntegrationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("integrationName")) + { + m_integrationName = jsonValue.GetString("integrationName"); + + } + + if(jsonValue.ValueExists("integrationType")) + { + m_integrationType = IntegrationTypeMapper::GetIntegrationTypeForName(jsonValue.GetString("integrationType")); + + } + + if(jsonValue.ValueExists("integrationStatus")) + { + m_integrationStatus = IntegrationStatusMapper::GetIntegrationStatusForName(jsonValue.GetString("integrationStatus")); + + } + + if(jsonValue.ValueExists("integrationDetails")) + { + m_integrationDetails = jsonValue.GetObject("integrationDetails"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-logs/source/model/GetQueryResultsResult.cpp b/generated/src/aws-cpp-sdk-logs/source/model/GetQueryResultsResult.cpp index 9da76899445..00e8093dd4e 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/GetQueryResultsResult.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/GetQueryResultsResult.cpp @@ -18,6 +18,7 @@ using namespace Aws::Utils; using namespace Aws; GetQueryResultsResult::GetQueryResultsResult() : + m_queryLanguage(QueryLanguage::NOT_SET), m_status(QueryStatus::NOT_SET) { } @@ -31,6 +32,12 @@ GetQueryResultsResult::GetQueryResultsResult(const Aws::AmazonWebServiceResult& result) { JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("queryLanguage")) + { + m_queryLanguage = QueryLanguageMapper::GetQueryLanguageForName(jsonValue.GetString("queryLanguage")); + + } + if(jsonValue.ValueExists("results")) { Aws::Utils::Array resultsJsonList = jsonValue.GetArray("results"); diff --git a/generated/src/aws-cpp-sdk-logs/source/model/IntegrationDetails.cpp b/generated/src/aws-cpp-sdk-logs/source/model/IntegrationDetails.cpp new file mode 100644 index 00000000000..4fa4fc8fbbd --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/IntegrationDetails.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +IntegrationDetails::IntegrationDetails() : + m_openSearchIntegrationDetailsHasBeenSet(false) +{ +} + +IntegrationDetails::IntegrationDetails(JsonView jsonValue) + : IntegrationDetails() +{ + *this = jsonValue; +} + +IntegrationDetails& IntegrationDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("openSearchIntegrationDetails")) + { + m_openSearchIntegrationDetails = jsonValue.GetObject("openSearchIntegrationDetails"); + + m_openSearchIntegrationDetailsHasBeenSet = true; + } + + return *this; +} + +JsonValue IntegrationDetails::Jsonize() const +{ + JsonValue payload; + + if(m_openSearchIntegrationDetailsHasBeenSet) + { + payload.WithObject("openSearchIntegrationDetails", m_openSearchIntegrationDetails.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/IntegrationStatus.cpp b/generated/src/aws-cpp-sdk-logs/source/model/IntegrationStatus.cpp new file mode 100644 index 00000000000..e283aee09b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/IntegrationStatus.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CloudWatchLogs + { + namespace Model + { + namespace IntegrationStatusMapper + { + + static const int PROVISIONING_HASH = HashingUtils::HashString("PROVISIONING"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + + + IntegrationStatus GetIntegrationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PROVISIONING_HASH) + { + return IntegrationStatus::PROVISIONING; + } + else if (hashCode == ACTIVE_HASH) + { + return IntegrationStatus::ACTIVE; + } + else if (hashCode == FAILED_HASH) + { + return IntegrationStatus::FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IntegrationStatus::NOT_SET; + } + + Aws::String GetNameForIntegrationStatus(IntegrationStatus enumValue) + { + switch(enumValue) + { + case IntegrationStatus::NOT_SET: + return {}; + case IntegrationStatus::PROVISIONING: + return "PROVISIONING"; + case IntegrationStatus::ACTIVE: + return "ACTIVE"; + case IntegrationStatus::FAILED: + return "FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IntegrationStatusMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/IntegrationSummary.cpp b/generated/src/aws-cpp-sdk-logs/source/model/IntegrationSummary.cpp new file mode 100644 index 00000000000..0ea7d6afdb0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/IntegrationSummary.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +IntegrationSummary::IntegrationSummary() : + m_integrationNameHasBeenSet(false), + m_integrationType(IntegrationType::NOT_SET), + m_integrationTypeHasBeenSet(false), + m_integrationStatus(IntegrationStatus::NOT_SET), + m_integrationStatusHasBeenSet(false) +{ +} + +IntegrationSummary::IntegrationSummary(JsonView jsonValue) + : IntegrationSummary() +{ + *this = jsonValue; +} + +IntegrationSummary& IntegrationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("integrationName")) + { + m_integrationName = jsonValue.GetString("integrationName"); + + m_integrationNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("integrationType")) + { + m_integrationType = IntegrationTypeMapper::GetIntegrationTypeForName(jsonValue.GetString("integrationType")); + + m_integrationTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("integrationStatus")) + { + m_integrationStatus = IntegrationStatusMapper::GetIntegrationStatusForName(jsonValue.GetString("integrationStatus")); + + m_integrationStatusHasBeenSet = true; + } + + return *this; +} + +JsonValue IntegrationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_integrationNameHasBeenSet) + { + payload.WithString("integrationName", m_integrationName); + + } + + if(m_integrationTypeHasBeenSet) + { + payload.WithString("integrationType", IntegrationTypeMapper::GetNameForIntegrationType(m_integrationType)); + } + + if(m_integrationStatusHasBeenSet) + { + payload.WithString("integrationStatus", IntegrationStatusMapper::GetNameForIntegrationStatus(m_integrationStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/IntegrationType.cpp b/generated/src/aws-cpp-sdk-logs/source/model/IntegrationType.cpp new file mode 100644 index 00000000000..d1b17bfc1ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/IntegrationType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CloudWatchLogs + { + namespace Model + { + namespace IntegrationTypeMapper + { + + static const int OPENSEARCH_HASH = HashingUtils::HashString("OPENSEARCH"); + + + IntegrationType GetIntegrationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == OPENSEARCH_HASH) + { + return IntegrationType::OPENSEARCH; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IntegrationType::NOT_SET; + } + + Aws::String GetNameForIntegrationType(IntegrationType enumValue) + { + switch(enumValue) + { + case IntegrationType::NOT_SET: + return {}; + case IntegrationType::OPENSEARCH: + return "OPENSEARCH"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IntegrationTypeMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/ListIntegrationsRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/ListIntegrationsRequest.cpp new file mode 100644 index 00000000000..ecc8cf280bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/ListIntegrationsRequest.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListIntegrationsRequest::ListIntegrationsRequest() : + m_integrationNamePrefixHasBeenSet(false), + m_integrationType(IntegrationType::NOT_SET), + m_integrationTypeHasBeenSet(false), + m_integrationStatus(IntegrationStatus::NOT_SET), + m_integrationStatusHasBeenSet(false) +{ +} + +Aws::String ListIntegrationsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_integrationNamePrefixHasBeenSet) + { + payload.WithString("integrationNamePrefix", m_integrationNamePrefix); + + } + + if(m_integrationTypeHasBeenSet) + { + payload.WithString("integrationType", IntegrationTypeMapper::GetNameForIntegrationType(m_integrationType)); + } + + if(m_integrationStatusHasBeenSet) + { + payload.WithString("integrationStatus", IntegrationStatusMapper::GetNameForIntegrationStatus(m_integrationStatus)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListIntegrationsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Logs_20140328.ListIntegrations")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-logs/source/model/ListIntegrationsResult.cpp b/generated/src/aws-cpp-sdk-logs/source/model/ListIntegrationsResult.cpp new file mode 100644 index 00000000000..de8b9f49858 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/ListIntegrationsResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListIntegrationsResult::ListIntegrationsResult() +{ +} + +ListIntegrationsResult::ListIntegrationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListIntegrationsResult& ListIntegrationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("integrationSummaries")) + { + Aws::Utils::Array integrationSummariesJsonList = jsonValue.GetArray("integrationSummaries"); + for(unsigned integrationSummariesIndex = 0; integrationSummariesIndex < integrationSummariesJsonList.GetLength(); ++integrationSummariesIndex) + { + m_integrationSummaries.push_back(integrationSummariesJsonList[integrationSummariesIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchApplication.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchApplication.cpp new file mode 100644 index 00000000000..23e2e0f9b68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchApplication.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +OpenSearchApplication::OpenSearchApplication() : + m_applicationEndpointHasBeenSet(false), + m_applicationArnHasBeenSet(false), + m_applicationIdHasBeenSet(false), + m_statusHasBeenSet(false) +{ +} + +OpenSearchApplication::OpenSearchApplication(JsonView jsonValue) + : OpenSearchApplication() +{ + *this = jsonValue; +} + +OpenSearchApplication& OpenSearchApplication::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("applicationEndpoint")) + { + m_applicationEndpoint = jsonValue.GetString("applicationEndpoint"); + + m_applicationEndpointHasBeenSet = true; + } + + if(jsonValue.ValueExists("applicationArn")) + { + m_applicationArn = jsonValue.GetString("applicationArn"); + + m_applicationArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("applicationId")) + { + m_applicationId = jsonValue.GetString("applicationId"); + + m_applicationIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("status"); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchApplication::Jsonize() const +{ + JsonValue payload; + + if(m_applicationEndpointHasBeenSet) + { + payload.WithString("applicationEndpoint", m_applicationEndpoint); + + } + + if(m_applicationArnHasBeenSet) + { + payload.WithString("applicationArn", m_applicationArn); + + } + + if(m_applicationIdHasBeenSet) + { + payload.WithString("applicationId", m_applicationId); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("status", m_status.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchCollection.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchCollection.cpp new file mode 100644 index 00000000000..655f4697804 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchCollection.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +OpenSearchCollection::OpenSearchCollection() : + m_collectionEndpointHasBeenSet(false), + m_collectionArnHasBeenSet(false), + m_statusHasBeenSet(false) +{ +} + +OpenSearchCollection::OpenSearchCollection(JsonView jsonValue) + : OpenSearchCollection() +{ + *this = jsonValue; +} + +OpenSearchCollection& OpenSearchCollection::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("collectionEndpoint")) + { + m_collectionEndpoint = jsonValue.GetString("collectionEndpoint"); + + m_collectionEndpointHasBeenSet = true; + } + + if(jsonValue.ValueExists("collectionArn")) + { + m_collectionArn = jsonValue.GetString("collectionArn"); + + m_collectionArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("status"); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchCollection::Jsonize() const +{ + JsonValue payload; + + if(m_collectionEndpointHasBeenSet) + { + payload.WithString("collectionEndpoint", m_collectionEndpoint); + + } + + if(m_collectionArnHasBeenSet) + { + payload.WithString("collectionArn", m_collectionArn); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("status", m_status.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchDataAccessPolicy.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchDataAccessPolicy.cpp new file mode 100644 index 00000000000..bd3daa8de03 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchDataAccessPolicy.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +OpenSearchDataAccessPolicy::OpenSearchDataAccessPolicy() : + m_policyNameHasBeenSet(false), + m_statusHasBeenSet(false) +{ +} + +OpenSearchDataAccessPolicy::OpenSearchDataAccessPolicy(JsonView jsonValue) + : OpenSearchDataAccessPolicy() +{ + *this = jsonValue; +} + +OpenSearchDataAccessPolicy& OpenSearchDataAccessPolicy::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("policyName")) + { + m_policyName = jsonValue.GetString("policyName"); + + m_policyNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("status"); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchDataAccessPolicy::Jsonize() const +{ + JsonValue payload; + + if(m_policyNameHasBeenSet) + { + payload.WithString("policyName", m_policyName); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("status", m_status.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchDataSource.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchDataSource.cpp new file mode 100644 index 00000000000..373cb6bcdea --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchDataSource.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +OpenSearchDataSource::OpenSearchDataSource() : + m_dataSourceNameHasBeenSet(false), + m_statusHasBeenSet(false) +{ +} + +OpenSearchDataSource::OpenSearchDataSource(JsonView jsonValue) + : OpenSearchDataSource() +{ + *this = jsonValue; +} + +OpenSearchDataSource& OpenSearchDataSource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("dataSourceName")) + { + m_dataSourceName = jsonValue.GetString("dataSourceName"); + + m_dataSourceNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("status"); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchDataSource::Jsonize() const +{ + JsonValue payload; + + if(m_dataSourceNameHasBeenSet) + { + payload.WithString("dataSourceName", m_dataSourceName); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("status", m_status.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchEncryptionPolicy.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchEncryptionPolicy.cpp new file mode 100644 index 00000000000..1ec107c18b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchEncryptionPolicy.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +OpenSearchEncryptionPolicy::OpenSearchEncryptionPolicy() : + m_policyNameHasBeenSet(false), + m_statusHasBeenSet(false) +{ +} + +OpenSearchEncryptionPolicy::OpenSearchEncryptionPolicy(JsonView jsonValue) + : OpenSearchEncryptionPolicy() +{ + *this = jsonValue; +} + +OpenSearchEncryptionPolicy& OpenSearchEncryptionPolicy::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("policyName")) + { + m_policyName = jsonValue.GetString("policyName"); + + m_policyNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("status"); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchEncryptionPolicy::Jsonize() const +{ + JsonValue payload; + + if(m_policyNameHasBeenSet) + { + payload.WithString("policyName", m_policyName); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("status", m_status.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchIntegrationDetails.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchIntegrationDetails.cpp new file mode 100644 index 00000000000..3f01311edef --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchIntegrationDetails.cpp @@ -0,0 +1,157 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +OpenSearchIntegrationDetails::OpenSearchIntegrationDetails() : + m_dataSourceHasBeenSet(false), + m_applicationHasBeenSet(false), + m_collectionHasBeenSet(false), + m_workspaceHasBeenSet(false), + m_encryptionPolicyHasBeenSet(false), + m_networkPolicyHasBeenSet(false), + m_accessPolicyHasBeenSet(false), + m_lifecyclePolicyHasBeenSet(false) +{ +} + +OpenSearchIntegrationDetails::OpenSearchIntegrationDetails(JsonView jsonValue) + : OpenSearchIntegrationDetails() +{ + *this = jsonValue; +} + +OpenSearchIntegrationDetails& OpenSearchIntegrationDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("dataSource")) + { + m_dataSource = jsonValue.GetObject("dataSource"); + + m_dataSourceHasBeenSet = true; + } + + if(jsonValue.ValueExists("application")) + { + m_application = jsonValue.GetObject("application"); + + m_applicationHasBeenSet = true; + } + + if(jsonValue.ValueExists("collection")) + { + m_collection = jsonValue.GetObject("collection"); + + m_collectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("workspace")) + { + m_workspace = jsonValue.GetObject("workspace"); + + m_workspaceHasBeenSet = true; + } + + if(jsonValue.ValueExists("encryptionPolicy")) + { + m_encryptionPolicy = jsonValue.GetObject("encryptionPolicy"); + + m_encryptionPolicyHasBeenSet = true; + } + + if(jsonValue.ValueExists("networkPolicy")) + { + m_networkPolicy = jsonValue.GetObject("networkPolicy"); + + m_networkPolicyHasBeenSet = true; + } + + if(jsonValue.ValueExists("accessPolicy")) + { + m_accessPolicy = jsonValue.GetObject("accessPolicy"); + + m_accessPolicyHasBeenSet = true; + } + + if(jsonValue.ValueExists("lifecyclePolicy")) + { + m_lifecyclePolicy = jsonValue.GetObject("lifecyclePolicy"); + + m_lifecyclePolicyHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchIntegrationDetails::Jsonize() const +{ + JsonValue payload; + + if(m_dataSourceHasBeenSet) + { + payload.WithObject("dataSource", m_dataSource.Jsonize()); + + } + + if(m_applicationHasBeenSet) + { + payload.WithObject("application", m_application.Jsonize()); + + } + + if(m_collectionHasBeenSet) + { + payload.WithObject("collection", m_collection.Jsonize()); + + } + + if(m_workspaceHasBeenSet) + { + payload.WithObject("workspace", m_workspace.Jsonize()); + + } + + if(m_encryptionPolicyHasBeenSet) + { + payload.WithObject("encryptionPolicy", m_encryptionPolicy.Jsonize()); + + } + + if(m_networkPolicyHasBeenSet) + { + payload.WithObject("networkPolicy", m_networkPolicy.Jsonize()); + + } + + if(m_accessPolicyHasBeenSet) + { + payload.WithObject("accessPolicy", m_accessPolicy.Jsonize()); + + } + + if(m_lifecyclePolicyHasBeenSet) + { + payload.WithObject("lifecyclePolicy", m_lifecyclePolicy.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchLifecyclePolicy.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchLifecyclePolicy.cpp new file mode 100644 index 00000000000..9183081b528 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchLifecyclePolicy.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +OpenSearchLifecyclePolicy::OpenSearchLifecyclePolicy() : + m_policyNameHasBeenSet(false), + m_statusHasBeenSet(false) +{ +} + +OpenSearchLifecyclePolicy::OpenSearchLifecyclePolicy(JsonView jsonValue) + : OpenSearchLifecyclePolicy() +{ + *this = jsonValue; +} + +OpenSearchLifecyclePolicy& OpenSearchLifecyclePolicy::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("policyName")) + { + m_policyName = jsonValue.GetString("policyName"); + + m_policyNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("status"); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchLifecyclePolicy::Jsonize() const +{ + JsonValue payload; + + if(m_policyNameHasBeenSet) + { + payload.WithString("policyName", m_policyName); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("status", m_status.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchNetworkPolicy.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchNetworkPolicy.cpp new file mode 100644 index 00000000000..84230055d3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchNetworkPolicy.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +OpenSearchNetworkPolicy::OpenSearchNetworkPolicy() : + m_policyNameHasBeenSet(false), + m_statusHasBeenSet(false) +{ +} + +OpenSearchNetworkPolicy::OpenSearchNetworkPolicy(JsonView jsonValue) + : OpenSearchNetworkPolicy() +{ + *this = jsonValue; +} + +OpenSearchNetworkPolicy& OpenSearchNetworkPolicy::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("policyName")) + { + m_policyName = jsonValue.GetString("policyName"); + + m_policyNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("status"); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchNetworkPolicy::Jsonize() const +{ + JsonValue payload; + + if(m_policyNameHasBeenSet) + { + payload.WithString("policyName", m_policyName); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("status", m_status.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceConfig.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceConfig.cpp new file mode 100644 index 00000000000..636b41898db --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceConfig.cpp @@ -0,0 +1,124 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +OpenSearchResourceConfig::OpenSearchResourceConfig() : + m_kmsKeyArnHasBeenSet(false), + m_dataSourceRoleArnHasBeenSet(false), + m_dashboardViewerPrincipalsHasBeenSet(false), + m_applicationArnHasBeenSet(false), + m_retentionDays(0), + m_retentionDaysHasBeenSet(false) +{ +} + +OpenSearchResourceConfig::OpenSearchResourceConfig(JsonView jsonValue) + : OpenSearchResourceConfig() +{ + *this = jsonValue; +} + +OpenSearchResourceConfig& OpenSearchResourceConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("kmsKeyArn")) + { + m_kmsKeyArn = jsonValue.GetString("kmsKeyArn"); + + m_kmsKeyArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("dataSourceRoleArn")) + { + m_dataSourceRoleArn = jsonValue.GetString("dataSourceRoleArn"); + + m_dataSourceRoleArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("dashboardViewerPrincipals")) + { + Aws::Utils::Array dashboardViewerPrincipalsJsonList = jsonValue.GetArray("dashboardViewerPrincipals"); + for(unsigned dashboardViewerPrincipalsIndex = 0; dashboardViewerPrincipalsIndex < dashboardViewerPrincipalsJsonList.GetLength(); ++dashboardViewerPrincipalsIndex) + { + m_dashboardViewerPrincipals.push_back(dashboardViewerPrincipalsJsonList[dashboardViewerPrincipalsIndex].AsString()); + } + m_dashboardViewerPrincipalsHasBeenSet = true; + } + + if(jsonValue.ValueExists("applicationArn")) + { + m_applicationArn = jsonValue.GetString("applicationArn"); + + m_applicationArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("retentionDays")) + { + m_retentionDays = jsonValue.GetInteger("retentionDays"); + + m_retentionDaysHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchResourceConfig::Jsonize() const +{ + JsonValue payload; + + if(m_kmsKeyArnHasBeenSet) + { + payload.WithString("kmsKeyArn", m_kmsKeyArn); + + } + + if(m_dataSourceRoleArnHasBeenSet) + { + payload.WithString("dataSourceRoleArn", m_dataSourceRoleArn); + + } + + if(m_dashboardViewerPrincipalsHasBeenSet) + { + Aws::Utils::Array dashboardViewerPrincipalsJsonList(m_dashboardViewerPrincipals.size()); + for(unsigned dashboardViewerPrincipalsIndex = 0; dashboardViewerPrincipalsIndex < dashboardViewerPrincipalsJsonList.GetLength(); ++dashboardViewerPrincipalsIndex) + { + dashboardViewerPrincipalsJsonList[dashboardViewerPrincipalsIndex].AsString(m_dashboardViewerPrincipals[dashboardViewerPrincipalsIndex]); + } + payload.WithArray("dashboardViewerPrincipals", std::move(dashboardViewerPrincipalsJsonList)); + + } + + if(m_applicationArnHasBeenSet) + { + payload.WithString("applicationArn", m_applicationArn); + + } + + if(m_retentionDaysHasBeenSet) + { + payload.WithInteger("retentionDays", m_retentionDays); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceStatus.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceStatus.cpp new file mode 100644 index 00000000000..1c67bc5ee5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceStatus.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +OpenSearchResourceStatus::OpenSearchResourceStatus() : + m_status(OpenSearchResourceStatusType::NOT_SET), + m_statusHasBeenSet(false), + m_statusMessageHasBeenSet(false) +{ +} + +OpenSearchResourceStatus::OpenSearchResourceStatus(JsonView jsonValue) + : OpenSearchResourceStatus() +{ + *this = jsonValue; +} + +OpenSearchResourceStatus& OpenSearchResourceStatus::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("status")) + { + m_status = OpenSearchResourceStatusTypeMapper::GetOpenSearchResourceStatusTypeForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("statusMessage")) + { + m_statusMessage = jsonValue.GetString("statusMessage"); + + m_statusMessageHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchResourceStatus::Jsonize() const +{ + JsonValue payload; + + if(m_statusHasBeenSet) + { + payload.WithString("status", OpenSearchResourceStatusTypeMapper::GetNameForOpenSearchResourceStatusType(m_status)); + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("statusMessage", m_statusMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceStatusType.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceStatusType.cpp new file mode 100644 index 00000000000..6dfed8f7edd --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchResourceStatusType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CloudWatchLogs + { + namespace Model + { + namespace OpenSearchResourceStatusTypeMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int NOT_FOUND_HASH = HashingUtils::HashString("NOT_FOUND"); + static const int ERROR__HASH = HashingUtils::HashString("ERROR"); + + + OpenSearchResourceStatusType GetOpenSearchResourceStatusTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return OpenSearchResourceStatusType::ACTIVE; + } + else if (hashCode == NOT_FOUND_HASH) + { + return OpenSearchResourceStatusType::NOT_FOUND; + } + else if (hashCode == ERROR__HASH) + { + return OpenSearchResourceStatusType::ERROR_; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OpenSearchResourceStatusType::NOT_SET; + } + + Aws::String GetNameForOpenSearchResourceStatusType(OpenSearchResourceStatusType enumValue) + { + switch(enumValue) + { + case OpenSearchResourceStatusType::NOT_SET: + return {}; + case OpenSearchResourceStatusType::ACTIVE: + return "ACTIVE"; + case OpenSearchResourceStatusType::NOT_FOUND: + return "NOT_FOUND"; + case OpenSearchResourceStatusType::ERROR_: + return "ERROR"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OpenSearchResourceStatusTypeMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchWorkspace.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchWorkspace.cpp new file mode 100644 index 00000000000..edb3237ff04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OpenSearchWorkspace.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +OpenSearchWorkspace::OpenSearchWorkspace() : + m_workspaceIdHasBeenSet(false), + m_statusHasBeenSet(false) +{ +} + +OpenSearchWorkspace::OpenSearchWorkspace(JsonView jsonValue) + : OpenSearchWorkspace() +{ + *this = jsonValue; +} + +OpenSearchWorkspace& OpenSearchWorkspace::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("workspaceId")) + { + m_workspaceId = jsonValue.GetString("workspaceId"); + + m_workspaceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("status"); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchWorkspace::Jsonize() const +{ + JsonValue payload; + + if(m_workspaceIdHasBeenSet) + { + payload.WithString("workspaceId", m_workspaceId); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("status", m_status.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/PutIntegrationRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/PutIntegrationRequest.cpp new file mode 100644 index 00000000000..999ccb92a8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/PutIntegrationRequest.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +PutIntegrationRequest::PutIntegrationRequest() : + m_integrationNameHasBeenSet(false), + m_resourceConfigHasBeenSet(false), + m_integrationType(IntegrationType::NOT_SET), + m_integrationTypeHasBeenSet(false) +{ +} + +Aws::String PutIntegrationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_integrationNameHasBeenSet) + { + payload.WithString("integrationName", m_integrationName); + + } + + if(m_resourceConfigHasBeenSet) + { + payload.WithObject("resourceConfig", m_resourceConfig.Jsonize()); + + } + + if(m_integrationTypeHasBeenSet) + { + payload.WithString("integrationType", IntegrationTypeMapper::GetNameForIntegrationType(m_integrationType)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection PutIntegrationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Logs_20140328.PutIntegration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-logs/source/model/PutIntegrationResult.cpp b/generated/src/aws-cpp-sdk-logs/source/model/PutIntegrationResult.cpp new file mode 100644 index 00000000000..53db6336d99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/PutIntegrationResult.cpp @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +PutIntegrationResult::PutIntegrationResult() : + m_integrationStatus(IntegrationStatus::NOT_SET) +{ +} + +PutIntegrationResult::PutIntegrationResult(const Aws::AmazonWebServiceResult& result) + : PutIntegrationResult() +{ + *this = result; +} + +PutIntegrationResult& PutIntegrationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("integrationName")) + { + m_integrationName = jsonValue.GetString("integrationName"); + + } + + if(jsonValue.ValueExists("integrationStatus")) + { + m_integrationStatus = IntegrationStatusMapper::GetIntegrationStatusForName(jsonValue.GetString("integrationStatus")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-logs/source/model/PutQueryDefinitionRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/PutQueryDefinitionRequest.cpp index 0f4bd289378..054dc522231 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/PutQueryDefinitionRequest.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/PutQueryDefinitionRequest.cpp @@ -13,6 +13,8 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; PutQueryDefinitionRequest::PutQueryDefinitionRequest() : + m_queryLanguage(QueryLanguage::NOT_SET), + m_queryLanguageHasBeenSet(false), m_nameHasBeenSet(false), m_queryDefinitionIdHasBeenSet(false), m_logGroupNamesHasBeenSet(false), @@ -26,6 +28,11 @@ Aws::String PutQueryDefinitionRequest::SerializePayload() const { JsonValue payload; + if(m_queryLanguageHasBeenSet) + { + payload.WithString("queryLanguage", QueryLanguageMapper::GetNameForQueryLanguage(m_queryLanguage)); + } + if(m_nameHasBeenSet) { payload.WithString("name", m_name); diff --git a/generated/src/aws-cpp-sdk-logs/source/model/QueryDefinition.cpp b/generated/src/aws-cpp-sdk-logs/source/model/QueryDefinition.cpp index 231247fcf2e..0f707997872 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/QueryDefinition.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/QueryDefinition.cpp @@ -19,6 +19,8 @@ namespace Model { QueryDefinition::QueryDefinition() : + m_queryLanguage(QueryLanguage::NOT_SET), + m_queryLanguageHasBeenSet(false), m_queryDefinitionIdHasBeenSet(false), m_nameHasBeenSet(false), m_queryStringHasBeenSet(false), @@ -36,6 +38,13 @@ QueryDefinition::QueryDefinition(JsonView jsonValue) QueryDefinition& QueryDefinition::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("queryLanguage")) + { + m_queryLanguage = QueryLanguageMapper::GetQueryLanguageForName(jsonValue.GetString("queryLanguage")); + + m_queryLanguageHasBeenSet = true; + } + if(jsonValue.ValueExists("queryDefinitionId")) { m_queryDefinitionId = jsonValue.GetString("queryDefinitionId"); @@ -81,6 +90,11 @@ JsonValue QueryDefinition::Jsonize() const { JsonValue payload; + if(m_queryLanguageHasBeenSet) + { + payload.WithString("queryLanguage", QueryLanguageMapper::GetNameForQueryLanguage(m_queryLanguage)); + } + if(m_queryDefinitionIdHasBeenSet) { payload.WithString("queryDefinitionId", m_queryDefinitionId); diff --git a/generated/src/aws-cpp-sdk-logs/source/model/QueryInfo.cpp b/generated/src/aws-cpp-sdk-logs/source/model/QueryInfo.cpp index c5755f1ddbf..9daa7b1e9e2 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/QueryInfo.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/QueryInfo.cpp @@ -19,6 +19,8 @@ namespace Model { QueryInfo::QueryInfo() : + m_queryLanguage(QueryLanguage::NOT_SET), + m_queryLanguageHasBeenSet(false), m_queryIdHasBeenSet(false), m_queryStringHasBeenSet(false), m_status(QueryStatus::NOT_SET), @@ -37,6 +39,13 @@ QueryInfo::QueryInfo(JsonView jsonValue) QueryInfo& QueryInfo::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("queryLanguage")) + { + m_queryLanguage = QueryLanguageMapper::GetQueryLanguageForName(jsonValue.GetString("queryLanguage")); + + m_queryLanguageHasBeenSet = true; + } + if(jsonValue.ValueExists("queryId")) { m_queryId = jsonValue.GetString("queryId"); @@ -79,6 +88,11 @@ JsonValue QueryInfo::Jsonize() const { JsonValue payload; + if(m_queryLanguageHasBeenSet) + { + payload.WithString("queryLanguage", QueryLanguageMapper::GetNameForQueryLanguage(m_queryLanguage)); + } + if(m_queryIdHasBeenSet) { payload.WithString("queryId", m_queryId); diff --git a/generated/src/aws-cpp-sdk-logs/source/model/QueryLanguage.cpp b/generated/src/aws-cpp-sdk-logs/source/model/QueryLanguage.cpp new file mode 100644 index 00000000000..a1650d32633 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/QueryLanguage.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CloudWatchLogs + { + namespace Model + { + namespace QueryLanguageMapper + { + + static const int CWLI_HASH = HashingUtils::HashString("CWLI"); + static const int SQL_HASH = HashingUtils::HashString("SQL"); + static const int PPL_HASH = HashingUtils::HashString("PPL"); + + + QueryLanguage GetQueryLanguageForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CWLI_HASH) + { + return QueryLanguage::CWLI; + } + else if (hashCode == SQL_HASH) + { + return QueryLanguage::SQL; + } + else if (hashCode == PPL_HASH) + { + return QueryLanguage::PPL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return QueryLanguage::NOT_SET; + } + + Aws::String GetNameForQueryLanguage(QueryLanguage enumValue) + { + switch(enumValue) + { + case QueryLanguage::NOT_SET: + return {}; + case QueryLanguage::CWLI: + return "CWLI"; + case QueryLanguage::SQL: + return "SQL"; + case QueryLanguage::PPL: + return "PPL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace QueryLanguageMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/ResourceConfig.cpp b/generated/src/aws-cpp-sdk-logs/source/model/ResourceConfig.cpp new file mode 100644 index 00000000000..217ce605a3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/ResourceConfig.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +ResourceConfig::ResourceConfig() : + m_openSearchResourceConfigHasBeenSet(false) +{ +} + +ResourceConfig::ResourceConfig(JsonView jsonValue) + : ResourceConfig() +{ + *this = jsonValue; +} + +ResourceConfig& ResourceConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("openSearchResourceConfig")) + { + m_openSearchResourceConfig = jsonValue.GetObject("openSearchResourceConfig"); + + m_openSearchResourceConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceConfig::Jsonize() const +{ + JsonValue payload; + + if(m_openSearchResourceConfigHasBeenSet) + { + payload.WithObject("openSearchResourceConfig", m_openSearchResourceConfig.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/StartQueryRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/StartQueryRequest.cpp index 912bddc8265..558ee065b7d 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/StartQueryRequest.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/StartQueryRequest.cpp @@ -13,6 +13,8 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; StartQueryRequest::StartQueryRequest() : + m_queryLanguage(QueryLanguage::NOT_SET), + m_queryLanguageHasBeenSet(false), m_logGroupNameHasBeenSet(false), m_logGroupNamesHasBeenSet(false), m_logGroupIdentifiersHasBeenSet(false), @@ -30,6 +32,11 @@ Aws::String StartQueryRequest::SerializePayload() const { JsonValue payload; + if(m_queryLanguageHasBeenSet) + { + payload.WithString("queryLanguage", QueryLanguageMapper::GetNameForQueryLanguage(m_queryLanguage)); + } + if(m_logGroupNameHasBeenSet) { payload.WithString("logGroupName", m_logGroupName); diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClient.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClient.h index da11bde3a26..75c904657dd 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClient.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClient.h @@ -16,12 +16,13 @@ namespace Aws namespace MemoryDB { /** - *

        MemoryDB for Redis is a fully managed, Redis-compatible, in-memory database - * that delivers ultra-fast performance and Multi-AZ durability for modern - * applications built using microservices architectures. MemoryDB stores the entire - * database in-memory, enabling low latency and high throughput data access. It is - * compatible with Redis, a popular open source data store, enabling you to - * leverage Redis’ flexible and friendly data structures, APIs, and commands.

        + *

        MemoryDB is a fully managed, Redis OSS-compatible, in-memory database that + * delivers ultra-fast performance and Multi-AZ durability for modern applications + * built using microservices architectures. MemoryDB stores the entire database + * in-memory, enabling low latency and high throughput data access. It is + * compatible with Redis OSS, a popular open source data store, enabling you to + * leverage Redis OSS’ flexible and friendly data structures, APIs, and + * commands.

        */ class AWS_MEMORYDB_API MemoryDBClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { @@ -187,6 +188,31 @@ namespace MemoryDB return SubmitAsync(&MemoryDBClient::CreateCluster, request, handler, context); } + /** + *

        Creates a new multi-Region cluster.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::CreateMultiRegionClusterOutcome CreateMultiRegionCluster(const Model::CreateMultiRegionClusterRequest& request) const; + + /** + * A Callable wrapper for CreateMultiRegionCluster that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateMultiRegionClusterOutcomeCallable CreateMultiRegionClusterCallable(const CreateMultiRegionClusterRequestT& request) const + { + return SubmitCallable(&MemoryDBClient::CreateMultiRegionCluster, request); + } + + /** + * An Async wrapper for CreateMultiRegionCluster that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateMultiRegionClusterAsync(const CreateMultiRegionClusterRequestT& request, const CreateMultiRegionClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MemoryDBClient::CreateMultiRegionCluster, request, handler, context); + } + /** *

        Creates a new MemoryDB parameter group. A parameter group is a collection of * parameters and their values that are applied to all of the nodes in any cluster. @@ -331,7 +357,9 @@ namespace MemoryDB /** *

        Deletes a cluster. It also deletes all associated nodes and node - * endpoints

        See Also:

        CreateSnapshot permission is required to + * create a final snapshot. Without this permission, the API call will fail with an + * Access Denied exception.

        See Also:

        AWS * API Reference

        */ @@ -355,6 +383,31 @@ namespace MemoryDB return SubmitAsync(&MemoryDBClient::DeleteCluster, request, handler, context); } + /** + *

        Deletes an existing multi-Region cluster.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::DeleteMultiRegionClusterOutcome DeleteMultiRegionCluster(const Model::DeleteMultiRegionClusterRequest& request) const; + + /** + * A Callable wrapper for DeleteMultiRegionCluster that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteMultiRegionClusterOutcomeCallable DeleteMultiRegionClusterCallable(const DeleteMultiRegionClusterRequestT& request) const + { + return SubmitCallable(&MemoryDBClient::DeleteMultiRegionCluster, request); + } + + /** + * An Async wrapper for DeleteMultiRegionCluster that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteMultiRegionClusterAsync(const DeleteMultiRegionClusterRequestT& request, const DeleteMultiRegionClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MemoryDBClient::DeleteMultiRegionCluster, request, handler, context); + } + /** *

        Deletes the specified parameter group. You cannot delete a parameter group if * it is associated with any clusters. You cannot delete the default parameter @@ -462,7 +515,7 @@ namespace MemoryDB } /** - *

        Returns a list of ACLs

        See Also:

        Returns a list of ACLs.

        See Also:

        AWS * API Reference

        */ @@ -514,8 +567,8 @@ namespace MemoryDB } /** - *

        Returns a list of the available engine versions.

        See Also:

        - * Returns a list of the available Redis OSS engine versions.

        See + * Also:

        AWS * API Reference

        */ @@ -568,6 +621,32 @@ namespace MemoryDB return SubmitAsync(&MemoryDBClient::DescribeEvents, request, handler, context); } + /** + *

        Returns details about one or more multi-Region clusters.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::DescribeMultiRegionClustersOutcome DescribeMultiRegionClusters(const Model::DescribeMultiRegionClustersRequest& request = {}) const; + + /** + * A Callable wrapper for DescribeMultiRegionClusters that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeMultiRegionClustersOutcomeCallable DescribeMultiRegionClustersCallable(const DescribeMultiRegionClustersRequestT& request = {}) const + { + return SubmitCallable(&MemoryDBClient::DescribeMultiRegionClusters, request); + } + + /** + * An Async wrapper for DescribeMultiRegionClusters that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeMultiRegionClustersAsync(const DescribeMultiRegionClustersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeMultiRegionClustersRequestT& request = {}) const + { + return SubmitAsync(&MemoryDBClient::DescribeMultiRegionClusters, request, handler, context); + } + /** *

        Returns a list of parameter group descriptions. If a parameter group name is * specified, the list contains only the descriptions for that group.

        See @@ -673,7 +752,7 @@ namespace MemoryDB } /** - *

        Returns details of the service updates

        See Also:

        Returns details of the service updates.

        See Also:

        AWS * API Reference

        */ @@ -806,6 +885,32 @@ namespace MemoryDB return SubmitAsync(&MemoryDBClient::FailoverShard, request, handler, context); } + /** + *

        Lists the allowed updates for a multi-Region cluster.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::ListAllowedMultiRegionClusterUpdatesOutcome ListAllowedMultiRegionClusterUpdates(const Model::ListAllowedMultiRegionClusterUpdatesRequest& request) const; + + /** + * A Callable wrapper for ListAllowedMultiRegionClusterUpdates that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAllowedMultiRegionClusterUpdatesOutcomeCallable ListAllowedMultiRegionClusterUpdatesCallable(const ListAllowedMultiRegionClusterUpdatesRequestT& request) const + { + return SubmitCallable(&MemoryDBClient::ListAllowedMultiRegionClusterUpdates, request); + } + + /** + * An Async wrapper for ListAllowedMultiRegionClusterUpdates that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAllowedMultiRegionClusterUpdatesAsync(const ListAllowedMultiRegionClusterUpdatesRequestT& request, const ListAllowedMultiRegionClusterUpdatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MemoryDBClient::ListAllowedMultiRegionClusterUpdates, request, handler, context); + } + /** *

        Lists all available node types that you can scale to from your cluster's * current node type. When you use the UpdateCluster operation to scale your @@ -839,7 +944,7 @@ namespace MemoryDB * the key and value are case-sensitive. You can use tags to categorize and track * your MemoryDB resources. For more information, see Tagging - * your MemoryDB resources

        See Also:

        .

        See Also:

        AWS * API Reference

        */ @@ -955,7 +1060,8 @@ namespace MemoryDB } /** - *

        Use this operation to remove tags on a resource

        See Also:

        Use this operation to remove tags on a resource.

        See Also:

        + *
        AWS * API Reference

        */ @@ -1032,6 +1138,32 @@ namespace MemoryDB return SubmitAsync(&MemoryDBClient::UpdateCluster, request, handler, context); } + /** + *

        Updates the configuration of an existing multi-Region cluster.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateMultiRegionClusterOutcome UpdateMultiRegionCluster(const Model::UpdateMultiRegionClusterRequest& request) const; + + /** + * A Callable wrapper for UpdateMultiRegionCluster that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateMultiRegionClusterOutcomeCallable UpdateMultiRegionClusterCallable(const UpdateMultiRegionClusterRequestT& request) const + { + return SubmitCallable(&MemoryDBClient::UpdateMultiRegionCluster, request); + } + + /** + * An Async wrapper for UpdateMultiRegionCluster that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateMultiRegionClusterAsync(const UpdateMultiRegionClusterRequestT& request, const UpdateMultiRegionClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MemoryDBClient::UpdateMultiRegionCluster, request, handler, context); + } + /** *

        Updates the parameters of a parameter group. You can modify up to 20 * parameters in a single request by submitting a list parameter name and value diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBErrors.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBErrors.h index deceef5d312..04d69d5ad4a 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBErrors.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBErrors.h @@ -62,12 +62,16 @@ enum class MemoryDBErrors INVALID_CLUSTER_STATE_FAULT, INVALID_CREDENTIALS, INVALID_K_M_S_KEY_FAULT, + INVALID_MULTI_REGION_CLUSTER_STATE_FAULT, INVALID_NODE_STATE_FAULT, INVALID_PARAMETER_GROUP_STATE_FAULT, INVALID_SNAPSHOT_STATE_FAULT, INVALID_SUBNET, INVALID_USER_STATE_FAULT, INVALID_V_P_C_NETWORK_STATE_FAULT, + MULTI_REGION_CLUSTER_ALREADY_EXISTS_FAULT, + MULTI_REGION_CLUSTER_NOT_FOUND_FAULT, + MULTI_REGION_PARAMETER_GROUP_NOT_FOUND_FAULT, NODE_QUOTA_FOR_CLUSTER_EXCEEDED_FAULT, NODE_QUOTA_FOR_CUSTOMER_EXCEEDED_FAULT, NO_OPERATION_FAULT, diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBServiceClientModel.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBServiceClientModel.h index f1959ce9716..dbd9b4ba4c1 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBServiceClientModel.h @@ -22,12 +22,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -36,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -45,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -53,11 +57,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -111,12 +117,14 @@ namespace Aws class CopySnapshotRequest; class CreateACLRequest; class CreateClusterRequest; + class CreateMultiRegionClusterRequest; class CreateParameterGroupRequest; class CreateSnapshotRequest; class CreateSubnetGroupRequest; class CreateUserRequest; class DeleteACLRequest; class DeleteClusterRequest; + class DeleteMultiRegionClusterRequest; class DeleteParameterGroupRequest; class DeleteSnapshotRequest; class DeleteSubnetGroupRequest; @@ -125,6 +133,7 @@ namespace Aws class DescribeClustersRequest; class DescribeEngineVersionsRequest; class DescribeEventsRequest; + class DescribeMultiRegionClustersRequest; class DescribeParameterGroupsRequest; class DescribeParametersRequest; class DescribeReservedNodesRequest; @@ -134,6 +143,7 @@ namespace Aws class DescribeSubnetGroupsRequest; class DescribeUsersRequest; class FailoverShardRequest; + class ListAllowedMultiRegionClusterUpdatesRequest; class ListAllowedNodeTypeUpdatesRequest; class ListTagsRequest; class PurchaseReservedNodesOfferingRequest; @@ -142,6 +152,7 @@ namespace Aws class UntagResourceRequest; class UpdateACLRequest; class UpdateClusterRequest; + class UpdateMultiRegionClusterRequest; class UpdateParameterGroupRequest; class UpdateSubnetGroupRequest; class UpdateUserRequest; @@ -152,12 +163,14 @@ namespace Aws typedef Aws::Utils::Outcome CopySnapshotOutcome; typedef Aws::Utils::Outcome CreateACLOutcome; typedef Aws::Utils::Outcome CreateClusterOutcome; + typedef Aws::Utils::Outcome CreateMultiRegionClusterOutcome; typedef Aws::Utils::Outcome CreateParameterGroupOutcome; typedef Aws::Utils::Outcome CreateSnapshotOutcome; typedef Aws::Utils::Outcome CreateSubnetGroupOutcome; typedef Aws::Utils::Outcome CreateUserOutcome; typedef Aws::Utils::Outcome DeleteACLOutcome; typedef Aws::Utils::Outcome DeleteClusterOutcome; + typedef Aws::Utils::Outcome DeleteMultiRegionClusterOutcome; typedef Aws::Utils::Outcome DeleteParameterGroupOutcome; typedef Aws::Utils::Outcome DeleteSnapshotOutcome; typedef Aws::Utils::Outcome DeleteSubnetGroupOutcome; @@ -166,6 +179,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribeClustersOutcome; typedef Aws::Utils::Outcome DescribeEngineVersionsOutcome; typedef Aws::Utils::Outcome DescribeEventsOutcome; + typedef Aws::Utils::Outcome DescribeMultiRegionClustersOutcome; typedef Aws::Utils::Outcome DescribeParameterGroupsOutcome; typedef Aws::Utils::Outcome DescribeParametersOutcome; typedef Aws::Utils::Outcome DescribeReservedNodesOutcome; @@ -175,6 +189,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribeSubnetGroupsOutcome; typedef Aws::Utils::Outcome DescribeUsersOutcome; typedef Aws::Utils::Outcome FailoverShardOutcome; + typedef Aws::Utils::Outcome ListAllowedMultiRegionClusterUpdatesOutcome; typedef Aws::Utils::Outcome ListAllowedNodeTypeUpdatesOutcome; typedef Aws::Utils::Outcome ListTagsOutcome; typedef Aws::Utils::Outcome PurchaseReservedNodesOfferingOutcome; @@ -183,6 +198,7 @@ namespace Aws typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateACLOutcome; typedef Aws::Utils::Outcome UpdateClusterOutcome; + typedef Aws::Utils::Outcome UpdateMultiRegionClusterOutcome; typedef Aws::Utils::Outcome UpdateParameterGroupOutcome; typedef Aws::Utils::Outcome UpdateSubnetGroupOutcome; typedef Aws::Utils::Outcome UpdateUserOutcome; @@ -193,12 +209,14 @@ namespace Aws typedef std::future CopySnapshotOutcomeCallable; typedef std::future CreateACLOutcomeCallable; typedef std::future CreateClusterOutcomeCallable; + typedef std::future CreateMultiRegionClusterOutcomeCallable; typedef std::future CreateParameterGroupOutcomeCallable; typedef std::future CreateSnapshotOutcomeCallable; typedef std::future CreateSubnetGroupOutcomeCallable; typedef std::future CreateUserOutcomeCallable; typedef std::future DeleteACLOutcomeCallable; typedef std::future DeleteClusterOutcomeCallable; + typedef std::future DeleteMultiRegionClusterOutcomeCallable; typedef std::future DeleteParameterGroupOutcomeCallable; typedef std::future DeleteSnapshotOutcomeCallable; typedef std::future DeleteSubnetGroupOutcomeCallable; @@ -207,6 +225,7 @@ namespace Aws typedef std::future DescribeClustersOutcomeCallable; typedef std::future DescribeEngineVersionsOutcomeCallable; typedef std::future DescribeEventsOutcomeCallable; + typedef std::future DescribeMultiRegionClustersOutcomeCallable; typedef std::future DescribeParameterGroupsOutcomeCallable; typedef std::future DescribeParametersOutcomeCallable; typedef std::future DescribeReservedNodesOutcomeCallable; @@ -216,6 +235,7 @@ namespace Aws typedef std::future DescribeSubnetGroupsOutcomeCallable; typedef std::future DescribeUsersOutcomeCallable; typedef std::future FailoverShardOutcomeCallable; + typedef std::future ListAllowedMultiRegionClusterUpdatesOutcomeCallable; typedef std::future ListAllowedNodeTypeUpdatesOutcomeCallable; typedef std::future ListTagsOutcomeCallable; typedef std::future PurchaseReservedNodesOfferingOutcomeCallable; @@ -224,6 +244,7 @@ namespace Aws typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateACLOutcomeCallable; typedef std::future UpdateClusterOutcomeCallable; + typedef std::future UpdateMultiRegionClusterOutcomeCallable; typedef std::future UpdateParameterGroupOutcomeCallable; typedef std::future UpdateSubnetGroupOutcomeCallable; typedef std::future UpdateUserOutcomeCallable; @@ -237,12 +258,14 @@ namespace Aws typedef std::function&) > CopySnapshotResponseReceivedHandler; typedef std::function&) > CreateACLResponseReceivedHandler; typedef std::function&) > CreateClusterResponseReceivedHandler; + typedef std::function&) > CreateMultiRegionClusterResponseReceivedHandler; typedef std::function&) > CreateParameterGroupResponseReceivedHandler; typedef std::function&) > CreateSnapshotResponseReceivedHandler; typedef std::function&) > CreateSubnetGroupResponseReceivedHandler; typedef std::function&) > CreateUserResponseReceivedHandler; typedef std::function&) > DeleteACLResponseReceivedHandler; typedef std::function&) > DeleteClusterResponseReceivedHandler; + typedef std::function&) > DeleteMultiRegionClusterResponseReceivedHandler; typedef std::function&) > DeleteParameterGroupResponseReceivedHandler; typedef std::function&) > DeleteSnapshotResponseReceivedHandler; typedef std::function&) > DeleteSubnetGroupResponseReceivedHandler; @@ -251,6 +274,7 @@ namespace Aws typedef std::function&) > DescribeClustersResponseReceivedHandler; typedef std::function&) > DescribeEngineVersionsResponseReceivedHandler; typedef std::function&) > DescribeEventsResponseReceivedHandler; + typedef std::function&) > DescribeMultiRegionClustersResponseReceivedHandler; typedef std::function&) > DescribeParameterGroupsResponseReceivedHandler; typedef std::function&) > DescribeParametersResponseReceivedHandler; typedef std::function&) > DescribeReservedNodesResponseReceivedHandler; @@ -260,6 +284,7 @@ namespace Aws typedef std::function&) > DescribeSubnetGroupsResponseReceivedHandler; typedef std::function&) > DescribeUsersResponseReceivedHandler; typedef std::function&) > FailoverShardResponseReceivedHandler; + typedef std::function&) > ListAllowedMultiRegionClusterUpdatesResponseReceivedHandler; typedef std::function&) > ListAllowedNodeTypeUpdatesResponseReceivedHandler; typedef std::function&) > ListTagsResponseReceivedHandler; typedef std::function&) > PurchaseReservedNodesOfferingResponseReceivedHandler; @@ -268,6 +293,7 @@ namespace Aws typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateACLResponseReceivedHandler; typedef std::function&) > UpdateClusterResponseReceivedHandler; + typedef std::function&) > UpdateMultiRegionClusterResponseReceivedHandler; typedef std::function&) > UpdateParameterGroupResponseReceivedHandler; typedef std::function&) > UpdateSubnetGroupResponseReceivedHandler; typedef std::function&) > UpdateUserResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/Cluster.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/Cluster.h index c989073a310..b37eb602e1b 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/Cluster.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/Cluster.h @@ -100,6 +100,20 @@ namespace Model inline Cluster& WithPendingUpdates(ClusterPendingUpdates&& value) { SetPendingUpdates(std::move(value)); return *this;} ///@} + ///@{ + /** + *

        The name of the multi-Region cluster that this cluster belongs to.

        + */ + inline const Aws::String& GetMultiRegionClusterName() const{ return m_multiRegionClusterName; } + inline bool MultiRegionClusterNameHasBeenSet() const { return m_multiRegionClusterNameHasBeenSet; } + inline void SetMultiRegionClusterName(const Aws::String& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = value; } + inline void SetMultiRegionClusterName(Aws::String&& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = std::move(value); } + inline void SetMultiRegionClusterName(const char* value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName.assign(value); } + inline Cluster& WithMultiRegionClusterName(const Aws::String& value) { SetMultiRegionClusterName(value); return *this;} + inline Cluster& WithMultiRegionClusterName(Aws::String&& value) { SetMultiRegionClusterName(std::move(value)); return *this;} + inline Cluster& WithMultiRegionClusterName(const char* value) { SetMultiRegionClusterName(value); return *this;} + ///@} + ///@{ /** *

        The number of shards in the cluster

        @@ -165,7 +179,7 @@ namespace Model ///@{ /** - *

        The Redis OSS or Valkey engine used by the cluster.

        + *

        The name of the engine used by the cluster.

        */ inline const Aws::String& GetEngine() const{ return m_engine; } inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } @@ -179,7 +193,7 @@ namespace Model ///@{ /** - *

        The Redis engine version used by the cluster

        + *

        The Redis OSS engine version used by the cluster

        */ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } @@ -193,7 +207,7 @@ namespace Model ///@{ /** - *

        The engine patch version used by the cluster

        + *

        The Redis OSS engine patch version used by the cluster

        */ inline const Aws::String& GetEnginePatchVersion() const{ return m_enginePatchVersion; } inline bool EnginePatchVersionHasBeenSet() const { return m_enginePatchVersionHasBeenSet; } @@ -426,6 +440,9 @@ namespace Model ClusterPendingUpdates m_pendingUpdates; bool m_pendingUpdatesHasBeenSet = false; + Aws::String m_multiRegionClusterName; + bool m_multiRegionClusterNameHasBeenSet = false; + int m_numberOfShards; bool m_numberOfShardsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ClusterConfiguration.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ClusterConfiguration.h index be911fd5075..7d48e4eb705 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ClusterConfiguration.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ClusterConfiguration.h @@ -83,7 +83,7 @@ namespace Model ///@{ /** - *

        The configuration for the Redis OSS or Valkey engine used by the cluster.

        + *

        The name of the engine used by the cluster configuration.

        */ inline const Aws::String& GetEngine() const{ return m_engine; } inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } @@ -97,7 +97,7 @@ namespace Model ///@{ /** - *

        The engine version used by the cluster

        + *

        The Redis OSS engine version used by the cluster

        */ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } @@ -237,6 +237,36 @@ namespace Model inline ClusterConfiguration& AddShards(const ShardDetail& value) { m_shardsHasBeenSet = true; m_shards.push_back(value); return *this; } inline ClusterConfiguration& AddShards(ShardDetail&& value) { m_shardsHasBeenSet = true; m_shards.push_back(std::move(value)); return *this; } ///@} + + ///@{ + /** + *

        The name of the multi-Region parameter group associated with the cluster + * configuration.

        + */ + inline const Aws::String& GetMultiRegionParameterGroupName() const{ return m_multiRegionParameterGroupName; } + inline bool MultiRegionParameterGroupNameHasBeenSet() const { return m_multiRegionParameterGroupNameHasBeenSet; } + inline void SetMultiRegionParameterGroupName(const Aws::String& value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName = value; } + inline void SetMultiRegionParameterGroupName(Aws::String&& value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName = std::move(value); } + inline void SetMultiRegionParameterGroupName(const char* value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName.assign(value); } + inline ClusterConfiguration& WithMultiRegionParameterGroupName(const Aws::String& value) { SetMultiRegionParameterGroupName(value); return *this;} + inline ClusterConfiguration& WithMultiRegionParameterGroupName(Aws::String&& value) { SetMultiRegionParameterGroupName(std::move(value)); return *this;} + inline ClusterConfiguration& WithMultiRegionParameterGroupName(const char* value) { SetMultiRegionParameterGroupName(value); return *this;} + ///@} + + ///@{ + /** + *

        The name for the multi-Region cluster associated with the cluster + * configuration.

        + */ + inline const Aws::String& GetMultiRegionClusterName() const{ return m_multiRegionClusterName; } + inline bool MultiRegionClusterNameHasBeenSet() const { return m_multiRegionClusterNameHasBeenSet; } + inline void SetMultiRegionClusterName(const Aws::String& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = value; } + inline void SetMultiRegionClusterName(Aws::String&& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = std::move(value); } + inline void SetMultiRegionClusterName(const char* value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName.assign(value); } + inline ClusterConfiguration& WithMultiRegionClusterName(const Aws::String& value) { SetMultiRegionClusterName(value); return *this;} + inline ClusterConfiguration& WithMultiRegionClusterName(Aws::String&& value) { SetMultiRegionClusterName(std::move(value)); return *this;} + inline ClusterConfiguration& WithMultiRegionClusterName(const char* value) { SetMultiRegionClusterName(value); return *this;} + ///@} private: Aws::String m_name; @@ -283,6 +313,12 @@ namespace Model Aws::Vector m_shards; bool m_shardsHasBeenSet = false; + + Aws::String m_multiRegionParameterGroupName; + bool m_multiRegionParameterGroupNameHasBeenSet = false; + + Aws::String m_multiRegionClusterName; + bool m_multiRegionClusterNameHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateClusterRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateClusterRequest.h index f827c7978dc..eb68dba2db7 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateClusterRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateClusterRequest.h @@ -65,6 +65,20 @@ namespace Model inline CreateClusterRequest& WithNodeType(const char* value) { SetNodeType(value); return *this;} ///@} + ///@{ + /** + *

        The name of the multi-Region cluster to be created.

        + */ + inline const Aws::String& GetMultiRegionClusterName() const{ return m_multiRegionClusterName; } + inline bool MultiRegionClusterNameHasBeenSet() const { return m_multiRegionClusterNameHasBeenSet; } + inline void SetMultiRegionClusterName(const Aws::String& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = value; } + inline void SetMultiRegionClusterName(Aws::String&& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = std::move(value); } + inline void SetMultiRegionClusterName(const char* value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName.assign(value); } + inline CreateClusterRequest& WithMultiRegionClusterName(const Aws::String& value) { SetMultiRegionClusterName(value); return *this;} + inline CreateClusterRequest& WithMultiRegionClusterName(Aws::String&& value) { SetMultiRegionClusterName(std::move(value)); return *this;} + inline CreateClusterRequest& WithMultiRegionClusterName(const char* value) { SetMultiRegionClusterName(value); return *this;} + ///@} + ///@{ /** *

        The name of the parameter group associated with the cluster.

        @@ -307,8 +321,7 @@ namespace Model ///@{ /** - *

        The name of the engine to be used for the nodes in this cluster. The value - * must be set to either Redis or Valkey.

        + *

        The name of the engine to be used for the cluster.

        */ inline const Aws::String& GetEngine() const{ return m_engine; } inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } @@ -322,7 +335,7 @@ namespace Model ///@{ /** - *

        The version number of the engine to be used for the cluster.

        + *

        The version number of the Redis OSS engine to be used for the cluster.

        */ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } @@ -366,6 +379,9 @@ namespace Model Aws::String m_nodeType; bool m_nodeTypeHasBeenSet = false; + Aws::String m_multiRegionClusterName; + bool m_multiRegionClusterNameHasBeenSet = false; + Aws::String m_parameterGroupName; bool m_parameterGroupNameHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateMultiRegionClusterRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateMultiRegionClusterRequest.h new file mode 100644 index 00000000000..be17de12e93 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateMultiRegionClusterRequest.h @@ -0,0 +1,189 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MemoryDB +{ +namespace Model +{ + + /** + */ + class CreateMultiRegionClusterRequest : public MemoryDBRequest + { + public: + AWS_MEMORYDB_API CreateMultiRegionClusterRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateMultiRegionCluster"; } + + AWS_MEMORYDB_API Aws::String SerializePayload() const override; + + AWS_MEMORYDB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        A suffix to be added to the multi-Region cluster name.

        + */ + inline const Aws::String& GetMultiRegionClusterNameSuffix() const{ return m_multiRegionClusterNameSuffix; } + inline bool MultiRegionClusterNameSuffixHasBeenSet() const { return m_multiRegionClusterNameSuffixHasBeenSet; } + inline void SetMultiRegionClusterNameSuffix(const Aws::String& value) { m_multiRegionClusterNameSuffixHasBeenSet = true; m_multiRegionClusterNameSuffix = value; } + inline void SetMultiRegionClusterNameSuffix(Aws::String&& value) { m_multiRegionClusterNameSuffixHasBeenSet = true; m_multiRegionClusterNameSuffix = std::move(value); } + inline void SetMultiRegionClusterNameSuffix(const char* value) { m_multiRegionClusterNameSuffixHasBeenSet = true; m_multiRegionClusterNameSuffix.assign(value); } + inline CreateMultiRegionClusterRequest& WithMultiRegionClusterNameSuffix(const Aws::String& value) { SetMultiRegionClusterNameSuffix(value); return *this;} + inline CreateMultiRegionClusterRequest& WithMultiRegionClusterNameSuffix(Aws::String&& value) { SetMultiRegionClusterNameSuffix(std::move(value)); return *this;} + inline CreateMultiRegionClusterRequest& WithMultiRegionClusterNameSuffix(const char* value) { SetMultiRegionClusterNameSuffix(value); return *this;} + ///@} + + ///@{ + /** + *

        A description for the multi-Region cluster.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline CreateMultiRegionClusterRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline CreateMultiRegionClusterRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline CreateMultiRegionClusterRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the engine to be used for the multi-Region cluster.

        + */ + inline const Aws::String& GetEngine() const{ return m_engine; } + inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } + inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } + inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } + inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } + inline CreateMultiRegionClusterRequest& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} + inline CreateMultiRegionClusterRequest& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} + inline CreateMultiRegionClusterRequest& WithEngine(const char* value) { SetEngine(value); return *this;} + ///@} + + ///@{ + /** + *

        The version of the engine to be used for the multi-Region cluster.

        + */ + inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } + inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } + inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } + inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } + inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } + inline CreateMultiRegionClusterRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} + inline CreateMultiRegionClusterRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} + inline CreateMultiRegionClusterRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} + ///@} + + ///@{ + /** + *

        The node type to be used for the multi-Region cluster.

        + */ + inline const Aws::String& GetNodeType() const{ return m_nodeType; } + inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } + inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } + inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } + inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } + inline CreateMultiRegionClusterRequest& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} + inline CreateMultiRegionClusterRequest& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} + inline CreateMultiRegionClusterRequest& WithNodeType(const char* value) { SetNodeType(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the multi-Region parameter group to be associated with the + * cluster.

        + */ + inline const Aws::String& GetMultiRegionParameterGroupName() const{ return m_multiRegionParameterGroupName; } + inline bool MultiRegionParameterGroupNameHasBeenSet() const { return m_multiRegionParameterGroupNameHasBeenSet; } + inline void SetMultiRegionParameterGroupName(const Aws::String& value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName = value; } + inline void SetMultiRegionParameterGroupName(Aws::String&& value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName = std::move(value); } + inline void SetMultiRegionParameterGroupName(const char* value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName.assign(value); } + inline CreateMultiRegionClusterRequest& WithMultiRegionParameterGroupName(const Aws::String& value) { SetMultiRegionParameterGroupName(value); return *this;} + inline CreateMultiRegionClusterRequest& WithMultiRegionParameterGroupName(Aws::String&& value) { SetMultiRegionParameterGroupName(std::move(value)); return *this;} + inline CreateMultiRegionClusterRequest& WithMultiRegionParameterGroupName(const char* value) { SetMultiRegionParameterGroupName(value); return *this;} + ///@} + + ///@{ + /** + *

        The number of shards for the multi-Region cluster.

        + */ + inline int GetNumShards() const{ return m_numShards; } + inline bool NumShardsHasBeenSet() const { return m_numShardsHasBeenSet; } + inline void SetNumShards(int value) { m_numShardsHasBeenSet = true; m_numShards = value; } + inline CreateMultiRegionClusterRequest& WithNumShards(int value) { SetNumShards(value); return *this;} + ///@} + + ///@{ + /** + *

        Whether to enable TLS encryption for the multi-Region cluster.

        + */ + inline bool GetTLSEnabled() const{ return m_tLSEnabled; } + inline bool TLSEnabledHasBeenSet() const { return m_tLSEnabledHasBeenSet; } + inline void SetTLSEnabled(bool value) { m_tLSEnabledHasBeenSet = true; m_tLSEnabled = value; } + inline CreateMultiRegionClusterRequest& WithTLSEnabled(bool value) { SetTLSEnabled(value); return *this;} + ///@} + + ///@{ + /** + *

        A list of tags to be applied to the multi-Region cluster.

        + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateMultiRegionClusterRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + inline CreateMultiRegionClusterRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + inline CreateMultiRegionClusterRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + inline CreateMultiRegionClusterRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_multiRegionClusterNameSuffix; + bool m_multiRegionClusterNameSuffixHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_engine; + bool m_engineHasBeenSet = false; + + Aws::String m_engineVersion; + bool m_engineVersionHasBeenSet = false; + + Aws::String m_nodeType; + bool m_nodeTypeHasBeenSet = false; + + Aws::String m_multiRegionParameterGroupName; + bool m_multiRegionParameterGroupNameHasBeenSet = false; + + int m_numShards; + bool m_numShardsHasBeenSet = false; + + bool m_tLSEnabled; + bool m_tLSEnabledHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateMultiRegionClusterResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateMultiRegionClusterResult.h new file mode 100644 index 00000000000..c87a38a8e8e --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateMultiRegionClusterResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MemoryDB +{ +namespace Model +{ + class CreateMultiRegionClusterResult + { + public: + AWS_MEMORYDB_API CreateMultiRegionClusterResult(); + AWS_MEMORYDB_API CreateMultiRegionClusterResult(const Aws::AmazonWebServiceResult& result); + AWS_MEMORYDB_API CreateMultiRegionClusterResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Details about the newly created multi-Region cluster.

        + */ + inline const MultiRegionCluster& GetMultiRegionCluster() const{ return m_multiRegionCluster; } + inline void SetMultiRegionCluster(const MultiRegionCluster& value) { m_multiRegionCluster = value; } + inline void SetMultiRegionCluster(MultiRegionCluster&& value) { m_multiRegionCluster = std::move(value); } + inline CreateMultiRegionClusterResult& WithMultiRegionCluster(const MultiRegionCluster& value) { SetMultiRegionCluster(value); return *this;} + inline CreateMultiRegionClusterResult& WithMultiRegionCluster(MultiRegionCluster&& value) { SetMultiRegionCluster(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateMultiRegionClusterResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateMultiRegionClusterResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateMultiRegionClusterResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + MultiRegionCluster m_multiRegionCluster; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateSubnetGroupResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateSubnetGroupResult.h index fabe98dc10d..47a25fca600 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateSubnetGroupResult.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/CreateSubnetGroupResult.h @@ -35,7 +35,7 @@ namespace Model ///@{ /** - *

        The newly-created subnet group

        + *

        The newly-created subnet group.

        */ inline const SubnetGroup& GetSubnetGroup() const{ return m_subnetGroup; } inline void SetSubnetGroup(const SubnetGroup& value) { m_subnetGroup = value; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteACLRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteACLRequest.h index c188f3239ce..2a732974e3c 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteACLRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteACLRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The name of the Access Control List to delete

        + *

        The name of the Access Control List to delete.

        */ inline const Aws::String& GetACLName() const{ return m_aCLName; } inline bool ACLNameHasBeenSet() const { return m_aCLNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteClusterRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteClusterRequest.h index 0ea82fa8d4b..d8738e32592 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteClusterRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteClusterRequest.h @@ -48,6 +48,20 @@ namespace Model inline DeleteClusterRequest& WithClusterName(const char* value) { SetClusterName(value); return *this;} ///@} + ///@{ + /** + *

        The name of the multi-Region cluster to be deleted.

        + */ + inline const Aws::String& GetMultiRegionClusterName() const{ return m_multiRegionClusterName; } + inline bool MultiRegionClusterNameHasBeenSet() const { return m_multiRegionClusterNameHasBeenSet; } + inline void SetMultiRegionClusterName(const Aws::String& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = value; } + inline void SetMultiRegionClusterName(Aws::String&& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = std::move(value); } + inline void SetMultiRegionClusterName(const char* value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName.assign(value); } + inline DeleteClusterRequest& WithMultiRegionClusterName(const Aws::String& value) { SetMultiRegionClusterName(value); return *this;} + inline DeleteClusterRequest& WithMultiRegionClusterName(Aws::String&& value) { SetMultiRegionClusterName(std::move(value)); return *this;} + inline DeleteClusterRequest& WithMultiRegionClusterName(const char* value) { SetMultiRegionClusterName(value); return *this;} + ///@} + ///@{ /** *

        The user-supplied name of a final cluster snapshot. This is the unique name @@ -68,6 +82,9 @@ namespace Model Aws::String m_clusterName; bool m_clusterNameHasBeenSet = false; + Aws::String m_multiRegionClusterName; + bool m_multiRegionClusterNameHasBeenSet = false; + Aws::String m_finalSnapshotName; bool m_finalSnapshotNameHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteClusterResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteClusterResult.h index d002da78dd6..cc44075d97f 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteClusterResult.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteClusterResult.h @@ -35,7 +35,7 @@ namespace Model ///@{ /** - *

        The cluster object that has been deleted

        + *

        The cluster object that has been deleted.

        */ inline const Cluster& GetCluster() const{ return m_cluster; } inline void SetCluster(const Cluster& value) { m_cluster = value; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteMultiRegionClusterRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteMultiRegionClusterRequest.h new file mode 100644 index 00000000000..4ab80f940db --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteMultiRegionClusterRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MemoryDB +{ +namespace Model +{ + + /** + */ + class DeleteMultiRegionClusterRequest : public MemoryDBRequest + { + public: + AWS_MEMORYDB_API DeleteMultiRegionClusterRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteMultiRegionCluster"; } + + AWS_MEMORYDB_API Aws::String SerializePayload() const override; + + AWS_MEMORYDB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The name of the multi-Region cluster to be deleted.

        + */ + inline const Aws::String& GetMultiRegionClusterName() const{ return m_multiRegionClusterName; } + inline bool MultiRegionClusterNameHasBeenSet() const { return m_multiRegionClusterNameHasBeenSet; } + inline void SetMultiRegionClusterName(const Aws::String& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = value; } + inline void SetMultiRegionClusterName(Aws::String&& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = std::move(value); } + inline void SetMultiRegionClusterName(const char* value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName.assign(value); } + inline DeleteMultiRegionClusterRequest& WithMultiRegionClusterName(const Aws::String& value) { SetMultiRegionClusterName(value); return *this;} + inline DeleteMultiRegionClusterRequest& WithMultiRegionClusterName(Aws::String&& value) { SetMultiRegionClusterName(std::move(value)); return *this;} + inline DeleteMultiRegionClusterRequest& WithMultiRegionClusterName(const char* value) { SetMultiRegionClusterName(value); return *this;} + ///@} + private: + + Aws::String m_multiRegionClusterName; + bool m_multiRegionClusterNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteMultiRegionClusterResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteMultiRegionClusterResult.h new file mode 100644 index 00000000000..08066aa5eb9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteMultiRegionClusterResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MemoryDB +{ +namespace Model +{ + class DeleteMultiRegionClusterResult + { + public: + AWS_MEMORYDB_API DeleteMultiRegionClusterResult(); + AWS_MEMORYDB_API DeleteMultiRegionClusterResult(const Aws::AmazonWebServiceResult& result); + AWS_MEMORYDB_API DeleteMultiRegionClusterResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Details about the deleted multi-Region cluster.

        + */ + inline const MultiRegionCluster& GetMultiRegionCluster() const{ return m_multiRegionCluster; } + inline void SetMultiRegionCluster(const MultiRegionCluster& value) { m_multiRegionCluster = value; } + inline void SetMultiRegionCluster(MultiRegionCluster&& value) { m_multiRegionCluster = std::move(value); } + inline DeleteMultiRegionClusterResult& WithMultiRegionCluster(const MultiRegionCluster& value) { SetMultiRegionCluster(value); return *this;} + inline DeleteMultiRegionClusterResult& WithMultiRegionCluster(MultiRegionCluster&& value) { SetMultiRegionCluster(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteMultiRegionClusterResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteMultiRegionClusterResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteMultiRegionClusterResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + MultiRegionCluster m_multiRegionCluster; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteSnapshotRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteSnapshotRequest.h index a381df17160..9fdb14c4fb2 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteSnapshotRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteSnapshotRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The name of the snapshot to delete

        + *

        The name of the snapshot to delete.

        */ inline const Aws::String& GetSnapshotName() const{ return m_snapshotName; } inline bool SnapshotNameHasBeenSet() const { return m_snapshotNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteSubnetGroupRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteSubnetGroupRequest.h index 72f12d54598..b1521246a7f 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteSubnetGroupRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DeleteSubnetGroupRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The name of the subnet group to delete

        + *

        The name of the subnet group to delete.

        */ inline const Aws::String& GetSubnetGroupName() const{ return m_subnetGroupName; } inline bool SubnetGroupNameHasBeenSet() const { return m_subnetGroupNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeACLsRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeACLsRequest.h index 3b64db45c37..34d4a120166 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeACLsRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeACLsRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The name of the ACL

        + *

        The name of the ACL.

        */ inline const Aws::String& GetACLName() const{ return m_aCLName; } inline bool ACLNameHasBeenSet() const { return m_aCLNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeACLsResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeACLsResult.h index 6a27a0128da..1fe64075a53 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeACLsResult.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeACLsResult.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The list of ACLs

        + *

        The list of ACLs.

        */ inline const Aws::Vector& GetACLs() const{ return m_aCLs; } inline void SetACLs(const Aws::Vector& value) { m_aCLs = value; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeClustersRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeClustersRequest.h index a1751660dc4..c53ca5deb9b 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeClustersRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeClustersRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The name of the cluster

        + *

        The name of the cluster.

        */ inline const Aws::String& GetClusterName() const{ return m_clusterName; } inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeEngineVersionsRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeEngineVersionsRequest.h index 185ee24ccc7..ebcb8322e18 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeEngineVersionsRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeEngineVersionsRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The engine version to return. Valid values are either valkey or redis.

        + *

        The name of the engine for which to list available versions.

        */ inline const Aws::String& GetEngine() const{ return m_engine; } inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } @@ -50,7 +50,7 @@ namespace Model ///@{ /** - *

        The engine version.

        + *

        The Redis OSS engine version

        */ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeMultiRegionClustersRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeMultiRegionClustersRequest.h new file mode 100644 index 00000000000..78214a8903c --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeMultiRegionClustersRequest.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MemoryDB +{ +namespace Model +{ + + /** + */ + class DescribeMultiRegionClustersRequest : public MemoryDBRequest + { + public: + AWS_MEMORYDB_API DescribeMultiRegionClustersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DescribeMultiRegionClusters"; } + + AWS_MEMORYDB_API Aws::String SerializePayload() const override; + + AWS_MEMORYDB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The name of a specific multi-Region cluster to describe.

        + */ + inline const Aws::String& GetMultiRegionClusterName() const{ return m_multiRegionClusterName; } + inline bool MultiRegionClusterNameHasBeenSet() const { return m_multiRegionClusterNameHasBeenSet; } + inline void SetMultiRegionClusterName(const Aws::String& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = value; } + inline void SetMultiRegionClusterName(Aws::String&& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = std::move(value); } + inline void SetMultiRegionClusterName(const char* value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName.assign(value); } + inline DescribeMultiRegionClustersRequest& WithMultiRegionClusterName(const Aws::String& value) { SetMultiRegionClusterName(value); return *this;} + inline DescribeMultiRegionClustersRequest& WithMultiRegionClusterName(Aws::String&& value) { SetMultiRegionClusterName(std::move(value)); return *this;} + inline DescribeMultiRegionClustersRequest& WithMultiRegionClusterName(const char* value) { SetMultiRegionClusterName(value); return *this;} + ///@} + + ///@{ + /** + *

        The maximum number of results to return.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline DescribeMultiRegionClustersRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

        A token to specify where to start paginating.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline DescribeMultiRegionClustersRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline DescribeMultiRegionClustersRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline DescribeMultiRegionClustersRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Details about the multi-Region cluster.

        + */ + inline bool GetShowClusterDetails() const{ return m_showClusterDetails; } + inline bool ShowClusterDetailsHasBeenSet() const { return m_showClusterDetailsHasBeenSet; } + inline void SetShowClusterDetails(bool value) { m_showClusterDetailsHasBeenSet = true; m_showClusterDetails = value; } + inline DescribeMultiRegionClustersRequest& WithShowClusterDetails(bool value) { SetShowClusterDetails(value); return *this;} + ///@} + private: + + Aws::String m_multiRegionClusterName; + bool m_multiRegionClusterNameHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + bool m_showClusterDetails; + bool m_showClusterDetailsHasBeenSet = false; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeMultiRegionClustersResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeMultiRegionClustersResult.h new file mode 100644 index 00000000000..707f5d6c236 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeMultiRegionClustersResult.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MemoryDB +{ +namespace Model +{ + class DescribeMultiRegionClustersResult + { + public: + AWS_MEMORYDB_API DescribeMultiRegionClustersResult(); + AWS_MEMORYDB_API DescribeMultiRegionClustersResult(const Aws::AmazonWebServiceResult& result); + AWS_MEMORYDB_API DescribeMultiRegionClustersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        A token to use to retrieve the next page of results.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline DescribeMultiRegionClustersResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline DescribeMultiRegionClustersResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline DescribeMultiRegionClustersResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        A list of multi-Region clusters.

        + */ + inline const Aws::Vector& GetMultiRegionClusters() const{ return m_multiRegionClusters; } + inline void SetMultiRegionClusters(const Aws::Vector& value) { m_multiRegionClusters = value; } + inline void SetMultiRegionClusters(Aws::Vector&& value) { m_multiRegionClusters = std::move(value); } + inline DescribeMultiRegionClustersResult& WithMultiRegionClusters(const Aws::Vector& value) { SetMultiRegionClusters(value); return *this;} + inline DescribeMultiRegionClustersResult& WithMultiRegionClusters(Aws::Vector&& value) { SetMultiRegionClusters(std::move(value)); return *this;} + inline DescribeMultiRegionClustersResult& AddMultiRegionClusters(const MultiRegionCluster& value) { m_multiRegionClusters.push_back(value); return *this; } + inline DescribeMultiRegionClustersResult& AddMultiRegionClusters(MultiRegionCluster&& value) { m_multiRegionClusters.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DescribeMultiRegionClustersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DescribeMultiRegionClustersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DescribeMultiRegionClustersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_multiRegionClusters; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeServiceUpdatesRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeServiceUpdatesRequest.h index 171512336e7..c05abe762c8 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeServiceUpdatesRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeServiceUpdatesRequest.h @@ -52,7 +52,7 @@ namespace Model ///@{ /** - *

        The list of cluster names to identify service updates to apply

        + *

        The list of cluster names to identify service updates to apply.

        */ inline const Aws::Vector& GetClusterNames() const{ return m_clusterNames; } inline bool ClusterNamesHasBeenSet() const { return m_clusterNamesHasBeenSet; } @@ -67,7 +67,7 @@ namespace Model ///@{ /** - *

        The status(es) of the service updates to filter on

        + *

        The status(es) of the service updates to filter on.

        */ inline const Aws::Vector& GetStatus() const{ return m_status; } inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeUsersRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeUsersRequest.h index 93715b1ffd6..082034f0fe7 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeUsersRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/DescribeUsersRequest.h @@ -38,7 +38,7 @@ namespace Model ///@{ /** - *

        The name of the user

        + *

        The name of the user.

        */ inline const Aws::String& GetUserName() const{ return m_userName; } inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/EngineVersionInfo.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/EngineVersionInfo.h index ee179121115..7d71d8fd116 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/EngineVersionInfo.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/EngineVersionInfo.h @@ -24,7 +24,8 @@ namespace Model { /** - *

        Provides details of the engine version.

        See Also:

        Provides details of the Redis OSS engine version

        See Also:

        + *
        AWS * API Reference

        */ @@ -39,7 +40,7 @@ namespace Model ///@{ /** - *

        The version of the Redis OSS or Valkey engine used by the cluster.

        + *

        The name of the engine for which version information is provided.

        */ inline const Aws::String& GetEngine() const{ return m_engine; } inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/FailoverShardRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/FailoverShardRequest.h index 46e8a34c853..866a3c7c834 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/FailoverShardRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/FailoverShardRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The cluster being failed over

        + *

        The cluster being failed over.

        */ inline const Aws::String& GetClusterName() const{ return m_clusterName; } inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } @@ -50,7 +50,7 @@ namespace Model ///@{ /** - *

        The name of the shard

        + *

        The name of the shard.

        */ inline const Aws::String& GetShardName() const{ return m_shardName; } inline bool ShardNameHasBeenSet() const { return m_shardNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/FailoverShardResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/FailoverShardResult.h index 1a998711bfa..426bdce18b0 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/FailoverShardResult.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/FailoverShardResult.h @@ -35,7 +35,7 @@ namespace Model ///@{ /** - *

        The cluster being failed over

        + *

        The cluster being failed over.

        */ inline const Cluster& GetCluster() const{ return m_cluster; } inline void SetCluster(const Cluster& value) { m_cluster = value; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListAllowedMultiRegionClusterUpdatesRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListAllowedMultiRegionClusterUpdatesRequest.h new file mode 100644 index 00000000000..ead18055df1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListAllowedMultiRegionClusterUpdatesRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MemoryDB +{ +namespace Model +{ + + /** + */ + class ListAllowedMultiRegionClusterUpdatesRequest : public MemoryDBRequest + { + public: + AWS_MEMORYDB_API ListAllowedMultiRegionClusterUpdatesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListAllowedMultiRegionClusterUpdates"; } + + AWS_MEMORYDB_API Aws::String SerializePayload() const override; + + AWS_MEMORYDB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The name of the multi-Region cluster.

        + */ + inline const Aws::String& GetMultiRegionClusterName() const{ return m_multiRegionClusterName; } + inline bool MultiRegionClusterNameHasBeenSet() const { return m_multiRegionClusterNameHasBeenSet; } + inline void SetMultiRegionClusterName(const Aws::String& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = value; } + inline void SetMultiRegionClusterName(Aws::String&& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = std::move(value); } + inline void SetMultiRegionClusterName(const char* value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName.assign(value); } + inline ListAllowedMultiRegionClusterUpdatesRequest& WithMultiRegionClusterName(const Aws::String& value) { SetMultiRegionClusterName(value); return *this;} + inline ListAllowedMultiRegionClusterUpdatesRequest& WithMultiRegionClusterName(Aws::String&& value) { SetMultiRegionClusterName(std::move(value)); return *this;} + inline ListAllowedMultiRegionClusterUpdatesRequest& WithMultiRegionClusterName(const char* value) { SetMultiRegionClusterName(value); return *this;} + ///@} + private: + + Aws::String m_multiRegionClusterName; + bool m_multiRegionClusterNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListAllowedMultiRegionClusterUpdatesResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListAllowedMultiRegionClusterUpdatesResult.h new file mode 100644 index 00000000000..e7523fce656 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListAllowedMultiRegionClusterUpdatesResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MemoryDB +{ +namespace Model +{ + class ListAllowedMultiRegionClusterUpdatesResult + { + public: + AWS_MEMORYDB_API ListAllowedMultiRegionClusterUpdatesResult(); + AWS_MEMORYDB_API ListAllowedMultiRegionClusterUpdatesResult(const Aws::AmazonWebServiceResult& result); + AWS_MEMORYDB_API ListAllowedMultiRegionClusterUpdatesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The node types that the cluster can be scaled up to.

        + */ + inline const Aws::Vector& GetScaleUpNodeTypes() const{ return m_scaleUpNodeTypes; } + inline void SetScaleUpNodeTypes(const Aws::Vector& value) { m_scaleUpNodeTypes = value; } + inline void SetScaleUpNodeTypes(Aws::Vector&& value) { m_scaleUpNodeTypes = std::move(value); } + inline ListAllowedMultiRegionClusterUpdatesResult& WithScaleUpNodeTypes(const Aws::Vector& value) { SetScaleUpNodeTypes(value); return *this;} + inline ListAllowedMultiRegionClusterUpdatesResult& WithScaleUpNodeTypes(Aws::Vector&& value) { SetScaleUpNodeTypes(std::move(value)); return *this;} + inline ListAllowedMultiRegionClusterUpdatesResult& AddScaleUpNodeTypes(const Aws::String& value) { m_scaleUpNodeTypes.push_back(value); return *this; } + inline ListAllowedMultiRegionClusterUpdatesResult& AddScaleUpNodeTypes(Aws::String&& value) { m_scaleUpNodeTypes.push_back(std::move(value)); return *this; } + inline ListAllowedMultiRegionClusterUpdatesResult& AddScaleUpNodeTypes(const char* value) { m_scaleUpNodeTypes.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The node types that the cluster can be scaled down to.

        + */ + inline const Aws::Vector& GetScaleDownNodeTypes() const{ return m_scaleDownNodeTypes; } + inline void SetScaleDownNodeTypes(const Aws::Vector& value) { m_scaleDownNodeTypes = value; } + inline void SetScaleDownNodeTypes(Aws::Vector&& value) { m_scaleDownNodeTypes = std::move(value); } + inline ListAllowedMultiRegionClusterUpdatesResult& WithScaleDownNodeTypes(const Aws::Vector& value) { SetScaleDownNodeTypes(value); return *this;} + inline ListAllowedMultiRegionClusterUpdatesResult& WithScaleDownNodeTypes(Aws::Vector&& value) { SetScaleDownNodeTypes(std::move(value)); return *this;} + inline ListAllowedMultiRegionClusterUpdatesResult& AddScaleDownNodeTypes(const Aws::String& value) { m_scaleDownNodeTypes.push_back(value); return *this; } + inline ListAllowedMultiRegionClusterUpdatesResult& AddScaleDownNodeTypes(Aws::String&& value) { m_scaleDownNodeTypes.push_back(std::move(value)); return *this; } + inline ListAllowedMultiRegionClusterUpdatesResult& AddScaleDownNodeTypes(const char* value) { m_scaleDownNodeTypes.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListAllowedMultiRegionClusterUpdatesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListAllowedMultiRegionClusterUpdatesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListAllowedMultiRegionClusterUpdatesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_scaleUpNodeTypes; + + Aws::Vector m_scaleDownNodeTypes; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListTagsRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListTagsRequest.h index 6a0f6e3b6b5..7077ee72b1f 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListTagsRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ListTagsRequest.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

        The Amazon Resource Name (ARN) of the resource for which you want the list of - * tags

        + * tags.

        */ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/MultiRegionCluster.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/MultiRegionCluster.h new file mode 100644 index 00000000000..1ed1159e0c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/MultiRegionCluster.h @@ -0,0 +1,225 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MemoryDB +{ +namespace Model +{ + + /** + *

        Represents a multi-Region cluster.

        See Also:

        AWS + * API Reference

        + */ + class MultiRegionCluster + { + public: + AWS_MEMORYDB_API MultiRegionCluster(); + AWS_MEMORYDB_API MultiRegionCluster(Aws::Utils::Json::JsonView jsonValue); + AWS_MEMORYDB_API MultiRegionCluster& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_MEMORYDB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the multi-Region cluster.

        + */ + inline const Aws::String& GetMultiRegionClusterName() const{ return m_multiRegionClusterName; } + inline bool MultiRegionClusterNameHasBeenSet() const { return m_multiRegionClusterNameHasBeenSet; } + inline void SetMultiRegionClusterName(const Aws::String& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = value; } + inline void SetMultiRegionClusterName(Aws::String&& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = std::move(value); } + inline void SetMultiRegionClusterName(const char* value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName.assign(value); } + inline MultiRegionCluster& WithMultiRegionClusterName(const Aws::String& value) { SetMultiRegionClusterName(value); return *this;} + inline MultiRegionCluster& WithMultiRegionClusterName(Aws::String&& value) { SetMultiRegionClusterName(std::move(value)); return *this;} + inline MultiRegionCluster& WithMultiRegionClusterName(const char* value) { SetMultiRegionClusterName(value); return *this;} + ///@} + + ///@{ + /** + *

        The description of the multi-Region cluster.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline MultiRegionCluster& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline MultiRegionCluster& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline MultiRegionCluster& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        The current status of the multi-Region cluster.

        + */ + inline const Aws::String& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } + inline MultiRegionCluster& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} + inline MultiRegionCluster& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} + inline MultiRegionCluster& WithStatus(const char* value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

        The node type used by the multi-Region cluster.

        + */ + inline const Aws::String& GetNodeType() const{ return m_nodeType; } + inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } + inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } + inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } + inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } + inline MultiRegionCluster& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} + inline MultiRegionCluster& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} + inline MultiRegionCluster& WithNodeType(const char* value) { SetNodeType(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the engine used by the multi-Region cluster.

        + */ + inline const Aws::String& GetEngine() const{ return m_engine; } + inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } + inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } + inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } + inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } + inline MultiRegionCluster& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} + inline MultiRegionCluster& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} + inline MultiRegionCluster& WithEngine(const char* value) { SetEngine(value); return *this;} + ///@} + + ///@{ + /** + *

        The version of the engine used by the multi-Region cluster.

        + */ + inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } + inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } + inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } + inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } + inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } + inline MultiRegionCluster& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} + inline MultiRegionCluster& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} + inline MultiRegionCluster& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} + ///@} + + ///@{ + /** + *

        The number of shards in the multi-Region cluster.

        + */ + inline int GetNumberOfShards() const{ return m_numberOfShards; } + inline bool NumberOfShardsHasBeenSet() const { return m_numberOfShardsHasBeenSet; } + inline void SetNumberOfShards(int value) { m_numberOfShardsHasBeenSet = true; m_numberOfShards = value; } + inline MultiRegionCluster& WithNumberOfShards(int value) { SetNumberOfShards(value); return *this;} + ///@} + + ///@{ + /** + *

        The clusters in this multi-Region cluster.

        + */ + inline const Aws::Vector& GetClusters() const{ return m_clusters; } + inline bool ClustersHasBeenSet() const { return m_clustersHasBeenSet; } + inline void SetClusters(const Aws::Vector& value) { m_clustersHasBeenSet = true; m_clusters = value; } + inline void SetClusters(Aws::Vector&& value) { m_clustersHasBeenSet = true; m_clusters = std::move(value); } + inline MultiRegionCluster& WithClusters(const Aws::Vector& value) { SetClusters(value); return *this;} + inline MultiRegionCluster& WithClusters(Aws::Vector&& value) { SetClusters(std::move(value)); return *this;} + inline MultiRegionCluster& AddClusters(const RegionalCluster& value) { m_clustersHasBeenSet = true; m_clusters.push_back(value); return *this; } + inline MultiRegionCluster& AddClusters(RegionalCluster&& value) { m_clustersHasBeenSet = true; m_clusters.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The name of the multi-Region parameter group associated with the cluster.

        + */ + inline const Aws::String& GetMultiRegionParameterGroupName() const{ return m_multiRegionParameterGroupName; } + inline bool MultiRegionParameterGroupNameHasBeenSet() const { return m_multiRegionParameterGroupNameHasBeenSet; } + inline void SetMultiRegionParameterGroupName(const Aws::String& value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName = value; } + inline void SetMultiRegionParameterGroupName(Aws::String&& value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName = std::move(value); } + inline void SetMultiRegionParameterGroupName(const char* value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName.assign(value); } + inline MultiRegionCluster& WithMultiRegionParameterGroupName(const Aws::String& value) { SetMultiRegionParameterGroupName(value); return *this;} + inline MultiRegionCluster& WithMultiRegionParameterGroupName(Aws::String&& value) { SetMultiRegionParameterGroupName(std::move(value)); return *this;} + inline MultiRegionCluster& WithMultiRegionParameterGroupName(const char* value) { SetMultiRegionParameterGroupName(value); return *this;} + ///@} + + ///@{ + /** + *

        Indiciates if the multi-Region cluster is TLS enabled.

        + */ + inline bool GetTLSEnabled() const{ return m_tLSEnabled; } + inline bool TLSEnabledHasBeenSet() const { return m_tLSEnabledHasBeenSet; } + inline void SetTLSEnabled(bool value) { m_tLSEnabledHasBeenSet = true; m_tLSEnabled = value; } + inline MultiRegionCluster& WithTLSEnabled(bool value) { SetTLSEnabled(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the multi-Region cluster.

        + */ + inline const Aws::String& GetARN() const{ return m_aRN; } + inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } + inline void SetARN(const Aws::String& value) { m_aRNHasBeenSet = true; m_aRN = value; } + inline void SetARN(Aws::String&& value) { m_aRNHasBeenSet = true; m_aRN = std::move(value); } + inline void SetARN(const char* value) { m_aRNHasBeenSet = true; m_aRN.assign(value); } + inline MultiRegionCluster& WithARN(const Aws::String& value) { SetARN(value); return *this;} + inline MultiRegionCluster& WithARN(Aws::String&& value) { SetARN(std::move(value)); return *this;} + inline MultiRegionCluster& WithARN(const char* value) { SetARN(value); return *this;} + ///@} + private: + + Aws::String m_multiRegionClusterName; + bool m_multiRegionClusterNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_nodeType; + bool m_nodeTypeHasBeenSet = false; + + Aws::String m_engine; + bool m_engineHasBeenSet = false; + + Aws::String m_engineVersion; + bool m_engineVersionHasBeenSet = false; + + int m_numberOfShards; + bool m_numberOfShardsHasBeenSet = false; + + Aws::Vector m_clusters; + bool m_clustersHasBeenSet = false; + + Aws::String m_multiRegionParameterGroupName; + bool m_multiRegionParameterGroupNameHasBeenSet = false; + + bool m_tLSEnabled; + bool m_tLSEnabledHasBeenSet = false; + + Aws::String m_aRN; + bool m_aRNHasBeenSet = false; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/RegionalCluster.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/RegionalCluster.h new file mode 100644 index 00000000000..001d693c9ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/RegionalCluster.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MemoryDB +{ +namespace Model +{ + + /** + *

        Represents a Regional cluster

        See Also:

        AWS + * API Reference

        + */ + class RegionalCluster + { + public: + AWS_MEMORYDB_API RegionalCluster(); + AWS_MEMORYDB_API RegionalCluster(Aws::Utils::Json::JsonView jsonValue); + AWS_MEMORYDB_API RegionalCluster& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_MEMORYDB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the Regional cluster

        + */ + inline const Aws::String& GetClusterName() const{ return m_clusterName; } + inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } + inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } + inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } + inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } + inline RegionalCluster& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} + inline RegionalCluster& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} + inline RegionalCluster& WithClusterName(const char* value) { SetClusterName(value); return *this;} + ///@} + + ///@{ + /** + *

        The Region the current Regional cluster is assigned to.

        + */ + inline const Aws::String& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + inline RegionalCluster& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + inline RegionalCluster& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + inline RegionalCluster& WithRegion(const char* value) { SetRegion(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of the Regional cluster.

        + */ + inline const Aws::String& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } + inline RegionalCluster& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} + inline RegionalCluster& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} + inline RegionalCluster& WithStatus(const char* value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) the Regional cluster

        + */ + inline const Aws::String& GetARN() const{ return m_aRN; } + inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } + inline void SetARN(const Aws::String& value) { m_aRNHasBeenSet = true; m_aRN = value; } + inline void SetARN(Aws::String&& value) { m_aRNHasBeenSet = true; m_aRN = std::move(value); } + inline void SetARN(const char* value) { m_aRNHasBeenSet = true; m_aRN.assign(value); } + inline RegionalCluster& WithARN(const Aws::String& value) { SetARN(value); return *this;} + inline RegionalCluster& WithARN(Aws::String&& value) { SetARN(std::move(value)); return *this;} + inline RegionalCluster& WithARN(const char* value) { SetARN(value); return *this;} + ///@} + private: + + Aws::String m_clusterName; + bool m_clusterNameHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + Aws::String m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_aRN; + bool m_aRNHasBeenSet = false; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ServiceUpdate.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ServiceUpdate.h index cca58d4ba6f..a099d7f68a5 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ServiceUpdate.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/ServiceUpdate.h @@ -121,8 +121,7 @@ namespace Model ///@{ /** - *

        The MemoryDB engine to which the update applies. The values are either Redis - * or Valkey.

        + *

        The name of the engine for which a service update is available.

        */ inline const Aws::String& GetEngine() const{ return m_engine; } inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/TagResourceRequest.h index ab13449614e..e859a6af555 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/TagResourceRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/TagResourceRequest.h @@ -39,7 +39,7 @@ namespace Model ///@{ /** *

        The Amazon Resource Name (ARN) of the resource to which the tags are to be - * added

        + * added.

        */ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UntagResourceRequest.h index 3e1807b8954..866bed9bca5 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UntagResourceRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UntagResourceRequest.h @@ -38,7 +38,7 @@ namespace Model ///@{ /** *

        The Amazon Resource Name (ARN) of the resource to which the tags are to be - * removed

        + * removed.

        */ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } @@ -52,7 +52,7 @@ namespace Model ///@{ /** - *

        The list of keys of the tags that are to be removed

        + *

        The list of keys of the tags that are to be removed.

        */ inline const Aws::Vector& GetTagKeys() const{ return m_tagKeys; } inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UntagResourceResult.h index 4925f497c7b..32e1f84c821 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UntagResourceResult.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UntagResourceResult.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The list of tags removed

        + *

        The list of tags removed.

        */ inline const Aws::Vector& GetTagList() const{ return m_tagList; } inline void SetTagList(const Aws::Vector& value) { m_tagList = value; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateACLRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateACLRequest.h index dc11b24ab97..5a16c951de3 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateACLRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateACLRequest.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** - *

        The name of the Access Control List

        + *

        The name of the Access Control List.

        */ inline const Aws::String& GetACLName() const{ return m_aCLName; } inline bool ACLNameHasBeenSet() const { return m_aCLNameHasBeenSet; } @@ -51,7 +51,7 @@ namespace Model ///@{ /** - *

        The list of users to add to the Access Control List

        + *

        The list of users to add to the Access Control List.

        */ inline const Aws::Vector& GetUserNamesToAdd() const{ return m_userNamesToAdd; } inline bool UserNamesToAddHasBeenSet() const { return m_userNamesToAddHasBeenSet; } @@ -66,7 +66,7 @@ namespace Model ///@{ /** - *

        The list of users to remove from the Access Control List

        + *

        The list of users to remove from the Access Control List.

        */ inline const Aws::Vector& GetUserNamesToRemove() const{ return m_userNamesToRemove; } inline bool UserNamesToRemoveHasBeenSet() const { return m_userNamesToRemoveHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateACLResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateACLResult.h index d08877a8a81..7c16514b777 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateACLResult.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateACLResult.h @@ -35,7 +35,7 @@ namespace Model ///@{ /** - *

        The updated Access Control List

        + *

        The updated Access Control List.

        */ inline const ACL& GetACL() const{ return m_aCL; } inline void SetACL(const ACL& value) { m_aCL = value; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateClusterRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateClusterRequest.h index fdde0fe481e..45c43f4aad1 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateClusterRequest.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateClusterRequest.h @@ -39,7 +39,7 @@ namespace Model ///@{ /** - *

        The name of the cluster to update

        + *

        The name of the cluster to update.

        */ inline const Aws::String& GetClusterName() const{ return m_clusterName; } inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } @@ -53,7 +53,7 @@ namespace Model ///@{ /** - *

        The description of the cluster to update

        + *

        The description of the cluster to update.

        */ inline const Aws::String& GetDescription() const{ return m_description; } inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } @@ -67,7 +67,7 @@ namespace Model ///@{ /** - *

        The SecurityGroupIds to update

        + *

        The SecurityGroupIds to update.

        */ inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } @@ -103,7 +103,7 @@ namespace Model ///@{ /** - *

        The SNS topic ARN to update

        + *

        The SNS topic ARN to update.

        */ inline const Aws::String& GetSnsTopicArn() const{ return m_snsTopicArn; } inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; } @@ -132,7 +132,7 @@ namespace Model ///@{ /** - *

        The name of the parameter group to update

        + *

        The name of the parameter group to update.

        */ inline const Aws::String& GetParameterGroupName() const{ return m_parameterGroupName; } inline bool ParameterGroupNameHasBeenSet() const { return m_parameterGroupNameHasBeenSet; } @@ -187,8 +187,7 @@ namespace Model ///@{ /** - *

        The name of the engine to be used for the nodes in this cluster. The value - * must be set to either Redis or Valkey.

        + *

        The name of the engine to be used for the cluster.

        */ inline const Aws::String& GetEngine() const{ return m_engine; } inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } @@ -219,7 +218,7 @@ namespace Model ///@{ /** - *

        The number of replicas that will reside in each shard

        + *

        The number of replicas that will reside in each shard.

        */ inline const ReplicaConfigurationRequest& GetReplicaConfiguration() const{ return m_replicaConfiguration; } inline bool ReplicaConfigurationHasBeenSet() const { return m_replicaConfigurationHasBeenSet; } @@ -231,7 +230,7 @@ namespace Model ///@{ /** - *

        The number of shards in the cluster

        + *

        The number of shards in the cluster.

        */ inline const ShardConfigurationRequest& GetShardConfiguration() const{ return m_shardConfiguration; } inline bool ShardConfigurationHasBeenSet() const { return m_shardConfigurationHasBeenSet; } @@ -243,7 +242,7 @@ namespace Model ///@{ /** - *

        The Access Control List that is associated with the cluster

        + *

        The Access Control List that is associated with the cluster.

        */ inline const Aws::String& GetACLName() const{ return m_aCLName; } inline bool ACLNameHasBeenSet() const { return m_aCLNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateClusterResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateClusterResult.h index 2630c0bd706..e33c3ba61b8 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateClusterResult.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateClusterResult.h @@ -35,7 +35,7 @@ namespace Model ///@{ /** - *

        The updated cluster

        + *

        The updated cluster.

        */ inline const Cluster& GetCluster() const{ return m_cluster; } inline void SetCluster(const Cluster& value) { m_cluster = value; } diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateMultiRegionClusterRequest.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateMultiRegionClusterRequest.h new file mode 100644 index 00000000000..2fca3848a7f --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateMultiRegionClusterRequest.h @@ -0,0 +1,156 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MemoryDB +{ +namespace Model +{ + + /** + */ + class UpdateMultiRegionClusterRequest : public MemoryDBRequest + { + public: + AWS_MEMORYDB_API UpdateMultiRegionClusterRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateMultiRegionCluster"; } + + AWS_MEMORYDB_API Aws::String SerializePayload() const override; + + AWS_MEMORYDB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

        The name of the multi-Region cluster to be updated.

        + */ + inline const Aws::String& GetMultiRegionClusterName() const{ return m_multiRegionClusterName; } + inline bool MultiRegionClusterNameHasBeenSet() const { return m_multiRegionClusterNameHasBeenSet; } + inline void SetMultiRegionClusterName(const Aws::String& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = value; } + inline void SetMultiRegionClusterName(Aws::String&& value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName = std::move(value); } + inline void SetMultiRegionClusterName(const char* value) { m_multiRegionClusterNameHasBeenSet = true; m_multiRegionClusterName.assign(value); } + inline UpdateMultiRegionClusterRequest& WithMultiRegionClusterName(const Aws::String& value) { SetMultiRegionClusterName(value); return *this;} + inline UpdateMultiRegionClusterRequest& WithMultiRegionClusterName(Aws::String&& value) { SetMultiRegionClusterName(std::move(value)); return *this;} + inline UpdateMultiRegionClusterRequest& WithMultiRegionClusterName(const char* value) { SetMultiRegionClusterName(value); return *this;} + ///@} + + ///@{ + /** + *

        The new node type to be used for the multi-Region cluster.

        + */ + inline const Aws::String& GetNodeType() const{ return m_nodeType; } + inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } + inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } + inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } + inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } + inline UpdateMultiRegionClusterRequest& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} + inline UpdateMultiRegionClusterRequest& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} + inline UpdateMultiRegionClusterRequest& WithNodeType(const char* value) { SetNodeType(value); return *this;} + ///@} + + ///@{ + /** + *

        A new description for the multi-Region cluster.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline UpdateMultiRegionClusterRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline UpdateMultiRegionClusterRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline UpdateMultiRegionClusterRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        The new engine version to be used for the multi-Region cluster.

        + */ + inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } + inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } + inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } + inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } + inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } + inline UpdateMultiRegionClusterRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} + inline UpdateMultiRegionClusterRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} + inline UpdateMultiRegionClusterRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} + ///@} + + ///@{ + + inline const ShardConfigurationRequest& GetShardConfiguration() const{ return m_shardConfiguration; } + inline bool ShardConfigurationHasBeenSet() const { return m_shardConfigurationHasBeenSet; } + inline void SetShardConfiguration(const ShardConfigurationRequest& value) { m_shardConfigurationHasBeenSet = true; m_shardConfiguration = value; } + inline void SetShardConfiguration(ShardConfigurationRequest&& value) { m_shardConfigurationHasBeenSet = true; m_shardConfiguration = std::move(value); } + inline UpdateMultiRegionClusterRequest& WithShardConfiguration(const ShardConfigurationRequest& value) { SetShardConfiguration(value); return *this;} + inline UpdateMultiRegionClusterRequest& WithShardConfiguration(ShardConfigurationRequest&& value) { SetShardConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The new multi-Region parameter group to be associated with the cluster.

        + */ + inline const Aws::String& GetMultiRegionParameterGroupName() const{ return m_multiRegionParameterGroupName; } + inline bool MultiRegionParameterGroupNameHasBeenSet() const { return m_multiRegionParameterGroupNameHasBeenSet; } + inline void SetMultiRegionParameterGroupName(const Aws::String& value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName = value; } + inline void SetMultiRegionParameterGroupName(Aws::String&& value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName = std::move(value); } + inline void SetMultiRegionParameterGroupName(const char* value) { m_multiRegionParameterGroupNameHasBeenSet = true; m_multiRegionParameterGroupName.assign(value); } + inline UpdateMultiRegionClusterRequest& WithMultiRegionParameterGroupName(const Aws::String& value) { SetMultiRegionParameterGroupName(value); return *this;} + inline UpdateMultiRegionClusterRequest& WithMultiRegionParameterGroupName(Aws::String&& value) { SetMultiRegionParameterGroupName(std::move(value)); return *this;} + inline UpdateMultiRegionClusterRequest& WithMultiRegionParameterGroupName(const char* value) { SetMultiRegionParameterGroupName(value); return *this;} + ///@} + + ///@{ + /** + *

        Whether to force the update even if it may cause data loss.

        + */ + inline const UpdateStrategy& GetUpdateStrategy() const{ return m_updateStrategy; } + inline bool UpdateStrategyHasBeenSet() const { return m_updateStrategyHasBeenSet; } + inline void SetUpdateStrategy(const UpdateStrategy& value) { m_updateStrategyHasBeenSet = true; m_updateStrategy = value; } + inline void SetUpdateStrategy(UpdateStrategy&& value) { m_updateStrategyHasBeenSet = true; m_updateStrategy = std::move(value); } + inline UpdateMultiRegionClusterRequest& WithUpdateStrategy(const UpdateStrategy& value) { SetUpdateStrategy(value); return *this;} + inline UpdateMultiRegionClusterRequest& WithUpdateStrategy(UpdateStrategy&& value) { SetUpdateStrategy(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_multiRegionClusterName; + bool m_multiRegionClusterNameHasBeenSet = false; + + Aws::String m_nodeType; + bool m_nodeTypeHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_engineVersion; + bool m_engineVersionHasBeenSet = false; + + ShardConfigurationRequest m_shardConfiguration; + bool m_shardConfigurationHasBeenSet = false; + + Aws::String m_multiRegionParameterGroupName; + bool m_multiRegionParameterGroupNameHasBeenSet = false; + + UpdateStrategy m_updateStrategy; + bool m_updateStrategyHasBeenSet = false; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateMultiRegionClusterResult.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateMultiRegionClusterResult.h new file mode 100644 index 00000000000..500c54144da --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateMultiRegionClusterResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MemoryDB +{ +namespace Model +{ + class UpdateMultiRegionClusterResult + { + public: + AWS_MEMORYDB_API UpdateMultiRegionClusterResult(); + AWS_MEMORYDB_API UpdateMultiRegionClusterResult(const Aws::AmazonWebServiceResult& result); + AWS_MEMORYDB_API UpdateMultiRegionClusterResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The status of updating the multi-Region cluster.

        + */ + inline const MultiRegionCluster& GetMultiRegionCluster() const{ return m_multiRegionCluster; } + inline void SetMultiRegionCluster(const MultiRegionCluster& value) { m_multiRegionCluster = value; } + inline void SetMultiRegionCluster(MultiRegionCluster&& value) { m_multiRegionCluster = std::move(value); } + inline UpdateMultiRegionClusterResult& WithMultiRegionCluster(const MultiRegionCluster& value) { SetMultiRegionCluster(value); return *this;} + inline UpdateMultiRegionClusterResult& WithMultiRegionCluster(MultiRegionCluster&& value) { SetMultiRegionCluster(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateMultiRegionClusterResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateMultiRegionClusterResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateMultiRegionClusterResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + MultiRegionCluster m_multiRegionCluster; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateStrategy.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateStrategy.h new file mode 100644 index 00000000000..a2c581d7a17 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/model/UpdateStrategy.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MemoryDB +{ +namespace Model +{ + enum class UpdateStrategy + { + NOT_SET, + coordinated, + uncoordinated + }; + +namespace UpdateStrategyMapper +{ +AWS_MEMORYDB_API UpdateStrategy GetUpdateStrategyForName(const Aws::String& name); + +AWS_MEMORYDB_API Aws::String GetNameForUpdateStrategy(UpdateStrategy value); +} // namespace UpdateStrategyMapper +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClient.cpp b/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClient.cpp index 6a2d9b80bb2..ddf6c155e98 100644 --- a/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClient.cpp +++ b/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClient.cpp @@ -25,12 +25,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -39,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -48,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -56,6 +60,7 @@ #include #include #include +#include #include #include #include @@ -306,6 +311,32 @@ CreateClusterOutcome MemoryDBClient::CreateCluster(const CreateClusterRequest& r {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateMultiRegionClusterOutcome MemoryDBClient::CreateMultiRegionCluster(const CreateMultiRegionClusterRequest& request) const +{ + AWS_OPERATION_GUARD(CreateMultiRegionCluster); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateMultiRegionCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateMultiRegionCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateMultiRegionCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateMultiRegionCluster", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateMultiRegionClusterOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateMultiRegionCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateMultiRegionClusterOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateParameterGroupOutcome MemoryDBClient::CreateParameterGroup(const CreateParameterGroupRequest& request) const { AWS_OPERATION_GUARD(CreateParameterGroup); @@ -462,6 +493,32 @@ DeleteClusterOutcome MemoryDBClient::DeleteCluster(const DeleteClusterRequest& r {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteMultiRegionClusterOutcome MemoryDBClient::DeleteMultiRegionCluster(const DeleteMultiRegionClusterRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteMultiRegionCluster); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteMultiRegionCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteMultiRegionCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteMultiRegionCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteMultiRegionCluster", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteMultiRegionClusterOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteMultiRegionCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteMultiRegionClusterOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteParameterGroupOutcome MemoryDBClient::DeleteParameterGroup(const DeleteParameterGroupRequest& request) const { AWS_OPERATION_GUARD(DeleteParameterGroup); @@ -670,6 +727,32 @@ DescribeEventsOutcome MemoryDBClient::DescribeEvents(const DescribeEventsRequest {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeMultiRegionClustersOutcome MemoryDBClient::DescribeMultiRegionClusters(const DescribeMultiRegionClustersRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeMultiRegionClusters); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeMultiRegionClusters, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeMultiRegionClusters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeMultiRegionClusters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeMultiRegionClusters", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeMultiRegionClustersOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeMultiRegionClusters, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeMultiRegionClustersOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DescribeParameterGroupsOutcome MemoryDBClient::DescribeParameterGroups(const DescribeParameterGroupsRequest& request) const { AWS_OPERATION_GUARD(DescribeParameterGroups); @@ -904,6 +987,32 @@ FailoverShardOutcome MemoryDBClient::FailoverShard(const FailoverShardRequest& r {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListAllowedMultiRegionClusterUpdatesOutcome MemoryDBClient::ListAllowedMultiRegionClusterUpdates(const ListAllowedMultiRegionClusterUpdatesRequest& request) const +{ + AWS_OPERATION_GUARD(ListAllowedMultiRegionClusterUpdates); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAllowedMultiRegionClusterUpdates, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAllowedMultiRegionClusterUpdates, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAllowedMultiRegionClusterUpdates, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListAllowedMultiRegionClusterUpdates", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListAllowedMultiRegionClusterUpdatesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListAllowedMultiRegionClusterUpdates, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListAllowedMultiRegionClusterUpdatesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListAllowedNodeTypeUpdatesOutcome MemoryDBClient::ListAllowedNodeTypeUpdates(const ListAllowedNodeTypeUpdatesRequest& request) const { AWS_OPERATION_GUARD(ListAllowedNodeTypeUpdates); @@ -1112,6 +1221,32 @@ UpdateClusterOutcome MemoryDBClient::UpdateCluster(const UpdateClusterRequest& r {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateMultiRegionClusterOutcome MemoryDBClient::UpdateMultiRegionCluster(const UpdateMultiRegionClusterRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateMultiRegionCluster); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateMultiRegionCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateMultiRegionCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateMultiRegionCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateMultiRegionCluster", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateMultiRegionClusterOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateMultiRegionCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateMultiRegionClusterOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateParameterGroupOutcome MemoryDBClient::UpdateParameterGroup(const UpdateParameterGroupRequest& request) const { AWS_OPERATION_GUARD(UpdateParameterGroup); diff --git a/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBErrors.cpp b/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBErrors.cpp index dcc3ab5c21d..f83e947e5c4 100644 --- a/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBErrors.cpp +++ b/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBErrors.cpp @@ -25,6 +25,7 @@ static const int CLUSTER_NOT_FOUND_FAULT_HASH = HashingUtils::HashString("Cluste static const int PARAMETER_GROUP_QUOTA_EXCEEDED_FAULT_HASH = HashingUtils::HashString("ParameterGroupQuotaExceededFault"); static const int RESERVED_NODE_QUOTA_EXCEEDED_FAULT_HASH = HashingUtils::HashString("ReservedNodeQuotaExceededFault"); static const int SNAPSHOT_ALREADY_EXISTS_FAULT_HASH = HashingUtils::HashString("SnapshotAlreadyExistsFault"); +static const int MULTI_REGION_CLUSTER_NOT_FOUND_FAULT_HASH = HashingUtils::HashString("MultiRegionClusterNotFoundFault"); static const int SUBNET_QUOTA_EXCEEDED_FAULT_HASH = HashingUtils::HashString("SubnetQuotaExceededFault"); static const int DEFAULT_USER_REQUIRED_HASH = HashingUtils::HashString("DefaultUserRequired"); static const int INVALID_SUBNET_HASH = HashingUtils::HashString("InvalidSubnet"); @@ -53,13 +54,16 @@ static const int INVALID_USER_STATE_FAULT_HASH = HashingUtils::HashString("Inval static const int A_C_L_ALREADY_EXISTS_FAULT_HASH = HashingUtils::HashString("ACLAlreadyExistsFault"); static const int SUBNET_GROUP_QUOTA_EXCEEDED_FAULT_HASH = HashingUtils::HashString("SubnetGroupQuotaExceededFault"); static const int A_P_I_CALL_RATE_FOR_CUSTOMER_EXCEEDED_FAULT_HASH = HashingUtils::HashString("APICallRateForCustomerExceededFault"); +static const int INVALID_MULTI_REGION_CLUSTER_STATE_FAULT_HASH = HashingUtils::HashString("InvalidMultiRegionClusterStateFault"); static const int PARAMETER_GROUP_NOT_FOUND_FAULT_HASH = HashingUtils::HashString("ParameterGroupNotFoundFault"); +static const int MULTI_REGION_CLUSTER_ALREADY_EXISTS_FAULT_HASH = HashingUtils::HashString("MultiRegionClusterAlreadyExistsFault"); static const int PARAMETER_GROUP_ALREADY_EXISTS_FAULT_HASH = HashingUtils::HashString("ParameterGroupAlreadyExistsFault"); static const int SUBNET_GROUP_NOT_FOUND_FAULT_HASH = HashingUtils::HashString("SubnetGroupNotFoundFault"); static const int INVALID_PARAMETER_GROUP_STATE_FAULT_HASH = HashingUtils::HashString("InvalidParameterGroupStateFault"); static const int SERVICE_LINKED_ROLE_NOT_FOUND_FAULT_HASH = HashingUtils::HashString("ServiceLinkedRoleNotFoundFault"); static const int INVALID_V_P_C_NETWORK_STATE_FAULT_HASH = HashingUtils::HashString("InvalidVPCNetworkStateFault"); static const int TAG_QUOTA_PER_RESOURCE_EXCEEDED_HASH = HashingUtils::HashString("TagQuotaPerResourceExceeded"); +static const int MULTI_REGION_PARAMETER_GROUP_NOT_FOUND_FAULT_HASH = HashingUtils::HashString("MultiRegionParameterGroupNotFoundFault"); static const int TEST_FAILOVER_NOT_AVAILABLE_FAULT_HASH = HashingUtils::HashString("TestFailoverNotAvailableFault"); static const int NODE_QUOTA_FOR_CUSTOMER_EXCEEDED_FAULT_HASH = HashingUtils::HashString("NodeQuotaForCustomerExceededFault"); static const int RESERVED_NODES_OFFERING_NOT_FOUND_FAULT_HASH = HashingUtils::HashString("ReservedNodesOfferingNotFoundFault"); @@ -103,6 +107,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(MemoryDBErrors::SNAPSHOT_ALREADY_EXISTS_FAULT), RetryableType::NOT_RETRYABLE); } + else if (hashCode == MULTI_REGION_CLUSTER_NOT_FOUND_FAULT_HASH) + { + return AWSError(static_cast(MemoryDBErrors::MULTI_REGION_CLUSTER_NOT_FOUND_FAULT), RetryableType::NOT_RETRYABLE); + } else if (hashCode == SUBNET_QUOTA_EXCEEDED_FAULT_HASH) { return AWSError(static_cast(MemoryDBErrors::SUBNET_QUOTA_EXCEEDED_FAULT), RetryableType::NOT_RETRYABLE); @@ -215,10 +223,18 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(MemoryDBErrors::A_P_I_CALL_RATE_FOR_CUSTOMER_EXCEEDED_FAULT), RetryableType::NOT_RETRYABLE); } + else if (hashCode == INVALID_MULTI_REGION_CLUSTER_STATE_FAULT_HASH) + { + return AWSError(static_cast(MemoryDBErrors::INVALID_MULTI_REGION_CLUSTER_STATE_FAULT), RetryableType::NOT_RETRYABLE); + } else if (hashCode == PARAMETER_GROUP_NOT_FOUND_FAULT_HASH) { return AWSError(static_cast(MemoryDBErrors::PARAMETER_GROUP_NOT_FOUND_FAULT), RetryableType::NOT_RETRYABLE); } + else if (hashCode == MULTI_REGION_CLUSTER_ALREADY_EXISTS_FAULT_HASH) + { + return AWSError(static_cast(MemoryDBErrors::MULTI_REGION_CLUSTER_ALREADY_EXISTS_FAULT), RetryableType::NOT_RETRYABLE); + } else if (hashCode == PARAMETER_GROUP_ALREADY_EXISTS_FAULT_HASH) { return AWSError(static_cast(MemoryDBErrors::PARAMETER_GROUP_ALREADY_EXISTS_FAULT), RetryableType::NOT_RETRYABLE); @@ -243,6 +259,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(MemoryDBErrors::TAG_QUOTA_PER_RESOURCE_EXCEEDED), RetryableType::NOT_RETRYABLE); } + else if (hashCode == MULTI_REGION_PARAMETER_GROUP_NOT_FOUND_FAULT_HASH) + { + return AWSError(static_cast(MemoryDBErrors::MULTI_REGION_PARAMETER_GROUP_NOT_FOUND_FAULT), RetryableType::NOT_RETRYABLE); + } else if (hashCode == TEST_FAILOVER_NOT_AVAILABLE_FAULT_HASH) { return AWSError(static_cast(MemoryDBErrors::TEST_FAILOVER_NOT_AVAILABLE_FAULT), RetryableType::NOT_RETRYABLE); diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/Cluster.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/Cluster.cpp index fedd6d653a7..a78d7845039 100644 --- a/generated/src/aws-cpp-sdk-memorydb/source/model/Cluster.cpp +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/Cluster.cpp @@ -23,6 +23,7 @@ Cluster::Cluster() : m_descriptionHasBeenSet(false), m_statusHasBeenSet(false), m_pendingUpdatesHasBeenSet(false), + m_multiRegionClusterNameHasBeenSet(false), m_numberOfShards(0), m_numberOfShardsHasBeenSet(false), m_shardsHasBeenSet(false), @@ -91,6 +92,13 @@ Cluster& Cluster::operator =(JsonView jsonValue) m_pendingUpdatesHasBeenSet = true; } + if(jsonValue.ValueExists("MultiRegionClusterName")) + { + m_multiRegionClusterName = jsonValue.GetString("MultiRegionClusterName"); + + m_multiRegionClusterNameHasBeenSet = true; + } + if(jsonValue.ValueExists("NumberOfShards")) { m_numberOfShards = jsonValue.GetInteger("NumberOfShards"); @@ -289,6 +297,12 @@ JsonValue Cluster::Jsonize() const } + if(m_multiRegionClusterNameHasBeenSet) + { + payload.WithString("MultiRegionClusterName", m_multiRegionClusterName); + + } + if(m_numberOfShardsHasBeenSet) { payload.WithInteger("NumberOfShards", m_numberOfShards); diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/ClusterConfiguration.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/ClusterConfiguration.cpp index 74ef78b8f5b..0419afc3adf 100644 --- a/generated/src/aws-cpp-sdk-memorydb/source/model/ClusterConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/ClusterConfiguration.cpp @@ -36,7 +36,9 @@ ClusterConfiguration::ClusterConfiguration() : m_snapshotWindowHasBeenSet(false), m_numShards(0), m_numShardsHasBeenSet(false), - m_shardsHasBeenSet(false) + m_shardsHasBeenSet(false), + m_multiRegionParameterGroupNameHasBeenSet(false), + m_multiRegionClusterNameHasBeenSet(false) { } @@ -156,6 +158,20 @@ ClusterConfiguration& ClusterConfiguration::operator =(JsonView jsonValue) m_shardsHasBeenSet = true; } + if(jsonValue.ValueExists("MultiRegionParameterGroupName")) + { + m_multiRegionParameterGroupName = jsonValue.GetString("MultiRegionParameterGroupName"); + + m_multiRegionParameterGroupNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("MultiRegionClusterName")) + { + m_multiRegionClusterName = jsonValue.GetString("MultiRegionClusterName"); + + m_multiRegionClusterNameHasBeenSet = true; + } + return *this; } @@ -258,6 +274,18 @@ JsonValue ClusterConfiguration::Jsonize() const } + if(m_multiRegionParameterGroupNameHasBeenSet) + { + payload.WithString("MultiRegionParameterGroupName", m_multiRegionParameterGroupName); + + } + + if(m_multiRegionClusterNameHasBeenSet) + { + payload.WithString("MultiRegionClusterName", m_multiRegionClusterName); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/CreateClusterRequest.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/CreateClusterRequest.cpp index 8bd49bcdbbe..c39617c9df0 100644 --- a/generated/src/aws-cpp-sdk-memorydb/source/model/CreateClusterRequest.cpp +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/CreateClusterRequest.cpp @@ -15,6 +15,7 @@ using namespace Aws::Utils; CreateClusterRequest::CreateClusterRequest() : m_clusterNameHasBeenSet(false), m_nodeTypeHasBeenSet(false), + m_multiRegionClusterNameHasBeenSet(false), m_parameterGroupNameHasBeenSet(false), m_descriptionHasBeenSet(false), m_numShards(0), @@ -62,6 +63,12 @@ Aws::String CreateClusterRequest::SerializePayload() const } + if(m_multiRegionClusterNameHasBeenSet) + { + payload.WithString("MultiRegionClusterName", m_multiRegionClusterName); + + } + if(m_parameterGroupNameHasBeenSet) { payload.WithString("ParameterGroupName", m_parameterGroupName); diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/CreateMultiRegionClusterRequest.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/CreateMultiRegionClusterRequest.cpp new file mode 100644 index 00000000000..e63d6edb06e --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/CreateMultiRegionClusterRequest.cpp @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MemoryDB::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateMultiRegionClusterRequest::CreateMultiRegionClusterRequest() : + m_multiRegionClusterNameSuffixHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_engineHasBeenSet(false), + m_engineVersionHasBeenSet(false), + m_nodeTypeHasBeenSet(false), + m_multiRegionParameterGroupNameHasBeenSet(false), + m_numShards(0), + m_numShardsHasBeenSet(false), + m_tLSEnabled(false), + m_tLSEnabledHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateMultiRegionClusterRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_multiRegionClusterNameSuffixHasBeenSet) + { + payload.WithString("MultiRegionClusterNameSuffix", m_multiRegionClusterNameSuffix); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_engineHasBeenSet) + { + payload.WithString("Engine", m_engine); + + } + + if(m_engineVersionHasBeenSet) + { + payload.WithString("EngineVersion", m_engineVersion); + + } + + if(m_nodeTypeHasBeenSet) + { + payload.WithString("NodeType", m_nodeType); + + } + + if(m_multiRegionParameterGroupNameHasBeenSet) + { + payload.WithString("MultiRegionParameterGroupName", m_multiRegionParameterGroupName); + + } + + if(m_numShardsHasBeenSet) + { + payload.WithInteger("NumShards", m_numShards); + + } + + if(m_tLSEnabledHasBeenSet) + { + payload.WithBool("TLSEnabled", m_tLSEnabled); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateMultiRegionClusterRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonMemoryDB.CreateMultiRegionCluster")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/CreateMultiRegionClusterResult.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/CreateMultiRegionClusterResult.cpp new file mode 100644 index 00000000000..e4965aad409 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/CreateMultiRegionClusterResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MemoryDB::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateMultiRegionClusterResult::CreateMultiRegionClusterResult() +{ +} + +CreateMultiRegionClusterResult::CreateMultiRegionClusterResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateMultiRegionClusterResult& CreateMultiRegionClusterResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("MultiRegionCluster")) + { + m_multiRegionCluster = jsonValue.GetObject("MultiRegionCluster"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/DeleteClusterRequest.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/DeleteClusterRequest.cpp index d039b8b0438..d3e21f93fef 100644 --- a/generated/src/aws-cpp-sdk-memorydb/source/model/DeleteClusterRequest.cpp +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/DeleteClusterRequest.cpp @@ -14,6 +14,7 @@ using namespace Aws::Utils; DeleteClusterRequest::DeleteClusterRequest() : m_clusterNameHasBeenSet(false), + m_multiRegionClusterNameHasBeenSet(false), m_finalSnapshotNameHasBeenSet(false) { } @@ -28,6 +29,12 @@ Aws::String DeleteClusterRequest::SerializePayload() const } + if(m_multiRegionClusterNameHasBeenSet) + { + payload.WithString("MultiRegionClusterName", m_multiRegionClusterName); + + } + if(m_finalSnapshotNameHasBeenSet) { payload.WithString("FinalSnapshotName", m_finalSnapshotName); diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/DeleteMultiRegionClusterRequest.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/DeleteMultiRegionClusterRequest.cpp new file mode 100644 index 00000000000..17242730e65 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/DeleteMultiRegionClusterRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MemoryDB::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteMultiRegionClusterRequest::DeleteMultiRegionClusterRequest() : + m_multiRegionClusterNameHasBeenSet(false) +{ +} + +Aws::String DeleteMultiRegionClusterRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_multiRegionClusterNameHasBeenSet) + { + payload.WithString("MultiRegionClusterName", m_multiRegionClusterName); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteMultiRegionClusterRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonMemoryDB.DeleteMultiRegionCluster")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/DeleteMultiRegionClusterResult.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/DeleteMultiRegionClusterResult.cpp new file mode 100644 index 00000000000..9e03b4204f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/DeleteMultiRegionClusterResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MemoryDB::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteMultiRegionClusterResult::DeleteMultiRegionClusterResult() +{ +} + +DeleteMultiRegionClusterResult::DeleteMultiRegionClusterResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteMultiRegionClusterResult& DeleteMultiRegionClusterResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("MultiRegionCluster")) + { + m_multiRegionCluster = jsonValue.GetObject("MultiRegionCluster"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/DescribeMultiRegionClustersRequest.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/DescribeMultiRegionClustersRequest.cpp new file mode 100644 index 00000000000..32a37d94a66 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/DescribeMultiRegionClustersRequest.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MemoryDB::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribeMultiRegionClustersRequest::DescribeMultiRegionClustersRequest() : + m_multiRegionClusterNameHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_showClusterDetails(false), + m_showClusterDetailsHasBeenSet(false) +{ +} + +Aws::String DescribeMultiRegionClustersRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_multiRegionClusterNameHasBeenSet) + { + payload.WithString("MultiRegionClusterName", m_multiRegionClusterName); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_showClusterDetailsHasBeenSet) + { + payload.WithBool("ShowClusterDetails", m_showClusterDetails); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DescribeMultiRegionClustersRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonMemoryDB.DescribeMultiRegionClusters")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/DescribeMultiRegionClustersResult.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/DescribeMultiRegionClustersResult.cpp new file mode 100644 index 00000000000..2d8190d845a --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/DescribeMultiRegionClustersResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MemoryDB::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeMultiRegionClustersResult::DescribeMultiRegionClustersResult() +{ +} + +DescribeMultiRegionClustersResult::DescribeMultiRegionClustersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeMultiRegionClustersResult& DescribeMultiRegionClustersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + if(jsonValue.ValueExists("MultiRegionClusters")) + { + Aws::Utils::Array multiRegionClustersJsonList = jsonValue.GetArray("MultiRegionClusters"); + for(unsigned multiRegionClustersIndex = 0; multiRegionClustersIndex < multiRegionClustersJsonList.GetLength(); ++multiRegionClustersIndex) + { + m_multiRegionClusters.push_back(multiRegionClustersJsonList[multiRegionClustersIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/ListAllowedMultiRegionClusterUpdatesRequest.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/ListAllowedMultiRegionClusterUpdatesRequest.cpp new file mode 100644 index 00000000000..66d93b39a8a --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/ListAllowedMultiRegionClusterUpdatesRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MemoryDB::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListAllowedMultiRegionClusterUpdatesRequest::ListAllowedMultiRegionClusterUpdatesRequest() : + m_multiRegionClusterNameHasBeenSet(false) +{ +} + +Aws::String ListAllowedMultiRegionClusterUpdatesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_multiRegionClusterNameHasBeenSet) + { + payload.WithString("MultiRegionClusterName", m_multiRegionClusterName); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListAllowedMultiRegionClusterUpdatesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonMemoryDB.ListAllowedMultiRegionClusterUpdates")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/ListAllowedMultiRegionClusterUpdatesResult.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/ListAllowedMultiRegionClusterUpdatesResult.cpp new file mode 100644 index 00000000000..d883c83bde6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/ListAllowedMultiRegionClusterUpdatesResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MemoryDB::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListAllowedMultiRegionClusterUpdatesResult::ListAllowedMultiRegionClusterUpdatesResult() +{ +} + +ListAllowedMultiRegionClusterUpdatesResult::ListAllowedMultiRegionClusterUpdatesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAllowedMultiRegionClusterUpdatesResult& ListAllowedMultiRegionClusterUpdatesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ScaleUpNodeTypes")) + { + Aws::Utils::Array scaleUpNodeTypesJsonList = jsonValue.GetArray("ScaleUpNodeTypes"); + for(unsigned scaleUpNodeTypesIndex = 0; scaleUpNodeTypesIndex < scaleUpNodeTypesJsonList.GetLength(); ++scaleUpNodeTypesIndex) + { + m_scaleUpNodeTypes.push_back(scaleUpNodeTypesJsonList[scaleUpNodeTypesIndex].AsString()); + } + } + + if(jsonValue.ValueExists("ScaleDownNodeTypes")) + { + Aws::Utils::Array scaleDownNodeTypesJsonList = jsonValue.GetArray("ScaleDownNodeTypes"); + for(unsigned scaleDownNodeTypesIndex = 0; scaleDownNodeTypesIndex < scaleDownNodeTypesJsonList.GetLength(); ++scaleDownNodeTypesIndex) + { + m_scaleDownNodeTypes.push_back(scaleDownNodeTypesJsonList[scaleDownNodeTypesIndex].AsString()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/MultiRegionCluster.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/MultiRegionCluster.cpp new file mode 100644 index 00000000000..ad0168007e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/MultiRegionCluster.cpp @@ -0,0 +1,209 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MemoryDB +{ +namespace Model +{ + +MultiRegionCluster::MultiRegionCluster() : + m_multiRegionClusterNameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_statusHasBeenSet(false), + m_nodeTypeHasBeenSet(false), + m_engineHasBeenSet(false), + m_engineVersionHasBeenSet(false), + m_numberOfShards(0), + m_numberOfShardsHasBeenSet(false), + m_clustersHasBeenSet(false), + m_multiRegionParameterGroupNameHasBeenSet(false), + m_tLSEnabled(false), + m_tLSEnabledHasBeenSet(false), + m_aRNHasBeenSet(false) +{ +} + +MultiRegionCluster::MultiRegionCluster(JsonView jsonValue) + : MultiRegionCluster() +{ + *this = jsonValue; +} + +MultiRegionCluster& MultiRegionCluster::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("MultiRegionClusterName")) + { + m_multiRegionClusterName = jsonValue.GetString("MultiRegionClusterName"); + + m_multiRegionClusterNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Status")) + { + m_status = jsonValue.GetString("Status"); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("NodeType")) + { + m_nodeType = jsonValue.GetString("NodeType"); + + m_nodeTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Engine")) + { + m_engine = jsonValue.GetString("Engine"); + + m_engineHasBeenSet = true; + } + + if(jsonValue.ValueExists("EngineVersion")) + { + m_engineVersion = jsonValue.GetString("EngineVersion"); + + m_engineVersionHasBeenSet = true; + } + + if(jsonValue.ValueExists("NumberOfShards")) + { + m_numberOfShards = jsonValue.GetInteger("NumberOfShards"); + + m_numberOfShardsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Clusters")) + { + Aws::Utils::Array clustersJsonList = jsonValue.GetArray("Clusters"); + for(unsigned clustersIndex = 0; clustersIndex < clustersJsonList.GetLength(); ++clustersIndex) + { + m_clusters.push_back(clustersJsonList[clustersIndex].AsObject()); + } + m_clustersHasBeenSet = true; + } + + if(jsonValue.ValueExists("MultiRegionParameterGroupName")) + { + m_multiRegionParameterGroupName = jsonValue.GetString("MultiRegionParameterGroupName"); + + m_multiRegionParameterGroupNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("TLSEnabled")) + { + m_tLSEnabled = jsonValue.GetBool("TLSEnabled"); + + m_tLSEnabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("ARN")) + { + m_aRN = jsonValue.GetString("ARN"); + + m_aRNHasBeenSet = true; + } + + return *this; +} + +JsonValue MultiRegionCluster::Jsonize() const +{ + JsonValue payload; + + if(m_multiRegionClusterNameHasBeenSet) + { + payload.WithString("MultiRegionClusterName", m_multiRegionClusterName); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", m_status); + + } + + if(m_nodeTypeHasBeenSet) + { + payload.WithString("NodeType", m_nodeType); + + } + + if(m_engineHasBeenSet) + { + payload.WithString("Engine", m_engine); + + } + + if(m_engineVersionHasBeenSet) + { + payload.WithString("EngineVersion", m_engineVersion); + + } + + if(m_numberOfShardsHasBeenSet) + { + payload.WithInteger("NumberOfShards", m_numberOfShards); + + } + + if(m_clustersHasBeenSet) + { + Aws::Utils::Array clustersJsonList(m_clusters.size()); + for(unsigned clustersIndex = 0; clustersIndex < clustersJsonList.GetLength(); ++clustersIndex) + { + clustersJsonList[clustersIndex].AsObject(m_clusters[clustersIndex].Jsonize()); + } + payload.WithArray("Clusters", std::move(clustersJsonList)); + + } + + if(m_multiRegionParameterGroupNameHasBeenSet) + { + payload.WithString("MultiRegionParameterGroupName", m_multiRegionParameterGroupName); + + } + + if(m_tLSEnabledHasBeenSet) + { + payload.WithBool("TLSEnabled", m_tLSEnabled); + + } + + if(m_aRNHasBeenSet) + { + payload.WithString("ARN", m_aRN); + + } + + return payload; +} + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/RegionalCluster.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/RegionalCluster.cpp new file mode 100644 index 00000000000..a013968c47d --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/RegionalCluster.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MemoryDB +{ +namespace Model +{ + +RegionalCluster::RegionalCluster() : + m_clusterNameHasBeenSet(false), + m_regionHasBeenSet(false), + m_statusHasBeenSet(false), + m_aRNHasBeenSet(false) +{ +} + +RegionalCluster::RegionalCluster(JsonView jsonValue) + : RegionalCluster() +{ + *this = jsonValue; +} + +RegionalCluster& RegionalCluster::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ClusterName")) + { + m_clusterName = jsonValue.GetString("ClusterName"); + + m_clusterNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetString("Region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Status")) + { + m_status = jsonValue.GetString("Status"); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("ARN")) + { + m_aRN = jsonValue.GetString("ARN"); + + m_aRNHasBeenSet = true; + } + + return *this; +} + +JsonValue RegionalCluster::Jsonize() const +{ + JsonValue payload; + + if(m_clusterNameHasBeenSet) + { + payload.WithString("ClusterName", m_clusterName); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("Region", m_region); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", m_status); + + } + + if(m_aRNHasBeenSet) + { + payload.WithString("ARN", m_aRN); + + } + + return payload; +} + +} // namespace Model +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/UpdateMultiRegionClusterRequest.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/UpdateMultiRegionClusterRequest.cpp new file mode 100644 index 00000000000..98054359527 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/UpdateMultiRegionClusterRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MemoryDB::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateMultiRegionClusterRequest::UpdateMultiRegionClusterRequest() : + m_multiRegionClusterNameHasBeenSet(false), + m_nodeTypeHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_engineVersionHasBeenSet(false), + m_shardConfigurationHasBeenSet(false), + m_multiRegionParameterGroupNameHasBeenSet(false), + m_updateStrategy(UpdateStrategy::NOT_SET), + m_updateStrategyHasBeenSet(false) +{ +} + +Aws::String UpdateMultiRegionClusterRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_multiRegionClusterNameHasBeenSet) + { + payload.WithString("MultiRegionClusterName", m_multiRegionClusterName); + + } + + if(m_nodeTypeHasBeenSet) + { + payload.WithString("NodeType", m_nodeType); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_engineVersionHasBeenSet) + { + payload.WithString("EngineVersion", m_engineVersion); + + } + + if(m_shardConfigurationHasBeenSet) + { + payload.WithObject("ShardConfiguration", m_shardConfiguration.Jsonize()); + + } + + if(m_multiRegionParameterGroupNameHasBeenSet) + { + payload.WithString("MultiRegionParameterGroupName", m_multiRegionParameterGroupName); + + } + + if(m_updateStrategyHasBeenSet) + { + payload.WithString("UpdateStrategy", UpdateStrategyMapper::GetNameForUpdateStrategy(m_updateStrategy)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateMultiRegionClusterRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonMemoryDB.UpdateMultiRegionCluster")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/UpdateMultiRegionClusterResult.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/UpdateMultiRegionClusterResult.cpp new file mode 100644 index 00000000000..e5fe56d95e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/UpdateMultiRegionClusterResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MemoryDB::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateMultiRegionClusterResult::UpdateMultiRegionClusterResult() +{ +} + +UpdateMultiRegionClusterResult::UpdateMultiRegionClusterResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateMultiRegionClusterResult& UpdateMultiRegionClusterResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("MultiRegionCluster")) + { + m_multiRegionCluster = jsonValue.GetObject("MultiRegionCluster"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-memorydb/source/model/UpdateStrategy.cpp b/generated/src/aws-cpp-sdk-memorydb/source/model/UpdateStrategy.cpp new file mode 100644 index 00000000000..82926b5ed01 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/model/UpdateStrategy.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MemoryDB + { + namespace Model + { + namespace UpdateStrategyMapper + { + + static const int coordinated_HASH = HashingUtils::HashString("coordinated"); + static const int uncoordinated_HASH = HashingUtils::HashString("uncoordinated"); + + + UpdateStrategy GetUpdateStrategyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == coordinated_HASH) + { + return UpdateStrategy::coordinated; + } + else if (hashCode == uncoordinated_HASH) + { + return UpdateStrategy::uncoordinated; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return UpdateStrategy::NOT_SET; + } + + Aws::String GetNameForUpdateStrategy(UpdateStrategy enumValue) + { + switch(enumValue) + { + case UpdateStrategy::NOT_SET: + return {}; + case UpdateStrategy::coordinated: + return "coordinated"; + case UpdateStrategy::uncoordinated: + return "uncoordinated"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace UpdateStrategyMapper + } // namespace Model + } // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/CMakeLists.txt b/generated/src/aws-cpp-sdk-networkflowmonitor/CMakeLists.txt new file mode 100644 index 00000000000..7978a6e336d --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-networkflowmonitor "C++ SDK for the AWS networkflowmonitor service" aws-cpp-sdk-core) + +file(GLOB AWS_NETWORKFLOWMONITOR_HEADERS + "include/aws/networkflowmonitor/*.h" +) + +file(GLOB AWS_NETWORKFLOWMONITOR_MODEL_HEADERS + "include/aws/networkflowmonitor/model/*.h" +) + +file(GLOB AWS_NETWORKFLOWMONITOR_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_NETWORKFLOWMONITOR_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB NETWORKFLOWMONITOR_UNIFIED_HEADERS + ${AWS_NETWORKFLOWMONITOR_HEADERS} + ${AWS_NETWORKFLOWMONITOR_MODEL_HEADERS} +) + +file(GLOB NETWORKFLOWMONITOR_UNITY_SRC + ${AWS_NETWORKFLOWMONITOR_SOURCE} + ${AWS_NETWORKFLOWMONITOR_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("NETWORKFLOWMONITOR" NETWORKFLOWMONITOR_UNITY_SRC) +endif() + +file(GLOB NETWORKFLOWMONITOR_SRC + ${NETWORKFLOWMONITOR_UNIFIED_HEADERS} + ${NETWORKFLOWMONITOR_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\networkflowmonitor" FILES ${AWS_NETWORKFLOWMONITOR_HEADERS}) + source_group("Header Files\\aws\\networkflowmonitor\\model" FILES ${AWS_NETWORKFLOWMONITOR_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_NETWORKFLOWMONITOR_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_NETWORKFLOWMONITOR_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(NETWORKFLOWMONITOR_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${NETWORKFLOWMONITOR_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_NETWORKFLOWMONITOR_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_NETWORKFLOWMONITOR_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/networkflowmonitor) +install (FILES ${AWS_NETWORKFLOWMONITOR_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/networkflowmonitor/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClient.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClient.h new file mode 100644 index 00000000000..2aaedeb47ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClient.h @@ -0,0 +1,845 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ + /** + *

        Network Flow Monitor is a feature of Amazon CloudWatch Network Monitoring + * that provides visibility into the performance of network flows for your Amazon + * Web Services workloads, between instances in subnets, as well as to and from + * Amazon Web Services. Lightweight agents that you install on the instances + * capture performance metrics for your network flows, such as packet loss and + * latency, and send them to the Network Flow Monitor backend. Then, you can view + * and analyze metrics from the top contributors for each metric type, to help + * troubleshoot issues.

        In addition, when you create a monitor, Network Flow + * Monitor provides a network health indicator (NHI) that informs you whether there + * were Amazon Web Services network issues for one or more of the network flows + * tracked by a monitor, during a time period that you choose. By using this value, + * you can independently determine if the Amazon Web Services network is impacting + * your workload during a specific time frame, to help you focus troubleshooting + * efforts.

        To learn more about Network Flow Monitor, see the Network + * Flow Monitor User Guide in the Amazon CloudWatch User Guide.

        + */ + class AWS_NETWORKFLOWMONITOR_API NetworkFlowMonitorClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef NetworkFlowMonitorClientConfiguration ClientConfigurationType; + typedef NetworkFlowMonitorEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + NetworkFlowMonitorClient(const Aws::NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration& clientConfiguration = Aws::NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + NetworkFlowMonitorClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration& clientConfiguration = Aws::NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + NetworkFlowMonitorClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration& clientConfiguration = Aws::NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + NetworkFlowMonitorClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + NetworkFlowMonitorClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + NetworkFlowMonitorClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~NetworkFlowMonitorClient(); + + /** + *

        Create a monitor for specific network flows between local and remote + * resources, so that you can monitor network performance for one or several of + * your workloads. For each monitor, Network Flow Monitor publishes detailed + * end-to-end performance metrics and a network health indicators (NHI) that + * informs you whether there were Amazon Web Services network issues for one or + * more of the network flows tracked by a monitor, during a time period that you + * choose.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::CreateMonitorOutcome CreateMonitor(const Model::CreateMonitorRequest& request) const; + + /** + * A Callable wrapper for CreateMonitor that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateMonitorOutcomeCallable CreateMonitorCallable(const CreateMonitorRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::CreateMonitor, request); + } + + /** + * An Async wrapper for CreateMonitor that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateMonitorAsync(const CreateMonitorRequestT& request, const CreateMonitorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::CreateMonitor, request, handler, context); + } + + /** + *

        Create a scope of resources that you want to be available for Network Flow + * Monitor to generate metrics for, when you have active agents on those resources + * sending metrics reports to the Network Flow Monitor backend. This call returns a + * scope ID to identify the scope.

        When you create a scope, you enable + * permissions for Network Flow Monitor. The scope is set to the resources for the + * Amazon Web Services that enables the feature.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::CreateScopeOutcome CreateScope(const Model::CreateScopeRequest& request) const; + + /** + * A Callable wrapper for CreateScope that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateScopeOutcomeCallable CreateScopeCallable(const CreateScopeRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::CreateScope, request); + } + + /** + * An Async wrapper for CreateScope that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateScopeAsync(const CreateScopeRequestT& request, const CreateScopeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::CreateScope, request, handler, context); + } + + /** + *

        Deletes a monitor in Network Flow Monitor.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::DeleteMonitorOutcome DeleteMonitor(const Model::DeleteMonitorRequest& request) const; + + /** + * A Callable wrapper for DeleteMonitor that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteMonitorOutcomeCallable DeleteMonitorCallable(const DeleteMonitorRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::DeleteMonitor, request); + } + + /** + * An Async wrapper for DeleteMonitor that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteMonitorAsync(const DeleteMonitorRequestT& request, const DeleteMonitorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::DeleteMonitor, request, handler, context); + } + + /** + *

        Deletes a scope that has been defined.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::DeleteScopeOutcome DeleteScope(const Model::DeleteScopeRequest& request) const; + + /** + * A Callable wrapper for DeleteScope that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteScopeOutcomeCallable DeleteScopeCallable(const DeleteScopeRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::DeleteScope, request); + } + + /** + * An Async wrapper for DeleteScope that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteScopeAsync(const DeleteScopeRequestT& request, const DeleteScopeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::DeleteScope, request, handler, context); + } + + /** + *

        Gets information about a monitor in Network Flow Monitor based on a monitor + * name. The information returned includes the Amazon Resource Name (ARN), create + * time, modified time, resources included in the monitor, and status + * information.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetMonitorOutcome GetMonitor(const Model::GetMonitorRequest& request) const; + + /** + * A Callable wrapper for GetMonitor that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetMonitorOutcomeCallable GetMonitorCallable(const GetMonitorRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::GetMonitor, request); + } + + /** + * An Async wrapper for GetMonitor that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetMonitorAsync(const GetMonitorRequestT& request, const GetMonitorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::GetMonitor, request, handler, context); + } + + /** + *

        Return the data for a query with the Network Flow Monitor query interface. + * You specify the query that you want to return results for by providing a query + * ID and a monitor name. This query returns the top contributors for a specific + * monitor.

        Create a query ID for this call by calling the corresponding API + * call to start the query, StartQueryMonitorTopContributors. Use the + * scope ID that was returned for your account by CreateScope.

        + *

        Top contributors in Network Flow Monitor are network flows with the highest + * values for a specific metric type, related to a scope (for workload insights) or + * a monitor.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetQueryResultsMonitorTopContributorsOutcome GetQueryResultsMonitorTopContributors(const Model::GetQueryResultsMonitorTopContributorsRequest& request) const; + + /** + * A Callable wrapper for GetQueryResultsMonitorTopContributors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetQueryResultsMonitorTopContributorsOutcomeCallable GetQueryResultsMonitorTopContributorsCallable(const GetQueryResultsMonitorTopContributorsRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::GetQueryResultsMonitorTopContributors, request); + } + + /** + * An Async wrapper for GetQueryResultsMonitorTopContributors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetQueryResultsMonitorTopContributorsAsync(const GetQueryResultsMonitorTopContributorsRequestT& request, const GetQueryResultsMonitorTopContributorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::GetQueryResultsMonitorTopContributors, request, handler, context); + } + + /** + *

        Return the data for a query with the Network Flow Monitor query interface. + * You specify the query that you want to return results for by providing a query + * ID and a monitor name. This query returns the top contributors for a specific + * monitor.

        Create a query ID for this call by calling the corresponding API + * call to start the query, StartQueryWorkloadInsightsTopContributors. + * Use the scope ID that was returned for your account by + * CreateScope.

        Top contributors in Network Flow Monitor are + * network flows with the highest values for a specific metric type, related to a + * scope (for workload insights) or a monitor.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetQueryResultsWorkloadInsightsTopContributorsOutcome GetQueryResultsWorkloadInsightsTopContributors(const Model::GetQueryResultsWorkloadInsightsTopContributorsRequest& request) const; + + /** + * A Callable wrapper for GetQueryResultsWorkloadInsightsTopContributors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetQueryResultsWorkloadInsightsTopContributorsOutcomeCallable GetQueryResultsWorkloadInsightsTopContributorsCallable(const GetQueryResultsWorkloadInsightsTopContributorsRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::GetQueryResultsWorkloadInsightsTopContributors, request); + } + + /** + * An Async wrapper for GetQueryResultsWorkloadInsightsTopContributors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetQueryResultsWorkloadInsightsTopContributorsAsync(const GetQueryResultsWorkloadInsightsTopContributorsRequestT& request, const GetQueryResultsWorkloadInsightsTopContributorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::GetQueryResultsWorkloadInsightsTopContributors, request, handler, context); + } + + /** + *

        Return the data for a query with the Network Flow Monitor query interface. + * Specify the query that you want to return results for by providing a query ID + * and a scope ID. This query returns data for the top contributors for workload + * insights. Workload insights provide a high level view of network flow + * performance data collected by agents for a scope.

        Create a query ID for + * this call by calling the corresponding API call to start the query, + * StartQueryWorkloadInsightsTopContributorsData. Use the scope ID + * that was returned for your account by CreateScope.

        Top + * contributors in Network Flow Monitor are network flows with the highest values + * for a specific metric type, related to a scope (for workload insights) or a + * monitor.

        The top contributor network flows overall for a specific metric + * type, for example, the number of retransmissions.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetQueryResultsWorkloadInsightsTopContributorsDataOutcome GetQueryResultsWorkloadInsightsTopContributorsData(const Model::GetQueryResultsWorkloadInsightsTopContributorsDataRequest& request) const; + + /** + * A Callable wrapper for GetQueryResultsWorkloadInsightsTopContributorsData that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetQueryResultsWorkloadInsightsTopContributorsDataOutcomeCallable GetQueryResultsWorkloadInsightsTopContributorsDataCallable(const GetQueryResultsWorkloadInsightsTopContributorsDataRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::GetQueryResultsWorkloadInsightsTopContributorsData, request); + } + + /** + * An Async wrapper for GetQueryResultsWorkloadInsightsTopContributorsData that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetQueryResultsWorkloadInsightsTopContributorsDataAsync(const GetQueryResultsWorkloadInsightsTopContributorsDataRequestT& request, const GetQueryResultsWorkloadInsightsTopContributorsDataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::GetQueryResultsWorkloadInsightsTopContributorsData, request, handler, context); + } + + /** + *

        Returns the current status of a query for the Network Flow Monitor query + * interface, for a specified query ID and monitor. This call returns the query + * status for the top contributors for a monitor.

        When you start a query, + * use this call to check the status of the query to make sure that it has has + * SUCCEEDED before you review the results. Use the same query ID that + * you used for the corresponding API call to start the query, + * StartQueryMonitorTopContributors.

        When you run a query, use + * this call to check the status of the query to make sure that the query has + * SUCCEEDED before you review the results.

        See Also:

        + * AWS + * API Reference

        + */ + virtual Model::GetQueryStatusMonitorTopContributorsOutcome GetQueryStatusMonitorTopContributors(const Model::GetQueryStatusMonitorTopContributorsRequest& request) const; + + /** + * A Callable wrapper for GetQueryStatusMonitorTopContributors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetQueryStatusMonitorTopContributorsOutcomeCallable GetQueryStatusMonitorTopContributorsCallable(const GetQueryStatusMonitorTopContributorsRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::GetQueryStatusMonitorTopContributors, request); + } + + /** + * An Async wrapper for GetQueryStatusMonitorTopContributors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetQueryStatusMonitorTopContributorsAsync(const GetQueryStatusMonitorTopContributorsRequestT& request, const GetQueryStatusMonitorTopContributorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::GetQueryStatusMonitorTopContributors, request, handler, context); + } + + /** + *

        Return the data for a query with the Network Flow Monitor query interface. + * Specify the query that you want to return results for by providing a query ID + * and a monitor name. This query returns the top contributors for workload + * insights.

        When you start a query, use this call to check the status of + * the query to make sure that it has has SUCCEEDED before you review + * the results. Use the same query ID that you used for the corresponding API call + * to start the query, StartQueryWorkloadInsightsTopContributors.

        + *

        Top contributors in Network Flow Monitor are network flows with the highest + * values for a specific metric type, related to a scope (for workload insights) or + * a monitor.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetQueryStatusWorkloadInsightsTopContributorsOutcome GetQueryStatusWorkloadInsightsTopContributors(const Model::GetQueryStatusWorkloadInsightsTopContributorsRequest& request) const; + + /** + * A Callable wrapper for GetQueryStatusWorkloadInsightsTopContributors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetQueryStatusWorkloadInsightsTopContributorsOutcomeCallable GetQueryStatusWorkloadInsightsTopContributorsCallable(const GetQueryStatusWorkloadInsightsTopContributorsRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::GetQueryStatusWorkloadInsightsTopContributors, request); + } + + /** + * An Async wrapper for GetQueryStatusWorkloadInsightsTopContributors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetQueryStatusWorkloadInsightsTopContributorsAsync(const GetQueryStatusWorkloadInsightsTopContributorsRequestT& request, const GetQueryStatusWorkloadInsightsTopContributorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::GetQueryStatusWorkloadInsightsTopContributors, request, handler, context); + } + + /** + *

        Returns the current status of a query for the Network Flow Monitor query + * interface, for a specified query ID and monitor. This call returns the query + * status for the top contributors data for workload insights.

        When you + * start a query, use this call to check the status of the query to make sure that + * it has has SUCCEEDED before you review the results. Use the same + * query ID that you used for the corresponding API call to start the query, + * StartQueryWorkloadInsightsTopContributorsData.

        Top + * contributors in Network Flow Monitor are network flows with the highest values + * for a specific metric type, related to a scope (for workload insights) or a + * monitor.

        The top contributor network flows overall for a specific metric + * type, for example, the number of retransmissions.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetQueryStatusWorkloadInsightsTopContributorsDataOutcome GetQueryStatusWorkloadInsightsTopContributorsData(const Model::GetQueryStatusWorkloadInsightsTopContributorsDataRequest& request) const; + + /** + * A Callable wrapper for GetQueryStatusWorkloadInsightsTopContributorsData that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetQueryStatusWorkloadInsightsTopContributorsDataOutcomeCallable GetQueryStatusWorkloadInsightsTopContributorsDataCallable(const GetQueryStatusWorkloadInsightsTopContributorsDataRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::GetQueryStatusWorkloadInsightsTopContributorsData, request); + } + + /** + * An Async wrapper for GetQueryStatusWorkloadInsightsTopContributorsData that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetQueryStatusWorkloadInsightsTopContributorsDataAsync(const GetQueryStatusWorkloadInsightsTopContributorsDataRequestT& request, const GetQueryStatusWorkloadInsightsTopContributorsDataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::GetQueryStatusWorkloadInsightsTopContributorsData, request, handler, context); + } + + /** + *

        Gets information about a scope, including the name, status, tags, and target + * details. The scope in Network Flow Monitor is an account.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::GetScopeOutcome GetScope(const Model::GetScopeRequest& request) const; + + /** + * A Callable wrapper for GetScope that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetScopeOutcomeCallable GetScopeCallable(const GetScopeRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::GetScope, request); + } + + /** + * An Async wrapper for GetScope that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetScopeAsync(const GetScopeRequestT& request, const GetScopeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::GetScope, request, handler, context); + } + + /** + *

        List all monitors in an account. Optionally, you can list only monitors that + * have a specific status, by using the STATUS + * parameter.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListMonitorsOutcome ListMonitors(const Model::ListMonitorsRequest& request = {}) const; + + /** + * A Callable wrapper for ListMonitors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListMonitorsOutcomeCallable ListMonitorsCallable(const ListMonitorsRequestT& request = {}) const + { + return SubmitCallable(&NetworkFlowMonitorClient::ListMonitors, request); + } + + /** + * An Async wrapper for ListMonitors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListMonitorsAsync(const ListMonitorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListMonitorsRequestT& request = {}) const + { + return SubmitAsync(&NetworkFlowMonitorClient::ListMonitors, request, handler, context); + } + + /** + *

        List all the scopes for an account.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListScopesOutcome ListScopes(const Model::ListScopesRequest& request = {}) const; + + /** + * A Callable wrapper for ListScopes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListScopesOutcomeCallable ListScopesCallable(const ListScopesRequestT& request = {}) const + { + return SubmitCallable(&NetworkFlowMonitorClient::ListScopes, request); + } + + /** + * An Async wrapper for ListScopes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListScopesAsync(const ListScopesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListScopesRequestT& request = {}) const + { + return SubmitAsync(&NetworkFlowMonitorClient::ListScopes, request, handler, context); + } + + /** + *

        Returns all the tags for a resource.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::ListTagsForResource, request, handler, context); + } + + /** + *

        Start a query to return the data with the Network Flow Monitor query + * interface. Specify the query that you want to return results for by providing a + * query ID and a monitor name. This query returns the top contributors for a + * specific monitor.

        Top contributors in Network Flow Monitor are network + * flows with the highest values for a specific metric type, related to a scope + * (for workload insights) or a monitor.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::StartQueryMonitorTopContributorsOutcome StartQueryMonitorTopContributors(const Model::StartQueryMonitorTopContributorsRequest& request) const; + + /** + * A Callable wrapper for StartQueryMonitorTopContributors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StartQueryMonitorTopContributorsOutcomeCallable StartQueryMonitorTopContributorsCallable(const StartQueryMonitorTopContributorsRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::StartQueryMonitorTopContributors, request); + } + + /** + * An Async wrapper for StartQueryMonitorTopContributors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StartQueryMonitorTopContributorsAsync(const StartQueryMonitorTopContributorsRequestT& request, const StartQueryMonitorTopContributorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::StartQueryMonitorTopContributors, request, handler, context); + } + + /** + *

        Start a query to return the data with the Network Flow Monitor query + * interface. Specify the query that you want to start by providing a query ID and + * a monitor name. This query returns the top contributors for a specific + * monitor.

        Top contributors in Network Flow Monitor are network flows with + * the highest values for a specific metric type, related to a scope (for workload + * insights) or a monitor.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::StartQueryWorkloadInsightsTopContributorsOutcome StartQueryWorkloadInsightsTopContributors(const Model::StartQueryWorkloadInsightsTopContributorsRequest& request) const; + + /** + * A Callable wrapper for StartQueryWorkloadInsightsTopContributors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StartQueryWorkloadInsightsTopContributorsOutcomeCallable StartQueryWorkloadInsightsTopContributorsCallable(const StartQueryWorkloadInsightsTopContributorsRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::StartQueryWorkloadInsightsTopContributors, request); + } + + /** + * An Async wrapper for StartQueryWorkloadInsightsTopContributors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StartQueryWorkloadInsightsTopContributorsAsync(const StartQueryWorkloadInsightsTopContributorsRequestT& request, const StartQueryWorkloadInsightsTopContributorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::StartQueryWorkloadInsightsTopContributors, request, handler, context); + } + + /** + *

        Return the data for a query with the Network Flow Monitor query interface. + * Specify the query that you want to return results for by providing a query ID + * and a scope ID. This query returns data for the top contributors for workload + * insights. Workload insights provide a high level view of network flow + * performance data collected by agents for a scope.

        A query ID is returned + * from an API call to start a query of a specific type; for example

        Top + * contributors in Network Flow Monitor are network flows with the highest values + * for a specific metric type, related to a scope (for workload insights) or a + * monitor.

        The top contributor network flows overall for a specific metric + * type, for example, the number of retransmissions.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::StartQueryWorkloadInsightsTopContributorsDataOutcome StartQueryWorkloadInsightsTopContributorsData(const Model::StartQueryWorkloadInsightsTopContributorsDataRequest& request) const; + + /** + * A Callable wrapper for StartQueryWorkloadInsightsTopContributorsData that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StartQueryWorkloadInsightsTopContributorsDataOutcomeCallable StartQueryWorkloadInsightsTopContributorsDataCallable(const StartQueryWorkloadInsightsTopContributorsDataRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::StartQueryWorkloadInsightsTopContributorsData, request); + } + + /** + * An Async wrapper for StartQueryWorkloadInsightsTopContributorsData that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StartQueryWorkloadInsightsTopContributorsDataAsync(const StartQueryWorkloadInsightsTopContributorsDataRequestT& request, const StartQueryWorkloadInsightsTopContributorsDataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::StartQueryWorkloadInsightsTopContributorsData, request, handler, context); + } + + /** + *

        Stop a query with the Network Flow Monitor query interface. Specify the query + * that you want to stop by providing a query ID and a monitor name. This query + * returns the top contributors for a specific monitor.

        Top contributors in + * Network Flow Monitor are network flows with the highest values for a specific + * metric type, related to a scope (for workload insights) or a + * monitor.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::StopQueryMonitorTopContributorsOutcome StopQueryMonitorTopContributors(const Model::StopQueryMonitorTopContributorsRequest& request) const; + + /** + * A Callable wrapper for StopQueryMonitorTopContributors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StopQueryMonitorTopContributorsOutcomeCallable StopQueryMonitorTopContributorsCallable(const StopQueryMonitorTopContributorsRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::StopQueryMonitorTopContributors, request); + } + + /** + * An Async wrapper for StopQueryMonitorTopContributors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StopQueryMonitorTopContributorsAsync(const StopQueryMonitorTopContributorsRequestT& request, const StopQueryMonitorTopContributorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::StopQueryMonitorTopContributors, request, handler, context); + } + + /** + *

        Stop a query with the Network Flow Monitor query interface. Specify the query + * that you want to stop by providing a query ID and a monitor name. This query + * returns the top contributors for a specific monitor.

        Top contributors in + * Network Flow Monitor are network flows with the highest values for a specific + * metric type, related to a scope (for workload insights) or a + * monitor.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::StopQueryWorkloadInsightsTopContributorsOutcome StopQueryWorkloadInsightsTopContributors(const Model::StopQueryWorkloadInsightsTopContributorsRequest& request) const; + + /** + * A Callable wrapper for StopQueryWorkloadInsightsTopContributors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StopQueryWorkloadInsightsTopContributorsOutcomeCallable StopQueryWorkloadInsightsTopContributorsCallable(const StopQueryWorkloadInsightsTopContributorsRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::StopQueryWorkloadInsightsTopContributors, request); + } + + /** + * An Async wrapper for StopQueryWorkloadInsightsTopContributors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StopQueryWorkloadInsightsTopContributorsAsync(const StopQueryWorkloadInsightsTopContributorsRequestT& request, const StopQueryWorkloadInsightsTopContributorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::StopQueryWorkloadInsightsTopContributors, request, handler, context); + } + + /** + *

        Return the data for a query with the Network Flow Monitor query interface. + * Specify the query that you want to return results for by providing a query ID + * and a scope ID. This query returns data for the top contributors for workload + * insights. Workload insights provide a high level view of network flow + * performance data collected by agents for a scope.

        Top contributors in + * Network Flow Monitor are network flows with the highest values for a specific + * metric type, related to a scope (for workload insights) or a monitor.

        The + * top contributor network flows overall for a specific metric type, for example, + * the number of retransmissions.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::StopQueryWorkloadInsightsTopContributorsDataOutcome StopQueryWorkloadInsightsTopContributorsData(const Model::StopQueryWorkloadInsightsTopContributorsDataRequest& request) const; + + /** + * A Callable wrapper for StopQueryWorkloadInsightsTopContributorsData that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StopQueryWorkloadInsightsTopContributorsDataOutcomeCallable StopQueryWorkloadInsightsTopContributorsDataCallable(const StopQueryWorkloadInsightsTopContributorsDataRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::StopQueryWorkloadInsightsTopContributorsData, request); + } + + /** + * An Async wrapper for StopQueryWorkloadInsightsTopContributorsData that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StopQueryWorkloadInsightsTopContributorsDataAsync(const StopQueryWorkloadInsightsTopContributorsDataRequestT& request, const StopQueryWorkloadInsightsTopContributorsDataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::StopQueryWorkloadInsightsTopContributorsData, request, handler, context); + } + + /** + *

        Adds a tag to a resource.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::TagResource, request, handler, context); + } + + /** + *

        Removes a tag from a resource.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::UntagResource, request, handler, context); + } + + /** + *

        Update a monitor to add or remove local or remote resources.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateMonitorOutcome UpdateMonitor(const Model::UpdateMonitorRequest& request) const; + + /** + * A Callable wrapper for UpdateMonitor that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateMonitorOutcomeCallable UpdateMonitorCallable(const UpdateMonitorRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::UpdateMonitor, request); + } + + /** + * An Async wrapper for UpdateMonitor that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateMonitorAsync(const UpdateMonitorRequestT& request, const UpdateMonitorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::UpdateMonitor, request, handler, context); + } + + /** + *

        Update a scope to add or remove resources that you want to be available for + * Network Flow Monitor to generate metrics for, when you have active agents on + * those resources sending metrics reports to the Network Flow Monitor + * backend.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateScopeOutcome UpdateScope(const Model::UpdateScopeRequest& request) const; + + /** + * A Callable wrapper for UpdateScope that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateScopeOutcomeCallable UpdateScopeCallable(const UpdateScopeRequestT& request) const + { + return SubmitCallable(&NetworkFlowMonitorClient::UpdateScope, request); + } + + /** + * An Async wrapper for UpdateScope that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateScopeAsync(const UpdateScopeRequestT& request, const UpdateScopeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFlowMonitorClient::UpdateScope, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const NetworkFlowMonitorClientConfiguration& clientConfiguration); + + NetworkFlowMonitorClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointProvider.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointProvider.h new file mode 100644 index 00000000000..76e468b10c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using NetworkFlowMonitorClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using NetworkFlowMonitorClientConfiguration = Aws::Client::GenericClientConfiguration; +using NetworkFlowMonitorBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the NetworkFlowMonitor Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using NetworkFlowMonitorEndpointProviderBase = + EndpointProviderBase; + +using NetworkFlowMonitorDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_NETWORKFLOWMONITOR_API NetworkFlowMonitorEndpointProvider : public NetworkFlowMonitorDefaultEpProviderBase +{ +public: + using NetworkFlowMonitorResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + NetworkFlowMonitorEndpointProvider() + : NetworkFlowMonitorDefaultEpProviderBase(Aws::NetworkFlowMonitor::NetworkFlowMonitorEndpointRules::GetRulesBlob(), Aws::NetworkFlowMonitor::NetworkFlowMonitorEndpointRules::RulesBlobSize) + {} + + ~NetworkFlowMonitorEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointRules.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointRules.h new file mode 100644 index 00000000000..a51cd5bf84c --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +class NetworkFlowMonitorEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorErrorMarshaller.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorErrorMarshaller.h new file mode 100644 index 00000000000..ad3c5333fad --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_NETWORKFLOWMONITOR_API NetworkFlowMonitorErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorErrors.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorErrors.h new file mode 100644 index 00000000000..5390540b5e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorErrors.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +enum class NetworkFlowMonitorErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL_SERVER, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_NETWORKFLOWMONITOR_API NetworkFlowMonitorError : public Aws::Client::AWSError +{ +public: + NetworkFlowMonitorError() {} + NetworkFlowMonitorError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + NetworkFlowMonitorError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + NetworkFlowMonitorError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + NetworkFlowMonitorError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace NetworkFlowMonitorErrorMapper +{ + AWS_NETWORKFLOWMONITOR_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorRequest.h new file mode 100644 index 00000000000..9c408c1f5d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ + class AWS_NETWORKFLOWMONITOR_API NetworkFlowMonitorRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~NetworkFlowMonitorRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::JSON_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2023-04-19")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorServiceClientModel.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorServiceClientModel.h new file mode 100644 index 00000000000..e24b5b8f224 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorServiceClientModel.h @@ -0,0 +1,202 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in NetworkFlowMonitorClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in NetworkFlowMonitorClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace NetworkFlowMonitor + { + using NetworkFlowMonitorClientConfiguration = Aws::Client::GenericClientConfiguration; + using NetworkFlowMonitorEndpointProviderBase = Aws::NetworkFlowMonitor::Endpoint::NetworkFlowMonitorEndpointProviderBase; + using NetworkFlowMonitorEndpointProvider = Aws::NetworkFlowMonitor::Endpoint::NetworkFlowMonitorEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in NetworkFlowMonitorClient header */ + class CreateMonitorRequest; + class CreateScopeRequest; + class DeleteMonitorRequest; + class DeleteScopeRequest; + class GetMonitorRequest; + class GetQueryResultsMonitorTopContributorsRequest; + class GetQueryResultsWorkloadInsightsTopContributorsRequest; + class GetQueryResultsWorkloadInsightsTopContributorsDataRequest; + class GetQueryStatusMonitorTopContributorsRequest; + class GetQueryStatusWorkloadInsightsTopContributorsRequest; + class GetQueryStatusWorkloadInsightsTopContributorsDataRequest; + class GetScopeRequest; + class ListMonitorsRequest; + class ListScopesRequest; + class ListTagsForResourceRequest; + class StartQueryMonitorTopContributorsRequest; + class StartQueryWorkloadInsightsTopContributorsRequest; + class StartQueryWorkloadInsightsTopContributorsDataRequest; + class StopQueryMonitorTopContributorsRequest; + class StopQueryWorkloadInsightsTopContributorsRequest; + class StopQueryWorkloadInsightsTopContributorsDataRequest; + class TagResourceRequest; + class UntagResourceRequest; + class UpdateMonitorRequest; + class UpdateScopeRequest; + /* End of service model forward declarations required in NetworkFlowMonitorClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome CreateMonitorOutcome; + typedef Aws::Utils::Outcome CreateScopeOutcome; + typedef Aws::Utils::Outcome DeleteMonitorOutcome; + typedef Aws::Utils::Outcome DeleteScopeOutcome; + typedef Aws::Utils::Outcome GetMonitorOutcome; + typedef Aws::Utils::Outcome GetQueryResultsMonitorTopContributorsOutcome; + typedef Aws::Utils::Outcome GetQueryResultsWorkloadInsightsTopContributorsOutcome; + typedef Aws::Utils::Outcome GetQueryResultsWorkloadInsightsTopContributorsDataOutcome; + typedef Aws::Utils::Outcome GetQueryStatusMonitorTopContributorsOutcome; + typedef Aws::Utils::Outcome GetQueryStatusWorkloadInsightsTopContributorsOutcome; + typedef Aws::Utils::Outcome GetQueryStatusWorkloadInsightsTopContributorsDataOutcome; + typedef Aws::Utils::Outcome GetScopeOutcome; + typedef Aws::Utils::Outcome ListMonitorsOutcome; + typedef Aws::Utils::Outcome ListScopesOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome StartQueryMonitorTopContributorsOutcome; + typedef Aws::Utils::Outcome StartQueryWorkloadInsightsTopContributorsOutcome; + typedef Aws::Utils::Outcome StartQueryWorkloadInsightsTopContributorsDataOutcome; + typedef Aws::Utils::Outcome StopQueryMonitorTopContributorsOutcome; + typedef Aws::Utils::Outcome StopQueryWorkloadInsightsTopContributorsOutcome; + typedef Aws::Utils::Outcome StopQueryWorkloadInsightsTopContributorsDataOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateMonitorOutcome; + typedef Aws::Utils::Outcome UpdateScopeOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future CreateMonitorOutcomeCallable; + typedef std::future CreateScopeOutcomeCallable; + typedef std::future DeleteMonitorOutcomeCallable; + typedef std::future DeleteScopeOutcomeCallable; + typedef std::future GetMonitorOutcomeCallable; + typedef std::future GetQueryResultsMonitorTopContributorsOutcomeCallable; + typedef std::future GetQueryResultsWorkloadInsightsTopContributorsOutcomeCallable; + typedef std::future GetQueryResultsWorkloadInsightsTopContributorsDataOutcomeCallable; + typedef std::future GetQueryStatusMonitorTopContributorsOutcomeCallable; + typedef std::future GetQueryStatusWorkloadInsightsTopContributorsOutcomeCallable; + typedef std::future GetQueryStatusWorkloadInsightsTopContributorsDataOutcomeCallable; + typedef std::future GetScopeOutcomeCallable; + typedef std::future ListMonitorsOutcomeCallable; + typedef std::future ListScopesOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future StartQueryMonitorTopContributorsOutcomeCallable; + typedef std::future StartQueryWorkloadInsightsTopContributorsOutcomeCallable; + typedef std::future StartQueryWorkloadInsightsTopContributorsDataOutcomeCallable; + typedef std::future StopQueryMonitorTopContributorsOutcomeCallable; + typedef std::future StopQueryWorkloadInsightsTopContributorsOutcomeCallable; + typedef std::future StopQueryWorkloadInsightsTopContributorsDataOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateMonitorOutcomeCallable; + typedef std::future UpdateScopeOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class NetworkFlowMonitorClient; + + /* Service model async handlers definitions */ + typedef std::function&) > CreateMonitorResponseReceivedHandler; + typedef std::function&) > CreateScopeResponseReceivedHandler; + typedef std::function&) > DeleteMonitorResponseReceivedHandler; + typedef std::function&) > DeleteScopeResponseReceivedHandler; + typedef std::function&) > GetMonitorResponseReceivedHandler; + typedef std::function&) > GetQueryResultsMonitorTopContributorsResponseReceivedHandler; + typedef std::function&) > GetQueryResultsWorkloadInsightsTopContributorsResponseReceivedHandler; + typedef std::function&) > GetQueryResultsWorkloadInsightsTopContributorsDataResponseReceivedHandler; + typedef std::function&) > GetQueryStatusMonitorTopContributorsResponseReceivedHandler; + typedef std::function&) > GetQueryStatusWorkloadInsightsTopContributorsResponseReceivedHandler; + typedef std::function&) > GetQueryStatusWorkloadInsightsTopContributorsDataResponseReceivedHandler; + typedef std::function&) > GetScopeResponseReceivedHandler; + typedef std::function&) > ListMonitorsResponseReceivedHandler; + typedef std::function&) > ListScopesResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > StartQueryMonitorTopContributorsResponseReceivedHandler; + typedef std::function&) > StartQueryWorkloadInsightsTopContributorsResponseReceivedHandler; + typedef std::function&) > StartQueryWorkloadInsightsTopContributorsDataResponseReceivedHandler; + typedef std::function&) > StopQueryMonitorTopContributorsResponseReceivedHandler; + typedef std::function&) > StopQueryWorkloadInsightsTopContributorsResponseReceivedHandler; + typedef std::function&) > StopQueryWorkloadInsightsTopContributorsDataResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateMonitorResponseReceivedHandler; + typedef std::function&) > UpdateScopeResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitor_EXPORTS.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitor_EXPORTS.h new file mode 100644 index 00000000000..63d1e9fb1ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitor_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_NETWORKFLOWMONITOR_EXPORTS + #define AWS_NETWORKFLOWMONITOR_API __declspec(dllexport) + #else + #define AWS_NETWORKFLOWMONITOR_API __declspec(dllimport) + #endif /* AWS_NETWORKFLOWMONITOR_EXPORTS */ + #define AWS_NETWORKFLOWMONITOR_EXTERN + #else + #define AWS_NETWORKFLOWMONITOR_API + #define AWS_NETWORKFLOWMONITOR_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_NETWORKFLOWMONITOR_API + #define AWS_NETWORKFLOWMONITOR_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateMonitorRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateMonitorRequest.h new file mode 100644 index 00000000000..c5b110215c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateMonitorRequest.h @@ -0,0 +1,159 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class CreateMonitorRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API CreateMonitorRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateMonitor"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The name of the monitor.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline bool MonitorNameHasBeenSet() const { return m_monitorNameHasBeenSet; } + inline void SetMonitorName(const Aws::String& value) { m_monitorNameHasBeenSet = true; m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorNameHasBeenSet = true; m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorNameHasBeenSet = true; m_monitorName.assign(value); } + inline CreateMonitorRequest& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline CreateMonitorRequest& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline CreateMonitorRequest& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + + ///@{ + /** + *

        The local resources to monitor. A local resource, in a bi-directional flow of + * a workload, is the host where the agent is installed. For example, if a workload + * consists of an interaction between a web service and a backend database (for + * example, Amazon Relational Database Service (RDS)), the EC2 instance hosting the + * web service, which also runs the agent, is the local resource.

        + */ + inline const Aws::Vector& GetLocalResources() const{ return m_localResources; } + inline bool LocalResourcesHasBeenSet() const { return m_localResourcesHasBeenSet; } + inline void SetLocalResources(const Aws::Vector& value) { m_localResourcesHasBeenSet = true; m_localResources = value; } + inline void SetLocalResources(Aws::Vector&& value) { m_localResourcesHasBeenSet = true; m_localResources = std::move(value); } + inline CreateMonitorRequest& WithLocalResources(const Aws::Vector& value) { SetLocalResources(value); return *this;} + inline CreateMonitorRequest& WithLocalResources(Aws::Vector&& value) { SetLocalResources(std::move(value)); return *this;} + inline CreateMonitorRequest& AddLocalResources(const MonitorLocalResource& value) { m_localResourcesHasBeenSet = true; m_localResources.push_back(value); return *this; } + inline CreateMonitorRequest& AddLocalResources(MonitorLocalResource&& value) { m_localResourcesHasBeenSet = true; m_localResources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The remote resources to monitor. A remote resource is the other endpoint in + * the bi-directional flow of a workload, with a local resource. For example, + * Amazon Relational Database Service (RDS) can be a remote resource.

        + */ + inline const Aws::Vector& GetRemoteResources() const{ return m_remoteResources; } + inline bool RemoteResourcesHasBeenSet() const { return m_remoteResourcesHasBeenSet; } + inline void SetRemoteResources(const Aws::Vector& value) { m_remoteResourcesHasBeenSet = true; m_remoteResources = value; } + inline void SetRemoteResources(Aws::Vector&& value) { m_remoteResourcesHasBeenSet = true; m_remoteResources = std::move(value); } + inline CreateMonitorRequest& WithRemoteResources(const Aws::Vector& value) { SetRemoteResources(value); return *this;} + inline CreateMonitorRequest& WithRemoteResources(Aws::Vector&& value) { SetRemoteResources(std::move(value)); return *this;} + inline CreateMonitorRequest& AddRemoteResources(const MonitorRemoteResource& value) { m_remoteResourcesHasBeenSet = true; m_remoteResources.push_back(value); return *this; } + inline CreateMonitorRequest& AddRemoteResources(MonitorRemoteResource&& value) { m_remoteResourcesHasBeenSet = true; m_remoteResources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the scope for the monitor.

        + */ + inline const Aws::String& GetScopeArn() const{ return m_scopeArn; } + inline bool ScopeArnHasBeenSet() const { return m_scopeArnHasBeenSet; } + inline void SetScopeArn(const Aws::String& value) { m_scopeArnHasBeenSet = true; m_scopeArn = value; } + inline void SetScopeArn(Aws::String&& value) { m_scopeArnHasBeenSet = true; m_scopeArn = std::move(value); } + inline void SetScopeArn(const char* value) { m_scopeArnHasBeenSet = true; m_scopeArn.assign(value); } + inline CreateMonitorRequest& WithScopeArn(const Aws::String& value) { SetScopeArn(value); return *this;} + inline CreateMonitorRequest& WithScopeArn(Aws::String&& value) { SetScopeArn(std::move(value)); return *this;} + inline CreateMonitorRequest& WithScopeArn(const char* value) { SetScopeArn(value); return *this;} + ///@} + + ///@{ + /** + *

        A unique, case-sensitive string of up to 64 ASCII characters that you specify + * to make an idempotent API request. Don't reuse the same client token for other + * API requests.

        + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateMonitorRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateMonitorRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateMonitorRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The tags for a monitor. You can add a maximum of 200 tags.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateMonitorRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateMonitorRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateMonitorRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateMonitorRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateMonitorRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateMonitorRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateMonitorRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateMonitorRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateMonitorRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_monitorName; + bool m_monitorNameHasBeenSet = false; + + Aws::Vector m_localResources; + bool m_localResourcesHasBeenSet = false; + + Aws::Vector m_remoteResources; + bool m_remoteResourcesHasBeenSet = false; + + Aws::String m_scopeArn; + bool m_scopeArnHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateMonitorResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateMonitorResult.h new file mode 100644 index 00000000000..ee3a1b6e029 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateMonitorResult.h @@ -0,0 +1,187 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class CreateMonitorResult + { + public: + AWS_NETWORKFLOWMONITOR_API CreateMonitorResult(); + AWS_NETWORKFLOWMONITOR_API CreateMonitorResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API CreateMonitorResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the monitor.

        + */ + inline const Aws::String& GetMonitorArn() const{ return m_monitorArn; } + inline void SetMonitorArn(const Aws::String& value) { m_monitorArn = value; } + inline void SetMonitorArn(Aws::String&& value) { m_monitorArn = std::move(value); } + inline void SetMonitorArn(const char* value) { m_monitorArn.assign(value); } + inline CreateMonitorResult& WithMonitorArn(const Aws::String& value) { SetMonitorArn(value); return *this;} + inline CreateMonitorResult& WithMonitorArn(Aws::String&& value) { SetMonitorArn(std::move(value)); return *this;} + inline CreateMonitorResult& WithMonitorArn(const char* value) { SetMonitorArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the monitor.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline void SetMonitorName(const Aws::String& value) { m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorName.assign(value); } + inline CreateMonitorResult& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline CreateMonitorResult& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline CreateMonitorResult& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of a monitor. The status can be one of the following

        • + *

          PENDING: The monitor is in the process of being created.

          + *
        • ACTIVE: The monitor is active.

        • + * INACTIVE: The monitor is inactive.

        • + * ERROR: Monitor creation failed due to an error.

        • + * DELETING: The monitor is in the process of being deleted.

        • + *
        + */ + inline const MonitorStatus& GetMonitorStatus() const{ return m_monitorStatus; } + inline void SetMonitorStatus(const MonitorStatus& value) { m_monitorStatus = value; } + inline void SetMonitorStatus(MonitorStatus&& value) { m_monitorStatus = std::move(value); } + inline CreateMonitorResult& WithMonitorStatus(const MonitorStatus& value) { SetMonitorStatus(value); return *this;} + inline CreateMonitorResult& WithMonitorStatus(MonitorStatus&& value) { SetMonitorStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The local resources to monitor. A local resource, in a bi-directional flow of + * a workload, is the host where the agent is installed.

        + */ + inline const Aws::Vector& GetLocalResources() const{ return m_localResources; } + inline void SetLocalResources(const Aws::Vector& value) { m_localResources = value; } + inline void SetLocalResources(Aws::Vector&& value) { m_localResources = std::move(value); } + inline CreateMonitorResult& WithLocalResources(const Aws::Vector& value) { SetLocalResources(value); return *this;} + inline CreateMonitorResult& WithLocalResources(Aws::Vector&& value) { SetLocalResources(std::move(value)); return *this;} + inline CreateMonitorResult& AddLocalResources(const MonitorLocalResource& value) { m_localResources.push_back(value); return *this; } + inline CreateMonitorResult& AddLocalResources(MonitorLocalResource&& value) { m_localResources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The remote resources to monitor. A remote resource is the other endpoint in + * the bi-directional flow of a workload, with a local resource. For example, + * Amazon Relational Database Service (RDS) can be a remote resource. The remote + * resource is identified by its ARN or an identifier.

        + */ + inline const Aws::Vector& GetRemoteResources() const{ return m_remoteResources; } + inline void SetRemoteResources(const Aws::Vector& value) { m_remoteResources = value; } + inline void SetRemoteResources(Aws::Vector&& value) { m_remoteResources = std::move(value); } + inline CreateMonitorResult& WithRemoteResources(const Aws::Vector& value) { SetRemoteResources(value); return *this;} + inline CreateMonitorResult& WithRemoteResources(Aws::Vector&& value) { SetRemoteResources(std::move(value)); return *this;} + inline CreateMonitorResult& AddRemoteResources(const MonitorRemoteResource& value) { m_remoteResources.push_back(value); return *this; } + inline CreateMonitorResult& AddRemoteResources(MonitorRemoteResource&& value) { m_remoteResources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The date and time when the monitor was created.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline CreateMonitorResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline CreateMonitorResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The last date and time that the monitor was modified.

        + */ + inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } + inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAt = value; } + inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAt = std::move(value); } + inline CreateMonitorResult& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} + inline CreateMonitorResult& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The tags for a monitor.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline CreateMonitorResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateMonitorResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateMonitorResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline CreateMonitorResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline CreateMonitorResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline CreateMonitorResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateMonitorResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline CreateMonitorResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline CreateMonitorResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateMonitorResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateMonitorResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateMonitorResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_monitorArn; + + Aws::String m_monitorName; + + MonitorStatus m_monitorStatus; + + Aws::Vector m_localResources; + + Aws::Vector m_remoteResources; + + Aws::Utils::DateTime m_createdAt; + + Aws::Utils::DateTime m_modifiedAt; + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateScopeRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateScopeRequest.h new file mode 100644 index 00000000000..f83bf78b044 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateScopeRequest.h @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class CreateScopeRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API CreateScopeRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateScope"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The targets to define the scope to be monitored. Currently, a target is an + * Amazon Web Services account.

        + */ + inline const Aws::Vector& GetTargets() const{ return m_targets; } + inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; } + inline void SetTargets(const Aws::Vector& value) { m_targetsHasBeenSet = true; m_targets = value; } + inline void SetTargets(Aws::Vector&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); } + inline CreateScopeRequest& WithTargets(const Aws::Vector& value) { SetTargets(value); return *this;} + inline CreateScopeRequest& WithTargets(Aws::Vector&& value) { SetTargets(std::move(value)); return *this;} + inline CreateScopeRequest& AddTargets(const TargetResource& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; } + inline CreateScopeRequest& AddTargets(TargetResource&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        A unique, case-sensitive string of up to 64 ASCII characters that you specify + * to make an idempotent API request. Don't reuse the same client token for other + * API requests.

        + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateScopeRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateScopeRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateScopeRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The tags for a scope. You can add a maximum of 200 tags.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateScopeRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateScopeRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateScopeRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateScopeRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateScopeRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateScopeRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateScopeRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateScopeRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateScopeRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::Vector m_targets; + bool m_targetsHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateScopeResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateScopeResult.h new file mode 100644 index 00000000000..81a70dd2e13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/CreateScopeResult.h @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class CreateScopeResult + { + public: + AWS_NETWORKFLOWMONITOR_API CreateScopeResult(); + AWS_NETWORKFLOWMONITOR_API CreateScopeResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API CreateScopeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get + * metrics for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline void SetScopeId(const Aws::String& value) { m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeId.assign(value); } + inline CreateScopeResult& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline CreateScopeResult& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline CreateScopeResult& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The status for a call to create a scope. The status can be one of the + * following: SUCCEEDED, IN_PROGRESS, or + * FAILED.

        + */ + inline const ScopeStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ScopeStatus& value) { m_status = value; } + inline void SetStatus(ScopeStatus&& value) { m_status = std::move(value); } + inline CreateScopeResult& WithStatus(const ScopeStatus& value) { SetStatus(value); return *this;} + inline CreateScopeResult& WithStatus(ScopeStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the scope.

        + */ + inline const Aws::String& GetScopeArn() const{ return m_scopeArn; } + inline void SetScopeArn(const Aws::String& value) { m_scopeArn = value; } + inline void SetScopeArn(Aws::String&& value) { m_scopeArn = std::move(value); } + inline void SetScopeArn(const char* value) { m_scopeArn.assign(value); } + inline CreateScopeResult& WithScopeArn(const Aws::String& value) { SetScopeArn(value); return *this;} + inline CreateScopeResult& WithScopeArn(Aws::String&& value) { SetScopeArn(std::move(value)); return *this;} + inline CreateScopeResult& WithScopeArn(const char* value) { SetScopeArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The tags for a scope.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline CreateScopeResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateScopeResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateScopeResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline CreateScopeResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline CreateScopeResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline CreateScopeResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateScopeResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline CreateScopeResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline CreateScopeResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateScopeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateScopeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateScopeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + + ScopeStatus m_status; + + Aws::String m_scopeArn; + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteMonitorRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteMonitorRequest.h new file mode 100644 index 00000000000..1738dc54e57 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteMonitorRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class DeleteMonitorRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API DeleteMonitorRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteMonitor"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The name of the monitor to delete.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline bool MonitorNameHasBeenSet() const { return m_monitorNameHasBeenSet; } + inline void SetMonitorName(const Aws::String& value) { m_monitorNameHasBeenSet = true; m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorNameHasBeenSet = true; m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorNameHasBeenSet = true; m_monitorName.assign(value); } + inline DeleteMonitorRequest& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline DeleteMonitorRequest& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline DeleteMonitorRequest& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + private: + + Aws::String m_monitorName; + bool m_monitorNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteMonitorResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteMonitorResult.h new file mode 100644 index 00000000000..3ee0c50650e --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteMonitorResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class DeleteMonitorResult + { + public: + AWS_NETWORKFLOWMONITOR_API DeleteMonitorResult(); + AWS_NETWORKFLOWMONITOR_API DeleteMonitorResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API DeleteMonitorResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteMonitorResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteMonitorResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteMonitorResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteScopeRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteScopeRequest.h new file mode 100644 index 00000000000..f479a7ba7e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteScopeRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class DeleteScopeRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API DeleteScopeRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteScope"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline DeleteScopeRequest& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline DeleteScopeRequest& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline DeleteScopeRequest& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteScopeResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteScopeResult.h new file mode 100644 index 00000000000..daafb92fa1b --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DeleteScopeResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class DeleteScopeResult + { + public: + AWS_NETWORKFLOWMONITOR_API DeleteScopeResult(); + AWS_NETWORKFLOWMONITOR_API DeleteScopeResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API DeleteScopeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteScopeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteScopeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteScopeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DestinationCategory.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DestinationCategory.h new file mode 100644 index 00000000000..766bf7efe6b --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/DestinationCategory.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + enum class DestinationCategory + { + NOT_SET, + INTRA_AZ, + INTER_AZ, + INTER_VPC, + UNCLASSIFIED, + AMAZON_S3, + AMAZON_DYNAMODB + }; + +namespace DestinationCategoryMapper +{ +AWS_NETWORKFLOWMONITOR_API DestinationCategory GetDestinationCategoryForName(const Aws::String& name); + +AWS_NETWORKFLOWMONITOR_API Aws::String GetNameForDestinationCategory(DestinationCategory value); +} // namespace DestinationCategoryMapper +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetMonitorRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetMonitorRequest.h new file mode 100644 index 00000000000..14a66c033a5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetMonitorRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class GetMonitorRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API GetMonitorRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetMonitor"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The name of the monitor.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline bool MonitorNameHasBeenSet() const { return m_monitorNameHasBeenSet; } + inline void SetMonitorName(const Aws::String& value) { m_monitorNameHasBeenSet = true; m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorNameHasBeenSet = true; m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorNameHasBeenSet = true; m_monitorName.assign(value); } + inline GetMonitorRequest& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline GetMonitorRequest& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline GetMonitorRequest& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + private: + + Aws::String m_monitorName; + bool m_monitorNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetMonitorResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetMonitorResult.h new file mode 100644 index 00000000000..7b2f5228793 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetMonitorResult.h @@ -0,0 +1,183 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class GetMonitorResult + { + public: + AWS_NETWORKFLOWMONITOR_API GetMonitorResult(); + AWS_NETWORKFLOWMONITOR_API GetMonitorResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API GetMonitorResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the monitor.

        + */ + inline const Aws::String& GetMonitorArn() const{ return m_monitorArn; } + inline void SetMonitorArn(const Aws::String& value) { m_monitorArn = value; } + inline void SetMonitorArn(Aws::String&& value) { m_monitorArn = std::move(value); } + inline void SetMonitorArn(const char* value) { m_monitorArn.assign(value); } + inline GetMonitorResult& WithMonitorArn(const Aws::String& value) { SetMonitorArn(value); return *this;} + inline GetMonitorResult& WithMonitorArn(Aws::String&& value) { SetMonitorArn(std::move(value)); return *this;} + inline GetMonitorResult& WithMonitorArn(const char* value) { SetMonitorArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the monitor.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline void SetMonitorName(const Aws::String& value) { m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorName.assign(value); } + inline GetMonitorResult& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline GetMonitorResult& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline GetMonitorResult& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of a monitor. The status can be one of the following

        • + *

          PENDING: The monitor is in the process of being created.

          + *
        • ACTIVE: The monitor is active.

        • + * INACTIVE: The monitor is inactive.

        • + * ERROR: Monitor creation failed due to an error.

        • + * DELETING: The monitor is in the process of being deleted.

        • + *
        + */ + inline const MonitorStatus& GetMonitorStatus() const{ return m_monitorStatus; } + inline void SetMonitorStatus(const MonitorStatus& value) { m_monitorStatus = value; } + inline void SetMonitorStatus(MonitorStatus&& value) { m_monitorStatus = std::move(value); } + inline GetMonitorResult& WithMonitorStatus(const MonitorStatus& value) { SetMonitorStatus(value); return *this;} + inline GetMonitorResult& WithMonitorStatus(MonitorStatus&& value) { SetMonitorStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The local resources for this monitor.

        + */ + inline const Aws::Vector& GetLocalResources() const{ return m_localResources; } + inline void SetLocalResources(const Aws::Vector& value) { m_localResources = value; } + inline void SetLocalResources(Aws::Vector&& value) { m_localResources = std::move(value); } + inline GetMonitorResult& WithLocalResources(const Aws::Vector& value) { SetLocalResources(value); return *this;} + inline GetMonitorResult& WithLocalResources(Aws::Vector&& value) { SetLocalResources(std::move(value)); return *this;} + inline GetMonitorResult& AddLocalResources(const MonitorLocalResource& value) { m_localResources.push_back(value); return *this; } + inline GetMonitorResult& AddLocalResources(MonitorLocalResource&& value) { m_localResources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The remote resources for this monitor.

        + */ + inline const Aws::Vector& GetRemoteResources() const{ return m_remoteResources; } + inline void SetRemoteResources(const Aws::Vector& value) { m_remoteResources = value; } + inline void SetRemoteResources(Aws::Vector&& value) { m_remoteResources = std::move(value); } + inline GetMonitorResult& WithRemoteResources(const Aws::Vector& value) { SetRemoteResources(value); return *this;} + inline GetMonitorResult& WithRemoteResources(Aws::Vector&& value) { SetRemoteResources(std::move(value)); return *this;} + inline GetMonitorResult& AddRemoteResources(const MonitorRemoteResource& value) { m_remoteResources.push_back(value); return *this; } + inline GetMonitorResult& AddRemoteResources(MonitorRemoteResource&& value) { m_remoteResources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The date and time when the monitor was created.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline GetMonitorResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline GetMonitorResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The date and time when the monitor was last modified.

        + */ + inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } + inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAt = value; } + inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAt = std::move(value); } + inline GetMonitorResult& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} + inline GetMonitorResult& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The tags for a monitor.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline GetMonitorResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline GetMonitorResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline GetMonitorResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline GetMonitorResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline GetMonitorResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline GetMonitorResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline GetMonitorResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline GetMonitorResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline GetMonitorResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetMonitorResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetMonitorResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetMonitorResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_monitorArn; + + Aws::String m_monitorName; + + MonitorStatus m_monitorStatus; + + Aws::Vector m_localResources; + + Aws::Vector m_remoteResources; + + Aws::Utils::DateTime m_createdAt; + + Aws::Utils::DateTime m_modifiedAt; + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsMonitorTopContributorsRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsMonitorTopContributorsRequest.h new file mode 100644 index 00000000000..6fb682773e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsMonitorTopContributorsRequest.h @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class GetQueryResultsMonitorTopContributorsRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryResultsMonitorTopContributorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetQueryResultsMonitorTopContributors"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + AWS_NETWORKFLOWMONITOR_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The name of the monitor.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline bool MonitorNameHasBeenSet() const { return m_monitorNameHasBeenSet; } + inline void SetMonitorName(const Aws::String& value) { m_monitorNameHasBeenSet = true; m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorNameHasBeenSet = true; m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorNameHasBeenSet = true; m_monitorName.assign(value); } + inline GetQueryResultsMonitorTopContributorsRequest& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline GetQueryResultsMonitorTopContributorsRequest& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline GetQueryResultsMonitorTopContributorsRequest& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } + inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); } + inline GetQueryResultsMonitorTopContributorsRequest& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline GetQueryResultsMonitorTopContributorsRequest& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline GetQueryResultsMonitorTopContributorsRequest& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + + ///@{ + /** + *

        The token for the next set of results. You receive this token from a previous + * call.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline GetQueryResultsMonitorTopContributorsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline GetQueryResultsMonitorTopContributorsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline GetQueryResultsMonitorTopContributorsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The number of query results that you want to return with this call.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline GetQueryResultsMonitorTopContributorsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_monitorName; + bool m_monitorNameHasBeenSet = false; + + Aws::String m_queryId; + bool m_queryIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsMonitorTopContributorsResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsMonitorTopContributorsResult.h new file mode 100644 index 00000000000..ed2b54235ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsMonitorTopContributorsResult.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class GetQueryResultsMonitorTopContributorsResult + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryResultsMonitorTopContributorsResult(); + AWS_NETWORKFLOWMONITOR_API GetQueryResultsMonitorTopContributorsResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API GetQueryResultsMonitorTopContributorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The units for a metric returned by the query.

        + */ + inline const MetricUnit& GetUnit() const{ return m_unit; } + inline void SetUnit(const MetricUnit& value) { m_unit = value; } + inline void SetUnit(MetricUnit&& value) { m_unit = std::move(value); } + inline GetQueryResultsMonitorTopContributorsResult& WithUnit(const MetricUnit& value) { SetUnit(value); return *this;} + inline GetQueryResultsMonitorTopContributorsResult& WithUnit(MetricUnit&& value) { SetUnit(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The top contributor network flows overall for a specific metric type, for + * example, the number of retransmissions.

        + */ + inline const Aws::Vector& GetTopContributors() const{ return m_topContributors; } + inline void SetTopContributors(const Aws::Vector& value) { m_topContributors = value; } + inline void SetTopContributors(Aws::Vector&& value) { m_topContributors = std::move(value); } + inline GetQueryResultsMonitorTopContributorsResult& WithTopContributors(const Aws::Vector& value) { SetTopContributors(value); return *this;} + inline GetQueryResultsMonitorTopContributorsResult& WithTopContributors(Aws::Vector&& value) { SetTopContributors(std::move(value)); return *this;} + inline GetQueryResultsMonitorTopContributorsResult& AddTopContributors(const MonitorTopContributorsRow& value) { m_topContributors.push_back(value); return *this; } + inline GetQueryResultsMonitorTopContributorsResult& AddTopContributors(MonitorTopContributorsRow&& value) { m_topContributors.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The token for the next set of results. You receive this token from a previous + * call.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline GetQueryResultsMonitorTopContributorsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline GetQueryResultsMonitorTopContributorsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline GetQueryResultsMonitorTopContributorsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetQueryResultsMonitorTopContributorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetQueryResultsMonitorTopContributorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetQueryResultsMonitorTopContributorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + MetricUnit m_unit; + + Aws::Vector m_topContributors; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsDataRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsDataRequest.h new file mode 100644 index 00000000000..e78dbbc4ef2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsDataRequest.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class GetQueryResultsWorkloadInsightsTopContributorsDataRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryResultsWorkloadInsightsTopContributorsDataRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetQueryResultsWorkloadInsightsTopContributorsData"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + AWS_NETWORKFLOWMONITOR_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsDataRequest& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataRequest& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataRequest& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } + inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsDataRequest& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataRequest& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataRequest& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + + ///@{ + /** + *

        The token for the next set of results. You receive this token from a previous + * call.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsDataRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The number of query results that you want to return with this call.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline GetQueryResultsWorkloadInsightsTopContributorsDataRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + + Aws::String m_queryId; + bool m_queryIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsDataResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsDataResult.h new file mode 100644 index 00000000000..ca6153d49ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsDataResult.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class GetQueryResultsWorkloadInsightsTopContributorsDataResult + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryResultsWorkloadInsightsTopContributorsDataResult(); + AWS_NETWORKFLOWMONITOR_API GetQueryResultsWorkloadInsightsTopContributorsDataResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API GetQueryResultsWorkloadInsightsTopContributorsDataResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The units for a metric returned by the query.

        + */ + inline const MetricUnit& GetUnit() const{ return m_unit; } + inline void SetUnit(const MetricUnit& value) { m_unit = value; } + inline void SetUnit(MetricUnit&& value) { m_unit = std::move(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& WithUnit(const MetricUnit& value) { SetUnit(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& WithUnit(MetricUnit&& value) { SetUnit(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The datapoints returned by the query.

        + */ + inline const Aws::Vector& GetDatapoints() const{ return m_datapoints; } + inline void SetDatapoints(const Aws::Vector& value) { m_datapoints = value; } + inline void SetDatapoints(Aws::Vector&& value) { m_datapoints = std::move(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& WithDatapoints(const Aws::Vector& value) { SetDatapoints(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& WithDatapoints(Aws::Vector&& value) { SetDatapoints(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& AddDatapoints(const WorkloadInsightsTopContributorsDataPoint& value) { m_datapoints.push_back(value); return *this; } + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& AddDatapoints(WorkloadInsightsTopContributorsDataPoint&& value) { m_datapoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The token for the next set of results. You receive this token from a previous + * call.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsDataResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + MetricUnit m_unit; + + Aws::Vector m_datapoints; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsRequest.h new file mode 100644 index 00000000000..c1e1d67c6a5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsRequest.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class GetQueryResultsWorkloadInsightsTopContributorsRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryResultsWorkloadInsightsTopContributorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetQueryResultsWorkloadInsightsTopContributors"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + AWS_NETWORKFLOWMONITOR_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsRequest& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsRequest& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsRequest& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } + inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsRequest& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsRequest& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsRequest& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + + ///@{ + /** + *

        The token for the next set of results. You receive this token from a previous + * call.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The number of query results that you want to return with this call.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline GetQueryResultsWorkloadInsightsTopContributorsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + + Aws::String m_queryId; + bool m_queryIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsResult.h new file mode 100644 index 00000000000..f9eba6a3131 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryResultsWorkloadInsightsTopContributorsResult.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class GetQueryResultsWorkloadInsightsTopContributorsResult + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryResultsWorkloadInsightsTopContributorsResult(); + AWS_NETWORKFLOWMONITOR_API GetQueryResultsWorkloadInsightsTopContributorsResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API GetQueryResultsWorkloadInsightsTopContributorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The top contributor network flows overall for a specific metric type, for + * example, the number of retransmissions.

        + */ + inline const Aws::Vector& GetTopContributors() const{ return m_topContributors; } + inline void SetTopContributors(const Aws::Vector& value) { m_topContributors = value; } + inline void SetTopContributors(Aws::Vector&& value) { m_topContributors = std::move(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsResult& WithTopContributors(const Aws::Vector& value) { SetTopContributors(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsResult& WithTopContributors(Aws::Vector&& value) { SetTopContributors(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsResult& AddTopContributors(const WorkloadInsightsTopContributorsRow& value) { m_topContributors.push_back(value); return *this; } + inline GetQueryResultsWorkloadInsightsTopContributorsResult& AddTopContributors(WorkloadInsightsTopContributorsRow&& value) { m_topContributors.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The token for the next set of results. You receive this token from a previous + * call.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetQueryResultsWorkloadInsightsTopContributorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetQueryResultsWorkloadInsightsTopContributorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_topContributors; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusMonitorTopContributorsRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusMonitorTopContributorsRequest.h new file mode 100644 index 00000000000..653016a3152 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusMonitorTopContributorsRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class GetQueryStatusMonitorTopContributorsRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryStatusMonitorTopContributorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetQueryStatusMonitorTopContributors"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The name of the monitor.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline bool MonitorNameHasBeenSet() const { return m_monitorNameHasBeenSet; } + inline void SetMonitorName(const Aws::String& value) { m_monitorNameHasBeenSet = true; m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorNameHasBeenSet = true; m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorNameHasBeenSet = true; m_monitorName.assign(value); } + inline GetQueryStatusMonitorTopContributorsRequest& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline GetQueryStatusMonitorTopContributorsRequest& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline GetQueryStatusMonitorTopContributorsRequest& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } + inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); } + inline GetQueryStatusMonitorTopContributorsRequest& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline GetQueryStatusMonitorTopContributorsRequest& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline GetQueryStatusMonitorTopContributorsRequest& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + private: + + Aws::String m_monitorName; + bool m_monitorNameHasBeenSet = false; + + Aws::String m_queryId; + bool m_queryIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusMonitorTopContributorsResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusMonitorTopContributorsResult.h new file mode 100644 index 00000000000..d29bcb1e5eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusMonitorTopContributorsResult.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class GetQueryStatusMonitorTopContributorsResult + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryStatusMonitorTopContributorsResult(); + AWS_NETWORKFLOWMONITOR_API GetQueryStatusMonitorTopContributorsResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API GetQueryStatusMonitorTopContributorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        When you run a query, use this call to check the status of the query to make + * sure that the query has SUCCEEDED before you review the + * results.

        • QUEUED: The query is scheduled to + * run.

        • RUNNING: The query is in progress but not + * complete.

        • SUCCEEDED: The query completed + * sucessfully.

        • FAILED: The query failed due to an + * error.

        • CANCELED: The query was canceled.

          + *
        + */ + inline const QueryStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const QueryStatus& value) { m_status = value; } + inline void SetStatus(QueryStatus&& value) { m_status = std::move(value); } + inline GetQueryStatusMonitorTopContributorsResult& WithStatus(const QueryStatus& value) { SetStatus(value); return *this;} + inline GetQueryStatusMonitorTopContributorsResult& WithStatus(QueryStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetQueryStatusMonitorTopContributorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetQueryStatusMonitorTopContributorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetQueryStatusMonitorTopContributorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + QueryStatus m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsDataRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsDataRequest.h new file mode 100644 index 00000000000..f576158c79e --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsDataRequest.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class GetQueryStatusWorkloadInsightsTopContributorsDataRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryStatusWorkloadInsightsTopContributorsDataRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetQueryStatusWorkloadInsightsTopContributorsData"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account. A scope ID is returned from a + * CreateScope API call.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline GetQueryStatusWorkloadInsightsTopContributorsDataRequest& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsDataRequest& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsDataRequest& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } + inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); } + inline GetQueryStatusWorkloadInsightsTopContributorsDataRequest& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsDataRequest& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsDataRequest& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + + Aws::String m_queryId; + bool m_queryIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsDataResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsDataResult.h new file mode 100644 index 00000000000..ab180aa2c96 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsDataResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class GetQueryStatusWorkloadInsightsTopContributorsDataResult + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryStatusWorkloadInsightsTopContributorsDataResult(); + AWS_NETWORKFLOWMONITOR_API GetQueryStatusWorkloadInsightsTopContributorsDataResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API GetQueryStatusWorkloadInsightsTopContributorsDataResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The status of a query for top contributors data.

        • + * QUEUED: The query is scheduled to run.

        • + * RUNNING: The query is in progress but not complete.

        • + *

          SUCCEEDED: The query completed sucessfully.

        • + * FAILED: The query failed due to an error.

        • + * CANCELED: The query was canceled.

        + */ + inline const QueryStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const QueryStatus& value) { m_status = value; } + inline void SetStatus(QueryStatus&& value) { m_status = std::move(value); } + inline GetQueryStatusWorkloadInsightsTopContributorsDataResult& WithStatus(const QueryStatus& value) { SetStatus(value); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsDataResult& WithStatus(QueryStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetQueryStatusWorkloadInsightsTopContributorsDataResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsDataResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsDataResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + QueryStatus m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsRequest.h new file mode 100644 index 00000000000..d3ae917ae7f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class GetQueryStatusWorkloadInsightsTopContributorsRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryStatusWorkloadInsightsTopContributorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetQueryStatusWorkloadInsightsTopContributors"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline GetQueryStatusWorkloadInsightsTopContributorsRequest& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsRequest& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsRequest& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } + inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); } + inline GetQueryStatusWorkloadInsightsTopContributorsRequest& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsRequest& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsRequest& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + + Aws::String m_queryId; + bool m_queryIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsResult.h new file mode 100644 index 00000000000..48c84427c75 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetQueryStatusWorkloadInsightsTopContributorsResult.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class GetQueryStatusWorkloadInsightsTopContributorsResult + { + public: + AWS_NETWORKFLOWMONITOR_API GetQueryStatusWorkloadInsightsTopContributorsResult(); + AWS_NETWORKFLOWMONITOR_API GetQueryStatusWorkloadInsightsTopContributorsResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API GetQueryStatusWorkloadInsightsTopContributorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        When you run a query, use this call to check the status of the query to make + * sure that the query has SUCCEEDED before you review the + * results.

        • QUEUED: The query is scheduled to + * run.

        • RUNNING: The query is in progress but not + * complete.

        • SUCCEEDED: The query completed + * sucessfully.

        • FAILED: The query failed due to an + * error.

        • CANCELED: The query was canceled.

          + *
        + */ + inline const QueryStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const QueryStatus& value) { m_status = value; } + inline void SetStatus(QueryStatus&& value) { m_status = std::move(value); } + inline GetQueryStatusWorkloadInsightsTopContributorsResult& WithStatus(const QueryStatus& value) { SetStatus(value); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsResult& WithStatus(QueryStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetQueryStatusWorkloadInsightsTopContributorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetQueryStatusWorkloadInsightsTopContributorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + QueryStatus m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetScopeRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetScopeRequest.h new file mode 100644 index 00000000000..af3c46a93db --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetScopeRequest.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class GetScopeRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API GetScopeRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetScope"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account. A scope ID is returned from a + * CreateScope API call.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline GetScopeRequest& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline GetScopeRequest& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline GetScopeRequest& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetScopeResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetScopeResult.h new file mode 100644 index 00000000000..5a6dae1a1ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/GetScopeResult.h @@ -0,0 +1,138 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class GetScopeResult + { + public: + AWS_NETWORKFLOWMONITOR_API GetScopeResult(); + AWS_NETWORKFLOWMONITOR_API GetScopeResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API GetScopeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account. A scope ID is returned from a + * CreateScope API call.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline void SetScopeId(const Aws::String& value) { m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeId.assign(value); } + inline GetScopeResult& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline GetScopeResult& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline GetScopeResult& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of a scope. The status can be one of the following: + * SUCCEEDED, IN_PROGRESS, or FAILED.

        + */ + inline const ScopeStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ScopeStatus& value) { m_status = value; } + inline void SetStatus(ScopeStatus&& value) { m_status = std::move(value); } + inline GetScopeResult& WithStatus(const ScopeStatus& value) { SetStatus(value); return *this;} + inline GetScopeResult& WithStatus(ScopeStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the scope.

        + */ + inline const Aws::String& GetScopeArn() const{ return m_scopeArn; } + inline void SetScopeArn(const Aws::String& value) { m_scopeArn = value; } + inline void SetScopeArn(Aws::String&& value) { m_scopeArn = std::move(value); } + inline void SetScopeArn(const char* value) { m_scopeArn.assign(value); } + inline GetScopeResult& WithScopeArn(const Aws::String& value) { SetScopeArn(value); return *this;} + inline GetScopeResult& WithScopeArn(Aws::String&& value) { SetScopeArn(std::move(value)); return *this;} + inline GetScopeResult& WithScopeArn(const char* value) { SetScopeArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The targets for a scope

        + */ + inline const Aws::Vector& GetTargets() const{ return m_targets; } + inline void SetTargets(const Aws::Vector& value) { m_targets = value; } + inline void SetTargets(Aws::Vector&& value) { m_targets = std::move(value); } + inline GetScopeResult& WithTargets(const Aws::Vector& value) { SetTargets(value); return *this;} + inline GetScopeResult& WithTargets(Aws::Vector&& value) { SetTargets(std::move(value)); return *this;} + inline GetScopeResult& AddTargets(const TargetResource& value) { m_targets.push_back(value); return *this; } + inline GetScopeResult& AddTargets(TargetResource&& value) { m_targets.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The tags for a scope.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline GetScopeResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline GetScopeResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline GetScopeResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline GetScopeResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline GetScopeResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline GetScopeResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline GetScopeResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline GetScopeResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline GetScopeResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetScopeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetScopeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetScopeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + + ScopeStatus m_status; + + Aws::String m_scopeArn; + + Aws::Vector m_targets; + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/KubernetesMetadata.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/KubernetesMetadata.h new file mode 100644 index 00000000000..c1a5aa1267c --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/KubernetesMetadata.h @@ -0,0 +1,146 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        Meta data about Kubernetes resources.

        See Also:

        AWS + * API Reference

        + */ + class KubernetesMetadata + { + public: + AWS_NETWORKFLOWMONITOR_API KubernetesMetadata(); + AWS_NETWORKFLOWMONITOR_API KubernetesMetadata(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API KubernetesMetadata& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The service name for a local resource.

        + */ + inline const Aws::String& GetLocalServiceName() const{ return m_localServiceName; } + inline bool LocalServiceNameHasBeenSet() const { return m_localServiceNameHasBeenSet; } + inline void SetLocalServiceName(const Aws::String& value) { m_localServiceNameHasBeenSet = true; m_localServiceName = value; } + inline void SetLocalServiceName(Aws::String&& value) { m_localServiceNameHasBeenSet = true; m_localServiceName = std::move(value); } + inline void SetLocalServiceName(const char* value) { m_localServiceNameHasBeenSet = true; m_localServiceName.assign(value); } + inline KubernetesMetadata& WithLocalServiceName(const Aws::String& value) { SetLocalServiceName(value); return *this;} + inline KubernetesMetadata& WithLocalServiceName(Aws::String&& value) { SetLocalServiceName(std::move(value)); return *this;} + inline KubernetesMetadata& WithLocalServiceName(const char* value) { SetLocalServiceName(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the pod for a local resource.

        + */ + inline const Aws::String& GetLocalPodName() const{ return m_localPodName; } + inline bool LocalPodNameHasBeenSet() const { return m_localPodNameHasBeenSet; } + inline void SetLocalPodName(const Aws::String& value) { m_localPodNameHasBeenSet = true; m_localPodName = value; } + inline void SetLocalPodName(Aws::String&& value) { m_localPodNameHasBeenSet = true; m_localPodName = std::move(value); } + inline void SetLocalPodName(const char* value) { m_localPodNameHasBeenSet = true; m_localPodName.assign(value); } + inline KubernetesMetadata& WithLocalPodName(const Aws::String& value) { SetLocalPodName(value); return *this;} + inline KubernetesMetadata& WithLocalPodName(Aws::String&& value) { SetLocalPodName(std::move(value)); return *this;} + inline KubernetesMetadata& WithLocalPodName(const char* value) { SetLocalPodName(value); return *this;} + ///@} + + ///@{ + /** + *

        The namespace of the pod for a local resource.

        + */ + inline const Aws::String& GetLocalPodNamespace() const{ return m_localPodNamespace; } + inline bool LocalPodNamespaceHasBeenSet() const { return m_localPodNamespaceHasBeenSet; } + inline void SetLocalPodNamespace(const Aws::String& value) { m_localPodNamespaceHasBeenSet = true; m_localPodNamespace = value; } + inline void SetLocalPodNamespace(Aws::String&& value) { m_localPodNamespaceHasBeenSet = true; m_localPodNamespace = std::move(value); } + inline void SetLocalPodNamespace(const char* value) { m_localPodNamespaceHasBeenSet = true; m_localPodNamespace.assign(value); } + inline KubernetesMetadata& WithLocalPodNamespace(const Aws::String& value) { SetLocalPodNamespace(value); return *this;} + inline KubernetesMetadata& WithLocalPodNamespace(Aws::String&& value) { SetLocalPodNamespace(std::move(value)); return *this;} + inline KubernetesMetadata& WithLocalPodNamespace(const char* value) { SetLocalPodNamespace(value); return *this;} + ///@} + + ///@{ + /** + *

        The service name for a remote resource.

        + */ + inline const Aws::String& GetRemoteServiceName() const{ return m_remoteServiceName; } + inline bool RemoteServiceNameHasBeenSet() const { return m_remoteServiceNameHasBeenSet; } + inline void SetRemoteServiceName(const Aws::String& value) { m_remoteServiceNameHasBeenSet = true; m_remoteServiceName = value; } + inline void SetRemoteServiceName(Aws::String&& value) { m_remoteServiceNameHasBeenSet = true; m_remoteServiceName = std::move(value); } + inline void SetRemoteServiceName(const char* value) { m_remoteServiceNameHasBeenSet = true; m_remoteServiceName.assign(value); } + inline KubernetesMetadata& WithRemoteServiceName(const Aws::String& value) { SetRemoteServiceName(value); return *this;} + inline KubernetesMetadata& WithRemoteServiceName(Aws::String&& value) { SetRemoteServiceName(std::move(value)); return *this;} + inline KubernetesMetadata& WithRemoteServiceName(const char* value) { SetRemoteServiceName(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the pod for a remote resource.

        + */ + inline const Aws::String& GetRemotePodName() const{ return m_remotePodName; } + inline bool RemotePodNameHasBeenSet() const { return m_remotePodNameHasBeenSet; } + inline void SetRemotePodName(const Aws::String& value) { m_remotePodNameHasBeenSet = true; m_remotePodName = value; } + inline void SetRemotePodName(Aws::String&& value) { m_remotePodNameHasBeenSet = true; m_remotePodName = std::move(value); } + inline void SetRemotePodName(const char* value) { m_remotePodNameHasBeenSet = true; m_remotePodName.assign(value); } + inline KubernetesMetadata& WithRemotePodName(const Aws::String& value) { SetRemotePodName(value); return *this;} + inline KubernetesMetadata& WithRemotePodName(Aws::String&& value) { SetRemotePodName(std::move(value)); return *this;} + inline KubernetesMetadata& WithRemotePodName(const char* value) { SetRemotePodName(value); return *this;} + ///@} + + ///@{ + /** + *

        The namespace of the pod for a remote resource.

        + */ + inline const Aws::String& GetRemotePodNamespace() const{ return m_remotePodNamespace; } + inline bool RemotePodNamespaceHasBeenSet() const { return m_remotePodNamespaceHasBeenSet; } + inline void SetRemotePodNamespace(const Aws::String& value) { m_remotePodNamespaceHasBeenSet = true; m_remotePodNamespace = value; } + inline void SetRemotePodNamespace(Aws::String&& value) { m_remotePodNamespaceHasBeenSet = true; m_remotePodNamespace = std::move(value); } + inline void SetRemotePodNamespace(const char* value) { m_remotePodNamespaceHasBeenSet = true; m_remotePodNamespace.assign(value); } + inline KubernetesMetadata& WithRemotePodNamespace(const Aws::String& value) { SetRemotePodNamespace(value); return *this;} + inline KubernetesMetadata& WithRemotePodNamespace(Aws::String&& value) { SetRemotePodNamespace(std::move(value)); return *this;} + inline KubernetesMetadata& WithRemotePodNamespace(const char* value) { SetRemotePodNamespace(value); return *this;} + ///@} + private: + + Aws::String m_localServiceName; + bool m_localServiceNameHasBeenSet = false; + + Aws::String m_localPodName; + bool m_localPodNameHasBeenSet = false; + + Aws::String m_localPodNamespace; + bool m_localPodNamespaceHasBeenSet = false; + + Aws::String m_remoteServiceName; + bool m_remoteServiceNameHasBeenSet = false; + + Aws::String m_remotePodName; + bool m_remotePodNameHasBeenSet = false; + + Aws::String m_remotePodNamespace; + bool m_remotePodNamespaceHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListMonitorsRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListMonitorsRequest.h new file mode 100644 index 00000000000..79f49de99bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListMonitorsRequest.h @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class ListMonitorsRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API ListMonitorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListMonitors"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + AWS_NETWORKFLOWMONITOR_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The token for the next set of results. You receive this token from a previous + * call.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListMonitorsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListMonitorsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListMonitorsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The number of query results that you want to return with this call.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListMonitorsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of a monitor. The status can be one of the following

        • + *

          PENDING: The monitor is in the process of being created.

          + *
        • ACTIVE: The monitor is active.

        • + * INACTIVE: The monitor is inactive.

        • + * ERROR: Monitor creation failed due to an error.

        • + * DELETING: The monitor is in the process of being deleted.

        • + *
        + */ + inline const MonitorStatus& GetMonitorStatus() const{ return m_monitorStatus; } + inline bool MonitorStatusHasBeenSet() const { return m_monitorStatusHasBeenSet; } + inline void SetMonitorStatus(const MonitorStatus& value) { m_monitorStatusHasBeenSet = true; m_monitorStatus = value; } + inline void SetMonitorStatus(MonitorStatus&& value) { m_monitorStatusHasBeenSet = true; m_monitorStatus = std::move(value); } + inline ListMonitorsRequest& WithMonitorStatus(const MonitorStatus& value) { SetMonitorStatus(value); return *this;} + inline ListMonitorsRequest& WithMonitorStatus(MonitorStatus&& value) { SetMonitorStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + MonitorStatus m_monitorStatus; + bool m_monitorStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListMonitorsResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListMonitorsResult.h new file mode 100644 index 00000000000..80bb9ecef57 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListMonitorsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class ListMonitorsResult + { + public: + AWS_NETWORKFLOWMONITOR_API ListMonitorsResult(); + AWS_NETWORKFLOWMONITOR_API ListMonitorsResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API ListMonitorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The monitors that are in an account.

        + */ + inline const Aws::Vector& GetMonitors() const{ return m_monitors; } + inline void SetMonitors(const Aws::Vector& value) { m_monitors = value; } + inline void SetMonitors(Aws::Vector&& value) { m_monitors = std::move(value); } + inline ListMonitorsResult& WithMonitors(const Aws::Vector& value) { SetMonitors(value); return *this;} + inline ListMonitorsResult& WithMonitors(Aws::Vector&& value) { SetMonitors(std::move(value)); return *this;} + inline ListMonitorsResult& AddMonitors(const MonitorSummary& value) { m_monitors.push_back(value); return *this; } + inline ListMonitorsResult& AddMonitors(MonitorSummary&& value) { m_monitors.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The token for the next set of results. You receive this token from a previous + * call.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListMonitorsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListMonitorsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListMonitorsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListMonitorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListMonitorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListMonitorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_monitors; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListScopesRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListScopesRequest.h new file mode 100644 index 00000000000..41408c826e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListScopesRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class ListScopesRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API ListScopesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListScopes"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + AWS_NETWORKFLOWMONITOR_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The token for the next set of results. You receive this token from a previous + * call.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListScopesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListScopesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListScopesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The number of query results that you want to return with this call.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListScopesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListScopesResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListScopesResult.h new file mode 100644 index 00000000000..39a6c8e5cab --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListScopesResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class ListScopesResult + { + public: + AWS_NETWORKFLOWMONITOR_API ListScopesResult(); + AWS_NETWORKFLOWMONITOR_API ListScopesResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API ListScopesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The scopes returned by the call.

        + */ + inline const Aws::Vector& GetScopes() const{ return m_scopes; } + inline void SetScopes(const Aws::Vector& value) { m_scopes = value; } + inline void SetScopes(Aws::Vector&& value) { m_scopes = std::move(value); } + inline ListScopesResult& WithScopes(const Aws::Vector& value) { SetScopes(value); return *this;} + inline ListScopesResult& WithScopes(Aws::Vector&& value) { SetScopes(std::move(value)); return *this;} + inline ListScopesResult& AddScopes(const ScopeSummary& value) { m_scopes.push_back(value); return *this; } + inline ListScopesResult& AddScopes(ScopeSummary&& value) { m_scopes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The token for the next set of results. You receive this token from a previous + * call.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListScopesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListScopesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListScopesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListScopesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListScopesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListScopesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_scopes; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..2d132e79a17 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListTagsForResourceRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API ListTagsForResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource.

        + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..69c7858a97b --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ListTagsForResourceResult.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_NETWORKFLOWMONITOR_API ListTagsForResourceResult(); + AWS_NETWORKFLOWMONITOR_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The tags for a resource.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline ListTagsForResourceResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline ListTagsForResourceResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline ListTagsForResourceResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline ListTagsForResourceResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline ListTagsForResourceResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline ListTagsForResourceResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline ListTagsForResourceResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline ListTagsForResourceResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline ListTagsForResourceResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListTagsForResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListTagsForResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListTagsForResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MetricUnit.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MetricUnit.h new file mode 100644 index 00000000000..b6005a1ffda --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MetricUnit.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + enum class MetricUnit + { + NOT_SET, + Seconds, + Microseconds, + Milliseconds, + Bytes, + Kilobytes, + Megabytes, + Gigabytes, + Terabytes, + Bits, + Kilobits, + Megabits, + Gigabits, + Terabits, + Percent, + Count, + Bytes_Second, + Kilobytes_Second, + Megabytes_Second, + Gigabytes_Second, + Terabytes_Second, + Bits_Second, + Kilobits_Second, + Megabits_Second, + Gigabits_Second, + Terabits_Second, + Count_Second, + None + }; + +namespace MetricUnitMapper +{ +AWS_NETWORKFLOWMONITOR_API MetricUnit GetMetricUnitForName(const Aws::String& name); + +AWS_NETWORKFLOWMONITOR_API Aws::String GetNameForMetricUnit(MetricUnit value); +} // namespace MetricUnitMapper +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorLocalResource.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorLocalResource.h new file mode 100644 index 00000000000..b43db8f5c77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorLocalResource.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        A local resource is the host where the agent is installed. Local resources + * can be a a subnet, a VPC, or an Availability Zone.

        See Also:

        AWS + * API Reference

        + */ + class MonitorLocalResource + { + public: + AWS_NETWORKFLOWMONITOR_API MonitorLocalResource(); + AWS_NETWORKFLOWMONITOR_API MonitorLocalResource(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API MonitorLocalResource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The type of the local resource. Valid values are AWS::EC2::VPC + * AWS::AvailabilityZone or AWS::EC2::Subnet.

        + */ + inline const MonitorLocalResourceType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const MonitorLocalResourceType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(MonitorLocalResourceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline MonitorLocalResource& WithType(const MonitorLocalResourceType& value) { SetType(value); return *this;} + inline MonitorLocalResource& WithType(MonitorLocalResourceType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The identifier of the local resource, such as an ARN.

        + */ + inline const Aws::String& GetIdentifier() const{ return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + inline void SetIdentifier(const Aws::String& value) { m_identifierHasBeenSet = true; m_identifier = value; } + inline void SetIdentifier(Aws::String&& value) { m_identifierHasBeenSet = true; m_identifier = std::move(value); } + inline void SetIdentifier(const char* value) { m_identifierHasBeenSet = true; m_identifier.assign(value); } + inline MonitorLocalResource& WithIdentifier(const Aws::String& value) { SetIdentifier(value); return *this;} + inline MonitorLocalResource& WithIdentifier(Aws::String&& value) { SetIdentifier(std::move(value)); return *this;} + inline MonitorLocalResource& WithIdentifier(const char* value) { SetIdentifier(value); return *this;} + ///@} + private: + + MonitorLocalResourceType m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorLocalResourceType.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorLocalResourceType.h new file mode 100644 index 00000000000..604c6408d19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorLocalResourceType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + enum class MonitorLocalResourceType + { + NOT_SET, + AWS_EC2_VPC, + AWS_AvailabilityZone, + AWS_EC2_Subnet + }; + +namespace MonitorLocalResourceTypeMapper +{ +AWS_NETWORKFLOWMONITOR_API MonitorLocalResourceType GetMonitorLocalResourceTypeForName(const Aws::String& name); + +AWS_NETWORKFLOWMONITOR_API Aws::String GetNameForMonitorLocalResourceType(MonitorLocalResourceType value); +} // namespace MonitorLocalResourceTypeMapper +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorMetric.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorMetric.h new file mode 100644 index 00000000000..fe427cc49f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorMetric.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + enum class MonitorMetric + { + NOT_SET, + ROUND_TRIP_TIME, + TIMEOUTS, + RETRANSMISSIONS, + DATA_TRANSFERRED + }; + +namespace MonitorMetricMapper +{ +AWS_NETWORKFLOWMONITOR_API MonitorMetric GetMonitorMetricForName(const Aws::String& name); + +AWS_NETWORKFLOWMONITOR_API Aws::String GetNameForMonitorMetric(MonitorMetric value); +} // namespace MonitorMetricMapper +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorRemoteResource.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorRemoteResource.h new file mode 100644 index 00000000000..b6d5c93eb80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorRemoteResource.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        A remote resource is the other endpoint in a network flow. That is, one + * endpoint is the local resource and the other is the remote resource. Remote + * resources can be a a subnet, a VPC, an Availability Zone, or an Amazon Web + * Services service.

        See Also:

        AWS + * API Reference

        + */ + class MonitorRemoteResource + { + public: + AWS_NETWORKFLOWMONITOR_API MonitorRemoteResource(); + AWS_NETWORKFLOWMONITOR_API MonitorRemoteResource(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API MonitorRemoteResource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The type of the remote resource. Valid values are AWS::EC2::VPC + * AWS::AvailabilityZone, AWS::EC2::Subnet, or + * AWS::AWSService.

        + */ + inline const MonitorRemoteResourceType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const MonitorRemoteResourceType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(MonitorRemoteResourceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline MonitorRemoteResource& WithType(const MonitorRemoteResourceType& value) { SetType(value); return *this;} + inline MonitorRemoteResource& WithType(MonitorRemoteResourceType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The identifier of the remote resource, such as an ARN.

        + */ + inline const Aws::String& GetIdentifier() const{ return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + inline void SetIdentifier(const Aws::String& value) { m_identifierHasBeenSet = true; m_identifier = value; } + inline void SetIdentifier(Aws::String&& value) { m_identifierHasBeenSet = true; m_identifier = std::move(value); } + inline void SetIdentifier(const char* value) { m_identifierHasBeenSet = true; m_identifier.assign(value); } + inline MonitorRemoteResource& WithIdentifier(const Aws::String& value) { SetIdentifier(value); return *this;} + inline MonitorRemoteResource& WithIdentifier(Aws::String&& value) { SetIdentifier(std::move(value)); return *this;} + inline MonitorRemoteResource& WithIdentifier(const char* value) { SetIdentifier(value); return *this;} + ///@} + private: + + MonitorRemoteResourceType m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorRemoteResourceType.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorRemoteResourceType.h new file mode 100644 index 00000000000..e74033a409e --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorRemoteResourceType.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + enum class MonitorRemoteResourceType + { + NOT_SET, + AWS_EC2_VPC, + AWS_AvailabilityZone, + AWS_EC2_Subnet, + AWS_AWSService + }; + +namespace MonitorRemoteResourceTypeMapper +{ +AWS_NETWORKFLOWMONITOR_API MonitorRemoteResourceType GetMonitorRemoteResourceTypeForName(const Aws::String& name); + +AWS_NETWORKFLOWMONITOR_API Aws::String GetNameForMonitorRemoteResourceType(MonitorRemoteResourceType value); +} // namespace MonitorRemoteResourceTypeMapper +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorStatus.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorStatus.h new file mode 100644 index 00000000000..610f6e1f01e --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorStatus.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + enum class MonitorStatus + { + NOT_SET, + PENDING, + ACTIVE, + INACTIVE, + ERROR_, + DELETING + }; + +namespace MonitorStatusMapper +{ +AWS_NETWORKFLOWMONITOR_API MonitorStatus GetMonitorStatusForName(const Aws::String& name); + +AWS_NETWORKFLOWMONITOR_API Aws::String GetNameForMonitorStatus(MonitorStatus value); +} // namespace MonitorStatusMapper +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorSummary.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorSummary.h new file mode 100644 index 00000000000..680f32574f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorSummary.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        A summary of information about a monitor, includ the ARN, the name, and the + * status.

        See Also:

        AWS + * API Reference

        + */ + class MonitorSummary + { + public: + AWS_NETWORKFLOWMONITOR_API MonitorSummary(); + AWS_NETWORKFLOWMONITOR_API MonitorSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API MonitorSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the monitor.

        + */ + inline const Aws::String& GetMonitorArn() const{ return m_monitorArn; } + inline bool MonitorArnHasBeenSet() const { return m_monitorArnHasBeenSet; } + inline void SetMonitorArn(const Aws::String& value) { m_monitorArnHasBeenSet = true; m_monitorArn = value; } + inline void SetMonitorArn(Aws::String&& value) { m_monitorArnHasBeenSet = true; m_monitorArn = std::move(value); } + inline void SetMonitorArn(const char* value) { m_monitorArnHasBeenSet = true; m_monitorArn.assign(value); } + inline MonitorSummary& WithMonitorArn(const Aws::String& value) { SetMonitorArn(value); return *this;} + inline MonitorSummary& WithMonitorArn(Aws::String&& value) { SetMonitorArn(std::move(value)); return *this;} + inline MonitorSummary& WithMonitorArn(const char* value) { SetMonitorArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the monitor.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline bool MonitorNameHasBeenSet() const { return m_monitorNameHasBeenSet; } + inline void SetMonitorName(const Aws::String& value) { m_monitorNameHasBeenSet = true; m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorNameHasBeenSet = true; m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorNameHasBeenSet = true; m_monitorName.assign(value); } + inline MonitorSummary& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline MonitorSummary& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline MonitorSummary& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of a monitor. The status can be one of the following

        • + *

          PENDING: The monitor is in the process of being created.

          + *
        • ACTIVE: The monitor is active.

        • + * INACTIVE: The monitor is inactive.

        • + * ERROR: Monitor creation failed due to an error.

        • + * DELETING: The monitor is in the process of being deleted.

        • + *
        + */ + inline const MonitorStatus& GetMonitorStatus() const{ return m_monitorStatus; } + inline bool MonitorStatusHasBeenSet() const { return m_monitorStatusHasBeenSet; } + inline void SetMonitorStatus(const MonitorStatus& value) { m_monitorStatusHasBeenSet = true; m_monitorStatus = value; } + inline void SetMonitorStatus(MonitorStatus&& value) { m_monitorStatusHasBeenSet = true; m_monitorStatus = std::move(value); } + inline MonitorSummary& WithMonitorStatus(const MonitorStatus& value) { SetMonitorStatus(value); return *this;} + inline MonitorSummary& WithMonitorStatus(MonitorStatus&& value) { SetMonitorStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_monitorArn; + bool m_monitorArnHasBeenSet = false; + + Aws::String m_monitorName; + bool m_monitorNameHasBeenSet = false; + + MonitorStatus m_monitorStatus; + bool m_monitorStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorTopContributorsRow.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorTopContributorsRow.h new file mode 100644 index 00000000000..e07b24c5745 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/MonitorTopContributorsRow.h @@ -0,0 +1,480 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        A set of information for a top contributor network flow in a monitor. In a + * monitor, Network Flow Monitor returns information about the network flows for + * top contributors for each metric. Top contributors are network flows with the + * top values for each metric type.

        See Also:

        AWS + * API Reference

        + */ + class MonitorTopContributorsRow + { + public: + AWS_NETWORKFLOWMONITOR_API MonitorTopContributorsRow(); + AWS_NETWORKFLOWMONITOR_API MonitorTopContributorsRow(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API MonitorTopContributorsRow& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The IP address of the local resource for a top contributor network flow.

        + */ + inline const Aws::String& GetLocalIp() const{ return m_localIp; } + inline bool LocalIpHasBeenSet() const { return m_localIpHasBeenSet; } + inline void SetLocalIp(const Aws::String& value) { m_localIpHasBeenSet = true; m_localIp = value; } + inline void SetLocalIp(Aws::String&& value) { m_localIpHasBeenSet = true; m_localIp = std::move(value); } + inline void SetLocalIp(const char* value) { m_localIpHasBeenSet = true; m_localIp.assign(value); } + inline MonitorTopContributorsRow& WithLocalIp(const Aws::String& value) { SetLocalIp(value); return *this;} + inline MonitorTopContributorsRow& WithLocalIp(Aws::String&& value) { SetLocalIp(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithLocalIp(const char* value) { SetLocalIp(value); return *this;} + ///@} + + ///@{ + /** + *

        The secure network address translation (SNAT) IP address for a top + * contributor network flow.

        + */ + inline const Aws::String& GetSnatIp() const{ return m_snatIp; } + inline bool SnatIpHasBeenSet() const { return m_snatIpHasBeenSet; } + inline void SetSnatIp(const Aws::String& value) { m_snatIpHasBeenSet = true; m_snatIp = value; } + inline void SetSnatIp(Aws::String&& value) { m_snatIpHasBeenSet = true; m_snatIp = std::move(value); } + inline void SetSnatIp(const char* value) { m_snatIpHasBeenSet = true; m_snatIp.assign(value); } + inline MonitorTopContributorsRow& WithSnatIp(const Aws::String& value) { SetSnatIp(value); return *this;} + inline MonitorTopContributorsRow& WithSnatIp(Aws::String&& value) { SetSnatIp(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithSnatIp(const char* value) { SetSnatIp(value); return *this;} + ///@} + + ///@{ + /** + *

        The instance identifier for the local resource for a top contributor network + * flow.

        + */ + inline const Aws::String& GetLocalInstanceId() const{ return m_localInstanceId; } + inline bool LocalInstanceIdHasBeenSet() const { return m_localInstanceIdHasBeenSet; } + inline void SetLocalInstanceId(const Aws::String& value) { m_localInstanceIdHasBeenSet = true; m_localInstanceId = value; } + inline void SetLocalInstanceId(Aws::String&& value) { m_localInstanceIdHasBeenSet = true; m_localInstanceId = std::move(value); } + inline void SetLocalInstanceId(const char* value) { m_localInstanceIdHasBeenSet = true; m_localInstanceId.assign(value); } + inline MonitorTopContributorsRow& WithLocalInstanceId(const Aws::String& value) { SetLocalInstanceId(value); return *this;} + inline MonitorTopContributorsRow& WithLocalInstanceId(Aws::String&& value) { SetLocalInstanceId(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithLocalInstanceId(const char* value) { SetLocalInstanceId(value); return *this;} + ///@} + + ///@{ + /** + *

        The VPC ID for a top contributor network flow for the local resource.

        + */ + inline const Aws::String& GetLocalVpcId() const{ return m_localVpcId; } + inline bool LocalVpcIdHasBeenSet() const { return m_localVpcIdHasBeenSet; } + inline void SetLocalVpcId(const Aws::String& value) { m_localVpcIdHasBeenSet = true; m_localVpcId = value; } + inline void SetLocalVpcId(Aws::String&& value) { m_localVpcIdHasBeenSet = true; m_localVpcId = std::move(value); } + inline void SetLocalVpcId(const char* value) { m_localVpcIdHasBeenSet = true; m_localVpcId.assign(value); } + inline MonitorTopContributorsRow& WithLocalVpcId(const Aws::String& value) { SetLocalVpcId(value); return *this;} + inline MonitorTopContributorsRow& WithLocalVpcId(Aws::String&& value) { SetLocalVpcId(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithLocalVpcId(const char* value) { SetLocalVpcId(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Web Services Region for the local resource for a top contributor + * network flow.

        + */ + inline const Aws::String& GetLocalRegion() const{ return m_localRegion; } + inline bool LocalRegionHasBeenSet() const { return m_localRegionHasBeenSet; } + inline void SetLocalRegion(const Aws::String& value) { m_localRegionHasBeenSet = true; m_localRegion = value; } + inline void SetLocalRegion(Aws::String&& value) { m_localRegionHasBeenSet = true; m_localRegion = std::move(value); } + inline void SetLocalRegion(const char* value) { m_localRegionHasBeenSet = true; m_localRegion.assign(value); } + inline MonitorTopContributorsRow& WithLocalRegion(const Aws::String& value) { SetLocalRegion(value); return *this;} + inline MonitorTopContributorsRow& WithLocalRegion(Aws::String&& value) { SetLocalRegion(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithLocalRegion(const char* value) { SetLocalRegion(value); return *this;} + ///@} + + ///@{ + /** + *

        The Availability Zone for the local resource for a top contributor network + * flow.

        + */ + inline const Aws::String& GetLocalAz() const{ return m_localAz; } + inline bool LocalAzHasBeenSet() const { return m_localAzHasBeenSet; } + inline void SetLocalAz(const Aws::String& value) { m_localAzHasBeenSet = true; m_localAz = value; } + inline void SetLocalAz(Aws::String&& value) { m_localAzHasBeenSet = true; m_localAz = std::move(value); } + inline void SetLocalAz(const char* value) { m_localAzHasBeenSet = true; m_localAz.assign(value); } + inline MonitorTopContributorsRow& WithLocalAz(const Aws::String& value) { SetLocalAz(value); return *this;} + inline MonitorTopContributorsRow& WithLocalAz(Aws::String&& value) { SetLocalAz(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithLocalAz(const char* value) { SetLocalAz(value); return *this;} + ///@} + + ///@{ + /** + *

        The subnet ID for the local resource for a top contributor network flow.

        + */ + inline const Aws::String& GetLocalSubnetId() const{ return m_localSubnetId; } + inline bool LocalSubnetIdHasBeenSet() const { return m_localSubnetIdHasBeenSet; } + inline void SetLocalSubnetId(const Aws::String& value) { m_localSubnetIdHasBeenSet = true; m_localSubnetId = value; } + inline void SetLocalSubnetId(Aws::String&& value) { m_localSubnetIdHasBeenSet = true; m_localSubnetId = std::move(value); } + inline void SetLocalSubnetId(const char* value) { m_localSubnetIdHasBeenSet = true; m_localSubnetId.assign(value); } + inline MonitorTopContributorsRow& WithLocalSubnetId(const Aws::String& value) { SetLocalSubnetId(value); return *this;} + inline MonitorTopContributorsRow& WithLocalSubnetId(Aws::String&& value) { SetLocalSubnetId(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithLocalSubnetId(const char* value) { SetLocalSubnetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The target port.

        + */ + inline int GetTargetPort() const{ return m_targetPort; } + inline bool TargetPortHasBeenSet() const { return m_targetPortHasBeenSet; } + inline void SetTargetPort(int value) { m_targetPortHasBeenSet = true; m_targetPort = value; } + inline MonitorTopContributorsRow& WithTargetPort(int value) { SetTargetPort(value); return *this;} + ///@} + + ///@{ + /** + *

        The destination category for a top contributors row. Destination categories + * can be one of the following:

        • INTRA_AZ: Top + * contributor network flows within a single Availability Zone

        • + * INTER_AZ: Top contributor network flows between Availability + * Zones

        • INTER_VPC: Top contributor network flows + * between VPCs

        • AWS_SERVICES: Top contributor + * network flows to or from Amazon Web Services services

        • + * UNCLASSIFIED: Top contributor network flows that do not have a + * bucket classification

        + */ + inline const DestinationCategory& GetDestinationCategory() const{ return m_destinationCategory; } + inline bool DestinationCategoryHasBeenSet() const { return m_destinationCategoryHasBeenSet; } + inline void SetDestinationCategory(const DestinationCategory& value) { m_destinationCategoryHasBeenSet = true; m_destinationCategory = value; } + inline void SetDestinationCategory(DestinationCategory&& value) { m_destinationCategoryHasBeenSet = true; m_destinationCategory = std::move(value); } + inline MonitorTopContributorsRow& WithDestinationCategory(const DestinationCategory& value) { SetDestinationCategory(value); return *this;} + inline MonitorTopContributorsRow& WithDestinationCategory(DestinationCategory&& value) { SetDestinationCategory(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The VPC ID for a top contributor network flow for the remote resource.

        + */ + inline const Aws::String& GetRemoteVpcId() const{ return m_remoteVpcId; } + inline bool RemoteVpcIdHasBeenSet() const { return m_remoteVpcIdHasBeenSet; } + inline void SetRemoteVpcId(const Aws::String& value) { m_remoteVpcIdHasBeenSet = true; m_remoteVpcId = value; } + inline void SetRemoteVpcId(Aws::String&& value) { m_remoteVpcIdHasBeenSet = true; m_remoteVpcId = std::move(value); } + inline void SetRemoteVpcId(const char* value) { m_remoteVpcIdHasBeenSet = true; m_remoteVpcId.assign(value); } + inline MonitorTopContributorsRow& WithRemoteVpcId(const Aws::String& value) { SetRemoteVpcId(value); return *this;} + inline MonitorTopContributorsRow& WithRemoteVpcId(Aws::String&& value) { SetRemoteVpcId(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithRemoteVpcId(const char* value) { SetRemoteVpcId(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Web Services Region for the remote resource for a top contributor + * network flow.

        + */ + inline const Aws::String& GetRemoteRegion() const{ return m_remoteRegion; } + inline bool RemoteRegionHasBeenSet() const { return m_remoteRegionHasBeenSet; } + inline void SetRemoteRegion(const Aws::String& value) { m_remoteRegionHasBeenSet = true; m_remoteRegion = value; } + inline void SetRemoteRegion(Aws::String&& value) { m_remoteRegionHasBeenSet = true; m_remoteRegion = std::move(value); } + inline void SetRemoteRegion(const char* value) { m_remoteRegionHasBeenSet = true; m_remoteRegion.assign(value); } + inline MonitorTopContributorsRow& WithRemoteRegion(const Aws::String& value) { SetRemoteRegion(value); return *this;} + inline MonitorTopContributorsRow& WithRemoteRegion(Aws::String&& value) { SetRemoteRegion(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithRemoteRegion(const char* value) { SetRemoteRegion(value); return *this;} + ///@} + + ///@{ + /** + *

        The Availability Zone for the remote resource for a top contributor network + * flow.

        + */ + inline const Aws::String& GetRemoteAz() const{ return m_remoteAz; } + inline bool RemoteAzHasBeenSet() const { return m_remoteAzHasBeenSet; } + inline void SetRemoteAz(const Aws::String& value) { m_remoteAzHasBeenSet = true; m_remoteAz = value; } + inline void SetRemoteAz(Aws::String&& value) { m_remoteAzHasBeenSet = true; m_remoteAz = std::move(value); } + inline void SetRemoteAz(const char* value) { m_remoteAzHasBeenSet = true; m_remoteAz.assign(value); } + inline MonitorTopContributorsRow& WithRemoteAz(const Aws::String& value) { SetRemoteAz(value); return *this;} + inline MonitorTopContributorsRow& WithRemoteAz(Aws::String&& value) { SetRemoteAz(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithRemoteAz(const char* value) { SetRemoteAz(value); return *this;} + ///@} + + ///@{ + /** + *

        The subnet ID for the remote resource for a top contributor network flow.

        + */ + inline const Aws::String& GetRemoteSubnetId() const{ return m_remoteSubnetId; } + inline bool RemoteSubnetIdHasBeenSet() const { return m_remoteSubnetIdHasBeenSet; } + inline void SetRemoteSubnetId(const Aws::String& value) { m_remoteSubnetIdHasBeenSet = true; m_remoteSubnetId = value; } + inline void SetRemoteSubnetId(Aws::String&& value) { m_remoteSubnetIdHasBeenSet = true; m_remoteSubnetId = std::move(value); } + inline void SetRemoteSubnetId(const char* value) { m_remoteSubnetIdHasBeenSet = true; m_remoteSubnetId.assign(value); } + inline MonitorTopContributorsRow& WithRemoteSubnetId(const Aws::String& value) { SetRemoteSubnetId(value); return *this;} + inline MonitorTopContributorsRow& WithRemoteSubnetId(Aws::String&& value) { SetRemoteSubnetId(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithRemoteSubnetId(const char* value) { SetRemoteSubnetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The instance identifier for the remote resource for a top contributor network + * flow.

        + */ + inline const Aws::String& GetRemoteInstanceId() const{ return m_remoteInstanceId; } + inline bool RemoteInstanceIdHasBeenSet() const { return m_remoteInstanceIdHasBeenSet; } + inline void SetRemoteInstanceId(const Aws::String& value) { m_remoteInstanceIdHasBeenSet = true; m_remoteInstanceId = value; } + inline void SetRemoteInstanceId(Aws::String&& value) { m_remoteInstanceIdHasBeenSet = true; m_remoteInstanceId = std::move(value); } + inline void SetRemoteInstanceId(const char* value) { m_remoteInstanceIdHasBeenSet = true; m_remoteInstanceId.assign(value); } + inline MonitorTopContributorsRow& WithRemoteInstanceId(const Aws::String& value) { SetRemoteInstanceId(value); return *this;} + inline MonitorTopContributorsRow& WithRemoteInstanceId(Aws::String&& value) { SetRemoteInstanceId(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithRemoteInstanceId(const char* value) { SetRemoteInstanceId(value); return *this;} + ///@} + + ///@{ + /** + *

        The IP address of the remote resource for a top contributor network flow.

        + */ + inline const Aws::String& GetRemoteIp() const{ return m_remoteIp; } + inline bool RemoteIpHasBeenSet() const { return m_remoteIpHasBeenSet; } + inline void SetRemoteIp(const Aws::String& value) { m_remoteIpHasBeenSet = true; m_remoteIp = value; } + inline void SetRemoteIp(Aws::String&& value) { m_remoteIpHasBeenSet = true; m_remoteIp = std::move(value); } + inline void SetRemoteIp(const char* value) { m_remoteIpHasBeenSet = true; m_remoteIp.assign(value); } + inline MonitorTopContributorsRow& WithRemoteIp(const Aws::String& value) { SetRemoteIp(value); return *this;} + inline MonitorTopContributorsRow& WithRemoteIp(Aws::String&& value) { SetRemoteIp(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithRemoteIp(const char* value) { SetRemoteIp(value); return *this;} + ///@} + + ///@{ + /** + *

        The destination network address translation (DNAT) IP address for a top + * contributor network flow.

        + */ + inline const Aws::String& GetDnatIp() const{ return m_dnatIp; } + inline bool DnatIpHasBeenSet() const { return m_dnatIpHasBeenSet; } + inline void SetDnatIp(const Aws::String& value) { m_dnatIpHasBeenSet = true; m_dnatIp = value; } + inline void SetDnatIp(Aws::String&& value) { m_dnatIpHasBeenSet = true; m_dnatIp = std::move(value); } + inline void SetDnatIp(const char* value) { m_dnatIpHasBeenSet = true; m_dnatIp.assign(value); } + inline MonitorTopContributorsRow& WithDnatIp(const Aws::String& value) { SetDnatIp(value); return *this;} + inline MonitorTopContributorsRow& WithDnatIp(Aws::String&& value) { SetDnatIp(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithDnatIp(const char* value) { SetDnatIp(value); return *this;} + ///@} + + ///@{ + /** + *

        The value of the metric for a top contributor network flow.

        + */ + inline long long GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(long long value) { m_valueHasBeenSet = true; m_value = value; } + inline MonitorTopContributorsRow& WithValue(long long value) { SetValue(value); return *this;} + ///@} + + ///@{ + /** + *

        The constructs traversed by a network flow.

        + */ + inline const Aws::Vector& GetTraversedConstructs() const{ return m_traversedConstructs; } + inline bool TraversedConstructsHasBeenSet() const { return m_traversedConstructsHasBeenSet; } + inline void SetTraversedConstructs(const Aws::Vector& value) { m_traversedConstructsHasBeenSet = true; m_traversedConstructs = value; } + inline void SetTraversedConstructs(Aws::Vector&& value) { m_traversedConstructsHasBeenSet = true; m_traversedConstructs = std::move(value); } + inline MonitorTopContributorsRow& WithTraversedConstructs(const Aws::Vector& value) { SetTraversedConstructs(value); return *this;} + inline MonitorTopContributorsRow& WithTraversedConstructs(Aws::Vector&& value) { SetTraversedConstructs(std::move(value)); return *this;} + inline MonitorTopContributorsRow& AddTraversedConstructs(const TraversedComponent& value) { m_traversedConstructsHasBeenSet = true; m_traversedConstructs.push_back(value); return *this; } + inline MonitorTopContributorsRow& AddTraversedConstructs(TraversedComponent&& value) { m_traversedConstructsHasBeenSet = true; m_traversedConstructs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Meta data about Kubernetes resources.

        + */ + inline const KubernetesMetadata& GetKubernetesMetadata() const{ return m_kubernetesMetadata; } + inline bool KubernetesMetadataHasBeenSet() const { return m_kubernetesMetadataHasBeenSet; } + inline void SetKubernetesMetadata(const KubernetesMetadata& value) { m_kubernetesMetadataHasBeenSet = true; m_kubernetesMetadata = value; } + inline void SetKubernetesMetadata(KubernetesMetadata&& value) { m_kubernetesMetadataHasBeenSet = true; m_kubernetesMetadata = std::move(value); } + inline MonitorTopContributorsRow& WithKubernetesMetadata(const KubernetesMetadata& value) { SetKubernetesMetadata(value); return *this;} + inline MonitorTopContributorsRow& WithKubernetesMetadata(KubernetesMetadata&& value) { SetKubernetesMetadata(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of a local resource.

        + */ + inline const Aws::String& GetLocalInstanceArn() const{ return m_localInstanceArn; } + inline bool LocalInstanceArnHasBeenSet() const { return m_localInstanceArnHasBeenSet; } + inline void SetLocalInstanceArn(const Aws::String& value) { m_localInstanceArnHasBeenSet = true; m_localInstanceArn = value; } + inline void SetLocalInstanceArn(Aws::String&& value) { m_localInstanceArnHasBeenSet = true; m_localInstanceArn = std::move(value); } + inline void SetLocalInstanceArn(const char* value) { m_localInstanceArnHasBeenSet = true; m_localInstanceArn.assign(value); } + inline MonitorTopContributorsRow& WithLocalInstanceArn(const Aws::String& value) { SetLocalInstanceArn(value); return *this;} + inline MonitorTopContributorsRow& WithLocalInstanceArn(Aws::String&& value) { SetLocalInstanceArn(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithLocalInstanceArn(const char* value) { SetLocalInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of a local subnet.

        + */ + inline const Aws::String& GetLocalSubnetArn() const{ return m_localSubnetArn; } + inline bool LocalSubnetArnHasBeenSet() const { return m_localSubnetArnHasBeenSet; } + inline void SetLocalSubnetArn(const Aws::String& value) { m_localSubnetArnHasBeenSet = true; m_localSubnetArn = value; } + inline void SetLocalSubnetArn(Aws::String&& value) { m_localSubnetArnHasBeenSet = true; m_localSubnetArn = std::move(value); } + inline void SetLocalSubnetArn(const char* value) { m_localSubnetArnHasBeenSet = true; m_localSubnetArn.assign(value); } + inline MonitorTopContributorsRow& WithLocalSubnetArn(const Aws::String& value) { SetLocalSubnetArn(value); return *this;} + inline MonitorTopContributorsRow& WithLocalSubnetArn(Aws::String&& value) { SetLocalSubnetArn(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithLocalSubnetArn(const char* value) { SetLocalSubnetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of a local VPC.

        + */ + inline const Aws::String& GetLocalVpcArn() const{ return m_localVpcArn; } + inline bool LocalVpcArnHasBeenSet() const { return m_localVpcArnHasBeenSet; } + inline void SetLocalVpcArn(const Aws::String& value) { m_localVpcArnHasBeenSet = true; m_localVpcArn = value; } + inline void SetLocalVpcArn(Aws::String&& value) { m_localVpcArnHasBeenSet = true; m_localVpcArn = std::move(value); } + inline void SetLocalVpcArn(const char* value) { m_localVpcArnHasBeenSet = true; m_localVpcArn.assign(value); } + inline MonitorTopContributorsRow& WithLocalVpcArn(const Aws::String& value) { SetLocalVpcArn(value); return *this;} + inline MonitorTopContributorsRow& WithLocalVpcArn(Aws::String&& value) { SetLocalVpcArn(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithLocalVpcArn(const char* value) { SetLocalVpcArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of a remote resource.

        + */ + inline const Aws::String& GetRemoteInstanceArn() const{ return m_remoteInstanceArn; } + inline bool RemoteInstanceArnHasBeenSet() const { return m_remoteInstanceArnHasBeenSet; } + inline void SetRemoteInstanceArn(const Aws::String& value) { m_remoteInstanceArnHasBeenSet = true; m_remoteInstanceArn = value; } + inline void SetRemoteInstanceArn(Aws::String&& value) { m_remoteInstanceArnHasBeenSet = true; m_remoteInstanceArn = std::move(value); } + inline void SetRemoteInstanceArn(const char* value) { m_remoteInstanceArnHasBeenSet = true; m_remoteInstanceArn.assign(value); } + inline MonitorTopContributorsRow& WithRemoteInstanceArn(const Aws::String& value) { SetRemoteInstanceArn(value); return *this;} + inline MonitorTopContributorsRow& WithRemoteInstanceArn(Aws::String&& value) { SetRemoteInstanceArn(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithRemoteInstanceArn(const char* value) { SetRemoteInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of a remote subnet.

        + */ + inline const Aws::String& GetRemoteSubnetArn() const{ return m_remoteSubnetArn; } + inline bool RemoteSubnetArnHasBeenSet() const { return m_remoteSubnetArnHasBeenSet; } + inline void SetRemoteSubnetArn(const Aws::String& value) { m_remoteSubnetArnHasBeenSet = true; m_remoteSubnetArn = value; } + inline void SetRemoteSubnetArn(Aws::String&& value) { m_remoteSubnetArnHasBeenSet = true; m_remoteSubnetArn = std::move(value); } + inline void SetRemoteSubnetArn(const char* value) { m_remoteSubnetArnHasBeenSet = true; m_remoteSubnetArn.assign(value); } + inline MonitorTopContributorsRow& WithRemoteSubnetArn(const Aws::String& value) { SetRemoteSubnetArn(value); return *this;} + inline MonitorTopContributorsRow& WithRemoteSubnetArn(Aws::String&& value) { SetRemoteSubnetArn(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithRemoteSubnetArn(const char* value) { SetRemoteSubnetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of a remote VPC.

        + */ + inline const Aws::String& GetRemoteVpcArn() const{ return m_remoteVpcArn; } + inline bool RemoteVpcArnHasBeenSet() const { return m_remoteVpcArnHasBeenSet; } + inline void SetRemoteVpcArn(const Aws::String& value) { m_remoteVpcArnHasBeenSet = true; m_remoteVpcArn = value; } + inline void SetRemoteVpcArn(Aws::String&& value) { m_remoteVpcArnHasBeenSet = true; m_remoteVpcArn = std::move(value); } + inline void SetRemoteVpcArn(const char* value) { m_remoteVpcArnHasBeenSet = true; m_remoteVpcArn.assign(value); } + inline MonitorTopContributorsRow& WithRemoteVpcArn(const Aws::String& value) { SetRemoteVpcArn(value); return *this;} + inline MonitorTopContributorsRow& WithRemoteVpcArn(Aws::String&& value) { SetRemoteVpcArn(std::move(value)); return *this;} + inline MonitorTopContributorsRow& WithRemoteVpcArn(const char* value) { SetRemoteVpcArn(value); return *this;} + ///@} + private: + + Aws::String m_localIp; + bool m_localIpHasBeenSet = false; + + Aws::String m_snatIp; + bool m_snatIpHasBeenSet = false; + + Aws::String m_localInstanceId; + bool m_localInstanceIdHasBeenSet = false; + + Aws::String m_localVpcId; + bool m_localVpcIdHasBeenSet = false; + + Aws::String m_localRegion; + bool m_localRegionHasBeenSet = false; + + Aws::String m_localAz; + bool m_localAzHasBeenSet = false; + + Aws::String m_localSubnetId; + bool m_localSubnetIdHasBeenSet = false; + + int m_targetPort; + bool m_targetPortHasBeenSet = false; + + DestinationCategory m_destinationCategory; + bool m_destinationCategoryHasBeenSet = false; + + Aws::String m_remoteVpcId; + bool m_remoteVpcIdHasBeenSet = false; + + Aws::String m_remoteRegion; + bool m_remoteRegionHasBeenSet = false; + + Aws::String m_remoteAz; + bool m_remoteAzHasBeenSet = false; + + Aws::String m_remoteSubnetId; + bool m_remoteSubnetIdHasBeenSet = false; + + Aws::String m_remoteInstanceId; + bool m_remoteInstanceIdHasBeenSet = false; + + Aws::String m_remoteIp; + bool m_remoteIpHasBeenSet = false; + + Aws::String m_dnatIp; + bool m_dnatIpHasBeenSet = false; + + long long m_value; + bool m_valueHasBeenSet = false; + + Aws::Vector m_traversedConstructs; + bool m_traversedConstructsHasBeenSet = false; + + KubernetesMetadata m_kubernetesMetadata; + bool m_kubernetesMetadataHasBeenSet = false; + + Aws::String m_localInstanceArn; + bool m_localInstanceArnHasBeenSet = false; + + Aws::String m_localSubnetArn; + bool m_localSubnetArnHasBeenSet = false; + + Aws::String m_localVpcArn; + bool m_localVpcArnHasBeenSet = false; + + Aws::String m_remoteInstanceArn; + bool m_remoteInstanceArnHasBeenSet = false; + + Aws::String m_remoteSubnetArn; + bool m_remoteSubnetArnHasBeenSet = false; + + Aws::String m_remoteVpcArn; + bool m_remoteVpcArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/QueryStatus.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/QueryStatus.h new file mode 100644 index 00000000000..2d2086ad136 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/QueryStatus.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + enum class QueryStatus + { + NOT_SET, + QUEUED, + RUNNING, + SUCCEEDED, + FAILED, + CANCELED + }; + +namespace QueryStatusMapper +{ +AWS_NETWORKFLOWMONITOR_API QueryStatus GetQueryStatusForName(const Aws::String& name); + +AWS_NETWORKFLOWMONITOR_API Aws::String GetNameForQueryStatus(QueryStatus value); +} // namespace QueryStatusMapper +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ScopeStatus.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ScopeStatus.h new file mode 100644 index 00000000000..29ae7ac0976 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ScopeStatus.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + enum class ScopeStatus + { + NOT_SET, + SUCCEEDED, + IN_PROGRESS, + FAILED + }; + +namespace ScopeStatusMapper +{ +AWS_NETWORKFLOWMONITOR_API ScopeStatus GetScopeStatusForName(const Aws::String& name); + +AWS_NETWORKFLOWMONITOR_API Aws::String GetNameForScopeStatus(ScopeStatus value); +} // namespace ScopeStatusMapper +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ScopeSummary.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ScopeSummary.h new file mode 100644 index 00000000000..781654b81fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/ScopeSummary.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        A summary of information about a scope, including the ARN, target ID, and + * Amazon Web Services Region.

        See Also:

        AWS + * API Reference

        + */ + class ScopeSummary + { + public: + AWS_NETWORKFLOWMONITOR_API ScopeSummary(); + AWS_NETWORKFLOWMONITOR_API ScopeSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API ScopeSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline ScopeSummary& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline ScopeSummary& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline ScopeSummary& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of a scope. The status can be one of the following, depending on + * the state of scope creation: SUCCEEDED, IN_PROGRESS, + * or FAILED.

        + */ + inline const ScopeStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ScopeStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ScopeStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ScopeSummary& WithStatus(const ScopeStatus& value) { SetStatus(value); return *this;} + inline ScopeSummary& WithStatus(ScopeStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the scope.

        + */ + inline const Aws::String& GetScopeArn() const{ return m_scopeArn; } + inline bool ScopeArnHasBeenSet() const { return m_scopeArnHasBeenSet; } + inline void SetScopeArn(const Aws::String& value) { m_scopeArnHasBeenSet = true; m_scopeArn = value; } + inline void SetScopeArn(Aws::String&& value) { m_scopeArnHasBeenSet = true; m_scopeArn = std::move(value); } + inline void SetScopeArn(const char* value) { m_scopeArnHasBeenSet = true; m_scopeArn.assign(value); } + inline ScopeSummary& WithScopeArn(const Aws::String& value) { SetScopeArn(value); return *this;} + inline ScopeSummary& WithScopeArn(Aws::String&& value) { SetScopeArn(std::move(value)); return *this;} + inline ScopeSummary& WithScopeArn(const char* value) { SetScopeArn(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + + ScopeStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_scopeArn; + bool m_scopeArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryMonitorTopContributorsRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryMonitorTopContributorsRequest.h new file mode 100644 index 00000000000..d0e42e2fc24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryMonitorTopContributorsRequest.h @@ -0,0 +1,146 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class StartQueryMonitorTopContributorsRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API StartQueryMonitorTopContributorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "StartQueryMonitorTopContributors"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The name of the monitor.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline bool MonitorNameHasBeenSet() const { return m_monitorNameHasBeenSet; } + inline void SetMonitorName(const Aws::String& value) { m_monitorNameHasBeenSet = true; m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorNameHasBeenSet = true; m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorNameHasBeenSet = true; m_monitorName.assign(value); } + inline StartQueryMonitorTopContributorsRequest& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline StartQueryMonitorTopContributorsRequest& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline StartQueryMonitorTopContributorsRequest& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp that is the date and time beginning of the period that you want + * to retrieve results for with your query.

        + */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + inline StartQueryMonitorTopContributorsRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + inline StartQueryMonitorTopContributorsRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp that is the date and time end of the period that you want to + * retrieve results for with your query.

        + */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } + inline StartQueryMonitorTopContributorsRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + inline StartQueryMonitorTopContributorsRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The metric that you want to query top contributors for. That is, you can + * specify this metric to return the top contributor network flows, for this type + * of metric, for a monitor and (optionally) within a specific category, such as + * network flows between Availability Zones.

        + */ + inline const MonitorMetric& GetMetricName() const{ return m_metricName; } + inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } + inline void SetMetricName(const MonitorMetric& value) { m_metricNameHasBeenSet = true; m_metricName = value; } + inline void SetMetricName(MonitorMetric&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } + inline StartQueryMonitorTopContributorsRequest& WithMetricName(const MonitorMetric& value) { SetMetricName(value); return *this;} + inline StartQueryMonitorTopContributorsRequest& WithMetricName(MonitorMetric&& value) { SetMetricName(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The category that you want to query top contributors for, for a specific + * monitor. Destination categories can be one of the following:

        • + * INTRA_AZ: Top contributor network flows within a single + * Availability Zone

        • INTER_AZ: Top contributor + * network flows between Availability Zones

        • + * INTER_VPC: Top contributor network flows between VPCs

        • + *
        • AWS_SERVICES: Top contributor network flows to or from + * Amazon Web Services services

        • UNCLASSIFIED: Top + * contributor network flows that do not have a bucket classification

        • + *
        + */ + inline const DestinationCategory& GetDestinationCategory() const{ return m_destinationCategory; } + inline bool DestinationCategoryHasBeenSet() const { return m_destinationCategoryHasBeenSet; } + inline void SetDestinationCategory(const DestinationCategory& value) { m_destinationCategoryHasBeenSet = true; m_destinationCategory = value; } + inline void SetDestinationCategory(DestinationCategory&& value) { m_destinationCategoryHasBeenSet = true; m_destinationCategory = std::move(value); } + inline StartQueryMonitorTopContributorsRequest& WithDestinationCategory(const DestinationCategory& value) { SetDestinationCategory(value); return *this;} + inline StartQueryMonitorTopContributorsRequest& WithDestinationCategory(DestinationCategory&& value) { SetDestinationCategory(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The maximum number of top contributors to return.

        + */ + inline int GetLimit() const{ return m_limit; } + inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; } + inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; } + inline StartQueryMonitorTopContributorsRequest& WithLimit(int value) { SetLimit(value); return *this;} + ///@} + private: + + Aws::String m_monitorName; + bool m_monitorNameHasBeenSet = false; + + Aws::Utils::DateTime m_startTime; + bool m_startTimeHasBeenSet = false; + + Aws::Utils::DateTime m_endTime; + bool m_endTimeHasBeenSet = false; + + MonitorMetric m_metricName; + bool m_metricNameHasBeenSet = false; + + DestinationCategory m_destinationCategory; + bool m_destinationCategoryHasBeenSet = false; + + int m_limit; + bool m_limitHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryMonitorTopContributorsResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryMonitorTopContributorsResult.h new file mode 100644 index 00000000000..a8cd2179ae6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryMonitorTopContributorsResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class StartQueryMonitorTopContributorsResult + { + public: + AWS_NETWORKFLOWMONITOR_API StartQueryMonitorTopContributorsResult(); + AWS_NETWORKFLOWMONITOR_API StartQueryMonitorTopContributorsResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API StartQueryMonitorTopContributorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline void SetQueryId(const Aws::String& value) { m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryId.assign(value); } + inline StartQueryMonitorTopContributorsResult& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline StartQueryMonitorTopContributorsResult& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline StartQueryMonitorTopContributorsResult& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline StartQueryMonitorTopContributorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline StartQueryMonitorTopContributorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline StartQueryMonitorTopContributorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_queryId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsDataRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsDataRequest.h new file mode 100644 index 00000000000..9e1381f29b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsDataRequest.h @@ -0,0 +1,134 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class StartQueryWorkloadInsightsTopContributorsDataRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API StartQueryWorkloadInsightsTopContributorsDataRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "StartQueryWorkloadInsightsTopContributorsData"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline StartQueryWorkloadInsightsTopContributorsDataRequest& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsDataRequest& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline StartQueryWorkloadInsightsTopContributorsDataRequest& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp that is the date and time beginning of the period that you want + * to retrieve results for with your query.

        + */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + inline StartQueryWorkloadInsightsTopContributorsDataRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsDataRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp that is the date and time end of the period that you want to + * retrieve results for with your query.

        + */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } + inline StartQueryWorkloadInsightsTopContributorsDataRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsDataRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The metric that you want to query top contributors for. That is, you can + * specify this metric to return the top contributor network flows, for this type + * of metric, for a monitor and (optionally) within a specific category, such as + * network flows between Availability Zones.

        + */ + inline const WorkloadInsightsMetric& GetMetricName() const{ return m_metricName; } + inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } + inline void SetMetricName(const WorkloadInsightsMetric& value) { m_metricNameHasBeenSet = true; m_metricName = value; } + inline void SetMetricName(WorkloadInsightsMetric&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } + inline StartQueryWorkloadInsightsTopContributorsDataRequest& WithMetricName(const WorkloadInsightsMetric& value) { SetMetricName(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsDataRequest& WithMetricName(WorkloadInsightsMetric&& value) { SetMetricName(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The destination category for a top contributors. Destination categories can + * be one of the following:

        • INTRA_AZ: Top + * contributor network flows within a single Availability Zone

        • + * INTER_AZ: Top contributor network flows between Availability + * Zones

        • INTER_VPC: Top contributor network flows + * between VPCs

        • AWS_SERVICES: Top contributor + * network flows to or from Amazon Web Services services

        • + * UNCLASSIFIED: Top contributor network flows that do not have a + * bucket classification

        + */ + inline const DestinationCategory& GetDestinationCategory() const{ return m_destinationCategory; } + inline bool DestinationCategoryHasBeenSet() const { return m_destinationCategoryHasBeenSet; } + inline void SetDestinationCategory(const DestinationCategory& value) { m_destinationCategoryHasBeenSet = true; m_destinationCategory = value; } + inline void SetDestinationCategory(DestinationCategory&& value) { m_destinationCategoryHasBeenSet = true; m_destinationCategory = std::move(value); } + inline StartQueryWorkloadInsightsTopContributorsDataRequest& WithDestinationCategory(const DestinationCategory& value) { SetDestinationCategory(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsDataRequest& WithDestinationCategory(DestinationCategory&& value) { SetDestinationCategory(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + + Aws::Utils::DateTime m_startTime; + bool m_startTimeHasBeenSet = false; + + Aws::Utils::DateTime m_endTime; + bool m_endTimeHasBeenSet = false; + + WorkloadInsightsMetric m_metricName; + bool m_metricNameHasBeenSet = false; + + DestinationCategory m_destinationCategory; + bool m_destinationCategoryHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsDataResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsDataResult.h new file mode 100644 index 00000000000..31807a83e6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsDataResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class StartQueryWorkloadInsightsTopContributorsDataResult + { + public: + AWS_NETWORKFLOWMONITOR_API StartQueryWorkloadInsightsTopContributorsDataResult(); + AWS_NETWORKFLOWMONITOR_API StartQueryWorkloadInsightsTopContributorsDataResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API StartQueryWorkloadInsightsTopContributorsDataResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline void SetQueryId(const Aws::String& value) { m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryId.assign(value); } + inline StartQueryWorkloadInsightsTopContributorsDataResult& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsDataResult& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline StartQueryWorkloadInsightsTopContributorsDataResult& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline StartQueryWorkloadInsightsTopContributorsDataResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsDataResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline StartQueryWorkloadInsightsTopContributorsDataResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_queryId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsRequest.h new file mode 100644 index 00000000000..73707bd36bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsRequest.h @@ -0,0 +1,148 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class StartQueryWorkloadInsightsTopContributorsRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API StartQueryWorkloadInsightsTopContributorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "StartQueryWorkloadInsightsTopContributors"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account. A scope ID is returned from a + * CreateScope API call.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline StartQueryWorkloadInsightsTopContributorsRequest& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsRequest& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline StartQueryWorkloadInsightsTopContributorsRequest& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp that is the date and time beginning of the period that you want + * to retrieve results for with your query.

        + */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + inline StartQueryWorkloadInsightsTopContributorsRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp that is the date and time end of the period that you want to + * retrieve results for with your query.

        + */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } + inline StartQueryWorkloadInsightsTopContributorsRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The metric that you want to query top contributors for. That is, you can + * specify this metric to return the top contributor network flows, for this type + * of metric, for a monitor and (optionally) within a specific category, such as + * network flows between Availability Zones.

        + */ + inline const WorkloadInsightsMetric& GetMetricName() const{ return m_metricName; } + inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } + inline void SetMetricName(const WorkloadInsightsMetric& value) { m_metricNameHasBeenSet = true; m_metricName = value; } + inline void SetMetricName(WorkloadInsightsMetric&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } + inline StartQueryWorkloadInsightsTopContributorsRequest& WithMetricName(const WorkloadInsightsMetric& value) { SetMetricName(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsRequest& WithMetricName(WorkloadInsightsMetric&& value) { SetMetricName(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The destination category for a top contributors row. Destination categories + * can be one of the following:

        • INTRA_AZ: Top + * contributor network flows within a single Availability Zone

        • + * INTER_AZ: Top contributor network flows between Availability + * Zones

        • INTER_VPC: Top contributor network flows + * between VPCs

        • AWS_SERVICES: Top contributor + * network flows to or from Amazon Web Services services

        • + * UNCLASSIFIED: Top contributor network flows that do not have a + * bucket classification

        + */ + inline const DestinationCategory& GetDestinationCategory() const{ return m_destinationCategory; } + inline bool DestinationCategoryHasBeenSet() const { return m_destinationCategoryHasBeenSet; } + inline void SetDestinationCategory(const DestinationCategory& value) { m_destinationCategoryHasBeenSet = true; m_destinationCategory = value; } + inline void SetDestinationCategory(DestinationCategory&& value) { m_destinationCategoryHasBeenSet = true; m_destinationCategory = std::move(value); } + inline StartQueryWorkloadInsightsTopContributorsRequest& WithDestinationCategory(const DestinationCategory& value) { SetDestinationCategory(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsRequest& WithDestinationCategory(DestinationCategory&& value) { SetDestinationCategory(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The maximum number of top contributors to return.

        + */ + inline int GetLimit() const{ return m_limit; } + inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; } + inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; } + inline StartQueryWorkloadInsightsTopContributorsRequest& WithLimit(int value) { SetLimit(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + + Aws::Utils::DateTime m_startTime; + bool m_startTimeHasBeenSet = false; + + Aws::Utils::DateTime m_endTime; + bool m_endTimeHasBeenSet = false; + + WorkloadInsightsMetric m_metricName; + bool m_metricNameHasBeenSet = false; + + DestinationCategory m_destinationCategory; + bool m_destinationCategoryHasBeenSet = false; + + int m_limit; + bool m_limitHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsResult.h new file mode 100644 index 00000000000..8dd0f633f60 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StartQueryWorkloadInsightsTopContributorsResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class StartQueryWorkloadInsightsTopContributorsResult + { + public: + AWS_NETWORKFLOWMONITOR_API StartQueryWorkloadInsightsTopContributorsResult(); + AWS_NETWORKFLOWMONITOR_API StartQueryWorkloadInsightsTopContributorsResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API StartQueryWorkloadInsightsTopContributorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline void SetQueryId(const Aws::String& value) { m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryId.assign(value); } + inline StartQueryWorkloadInsightsTopContributorsResult& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsResult& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline StartQueryWorkloadInsightsTopContributorsResult& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline StartQueryWorkloadInsightsTopContributorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline StartQueryWorkloadInsightsTopContributorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline StartQueryWorkloadInsightsTopContributorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_queryId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryMonitorTopContributorsRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryMonitorTopContributorsRequest.h new file mode 100644 index 00000000000..bebdda542a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryMonitorTopContributorsRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class StopQueryMonitorTopContributorsRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API StopQueryMonitorTopContributorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "StopQueryMonitorTopContributors"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The name of the monitor.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline bool MonitorNameHasBeenSet() const { return m_monitorNameHasBeenSet; } + inline void SetMonitorName(const Aws::String& value) { m_monitorNameHasBeenSet = true; m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorNameHasBeenSet = true; m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorNameHasBeenSet = true; m_monitorName.assign(value); } + inline StopQueryMonitorTopContributorsRequest& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline StopQueryMonitorTopContributorsRequest& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline StopQueryMonitorTopContributorsRequest& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } + inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); } + inline StopQueryMonitorTopContributorsRequest& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline StopQueryMonitorTopContributorsRequest& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline StopQueryMonitorTopContributorsRequest& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + private: + + Aws::String m_monitorName; + bool m_monitorNameHasBeenSet = false; + + Aws::String m_queryId; + bool m_queryIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryMonitorTopContributorsResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryMonitorTopContributorsResult.h new file mode 100644 index 00000000000..3a10fdb1fd2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryMonitorTopContributorsResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class StopQueryMonitorTopContributorsResult + { + public: + AWS_NETWORKFLOWMONITOR_API StopQueryMonitorTopContributorsResult(); + AWS_NETWORKFLOWMONITOR_API StopQueryMonitorTopContributorsResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API StopQueryMonitorTopContributorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline StopQueryMonitorTopContributorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline StopQueryMonitorTopContributorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline StopQueryMonitorTopContributorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsDataRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsDataRequest.h new file mode 100644 index 00000000000..39db2a6381e --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsDataRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class StopQueryWorkloadInsightsTopContributorsDataRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API StopQueryWorkloadInsightsTopContributorsDataRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "StopQueryWorkloadInsightsTopContributorsData"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline StopQueryWorkloadInsightsTopContributorsDataRequest& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline StopQueryWorkloadInsightsTopContributorsDataRequest& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline StopQueryWorkloadInsightsTopContributorsDataRequest& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } + inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); } + inline StopQueryWorkloadInsightsTopContributorsDataRequest& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline StopQueryWorkloadInsightsTopContributorsDataRequest& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline StopQueryWorkloadInsightsTopContributorsDataRequest& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + + Aws::String m_queryId; + bool m_queryIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsDataResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsDataResult.h new file mode 100644 index 00000000000..9da0e9fe137 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsDataResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class StopQueryWorkloadInsightsTopContributorsDataResult + { + public: + AWS_NETWORKFLOWMONITOR_API StopQueryWorkloadInsightsTopContributorsDataResult(); + AWS_NETWORKFLOWMONITOR_API StopQueryWorkloadInsightsTopContributorsDataResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API StopQueryWorkloadInsightsTopContributorsDataResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline StopQueryWorkloadInsightsTopContributorsDataResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline StopQueryWorkloadInsightsTopContributorsDataResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline StopQueryWorkloadInsightsTopContributorsDataResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsRequest.h new file mode 100644 index 00000000000..6d250f0d151 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class StopQueryWorkloadInsightsTopContributorsRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API StopQueryWorkloadInsightsTopContributorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "StopQueryWorkloadInsightsTopContributors"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline StopQueryWorkloadInsightsTopContributorsRequest& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline StopQueryWorkloadInsightsTopContributorsRequest& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline StopQueryWorkloadInsightsTopContributorsRequest& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier for the query. A query ID is an internally-generated + * identifier for a specific query returned from an API call to start a query.

        + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } + inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); } + inline StopQueryWorkloadInsightsTopContributorsRequest& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline StopQueryWorkloadInsightsTopContributorsRequest& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline StopQueryWorkloadInsightsTopContributorsRequest& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + + Aws::String m_queryId; + bool m_queryIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsResult.h new file mode 100644 index 00000000000..54a464e2e65 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/StopQueryWorkloadInsightsTopContributorsResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class StopQueryWorkloadInsightsTopContributorsResult + { + public: + AWS_NETWORKFLOWMONITOR_API StopQueryWorkloadInsightsTopContributorsResult(); + AWS_NETWORKFLOWMONITOR_API StopQueryWorkloadInsightsTopContributorsResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API StopQueryWorkloadInsightsTopContributorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline StopQueryWorkloadInsightsTopContributorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline StopQueryWorkloadInsightsTopContributorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline StopQueryWorkloadInsightsTopContributorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TagResourceRequest.h new file mode 100644 index 00000000000..c191ccd1e9d --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TagResourceRequest.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API TagResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TagResource"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource.

        + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The tags for a resource.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline TagResourceRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline TagResourceRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline TagResourceRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline TagResourceRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline TagResourceRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline TagResourceRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline TagResourceRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline TagResourceRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline TagResourceRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TagResourceResult.h new file mode 100644 index 00000000000..bfa1d7af22c --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TagResourceResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class TagResourceResult + { + public: + AWS_NETWORKFLOWMONITOR_API TagResourceResult(); + AWS_NETWORKFLOWMONITOR_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API TagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetId.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetId.h new file mode 100644 index 00000000000..3da24e164e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetId.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        A target ID is an internally-generated identifier for a target. A target + * allows you to identify all the resources in a Network Flow Monitor scope. + * Currently, a target is always an Amazon Web Services account.

        See + * Also:

        AWS + * API Reference

        + */ + class TargetId + { + public: + AWS_NETWORKFLOWMONITOR_API TargetId(); + AWS_NETWORKFLOWMONITOR_API TargetId(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API TargetId& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The identifier for the account for a target.

        + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + inline TargetId& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + inline TargetId& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + inline TargetId& WithAccountId(const char* value) { SetAccountId(value); return *this;} + ///@} + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetIdentifier.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetIdentifier.h new file mode 100644 index 00000000000..461a2e395dc --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetIdentifier.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        A target identifier is a pair of identifying information for a resource that + * is included in a target. A target identifier includes the target ID and the + * target type.

        See Also:

        AWS + * API Reference

        + */ + class TargetIdentifier + { + public: + AWS_NETWORKFLOWMONITOR_API TargetIdentifier(); + AWS_NETWORKFLOWMONITOR_API TargetIdentifier(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API TargetIdentifier& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The identifier for a target.

        + */ + inline const TargetId& GetTargetId() const{ return m_targetId; } + inline bool TargetIdHasBeenSet() const { return m_targetIdHasBeenSet; } + inline void SetTargetId(const TargetId& value) { m_targetIdHasBeenSet = true; m_targetId = value; } + inline void SetTargetId(TargetId&& value) { m_targetIdHasBeenSet = true; m_targetId = std::move(value); } + inline TargetIdentifier& WithTargetId(const TargetId& value) { SetTargetId(value); return *this;} + inline TargetIdentifier& WithTargetId(TargetId&& value) { SetTargetId(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The type of a target. A target type is currently always ACCOUNT + * because a target is currently a single Amazon Web Services account.

        + */ + inline const TargetType& GetTargetType() const{ return m_targetType; } + inline bool TargetTypeHasBeenSet() const { return m_targetTypeHasBeenSet; } + inline void SetTargetType(const TargetType& value) { m_targetTypeHasBeenSet = true; m_targetType = value; } + inline void SetTargetType(TargetType&& value) { m_targetTypeHasBeenSet = true; m_targetType = std::move(value); } + inline TargetIdentifier& WithTargetType(const TargetType& value) { SetTargetType(value); return *this;} + inline TargetIdentifier& WithTargetType(TargetType&& value) { SetTargetType(std::move(value)); return *this;} + ///@} + private: + + TargetId m_targetId; + bool m_targetIdHasBeenSet = false; + + TargetType m_targetType; + bool m_targetTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetResource.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetResource.h new file mode 100644 index 00000000000..97514304b19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetResource.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        A target resource in a scope. The resource is identified by a Region and a + * target identifier, which includes a target ID and a target type.

        See + * Also:

        AWS + * API Reference

        + */ + class TargetResource + { + public: + AWS_NETWORKFLOWMONITOR_API TargetResource(); + AWS_NETWORKFLOWMONITOR_API TargetResource(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API TargetResource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        A target identifier is a pair of identifying information for a resource that + * is included in a target. A target identifier includes the target ID and the + * target type.

        + */ + inline const TargetIdentifier& GetTargetIdentifier() const{ return m_targetIdentifier; } + inline bool TargetIdentifierHasBeenSet() const { return m_targetIdentifierHasBeenSet; } + inline void SetTargetIdentifier(const TargetIdentifier& value) { m_targetIdentifierHasBeenSet = true; m_targetIdentifier = value; } + inline void SetTargetIdentifier(TargetIdentifier&& value) { m_targetIdentifierHasBeenSet = true; m_targetIdentifier = std::move(value); } + inline TargetResource& WithTargetIdentifier(const TargetIdentifier& value) { SetTargetIdentifier(value); return *this;} + inline TargetResource& WithTargetIdentifier(TargetIdentifier&& value) { SetTargetIdentifier(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Web Services Region where the target resource is located.

        + */ + inline const Aws::String& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + inline TargetResource& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + inline TargetResource& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + inline TargetResource& WithRegion(const char* value) { SetRegion(value); return *this;} + ///@} + private: + + TargetIdentifier m_targetIdentifier; + bool m_targetIdentifierHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetType.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetType.h new file mode 100644 index 00000000000..912b425af02 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TargetType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + enum class TargetType + { + NOT_SET, + ACCOUNT + }; + +namespace TargetTypeMapper +{ +AWS_NETWORKFLOWMONITOR_API TargetType GetTargetTypeForName(const Aws::String& name); + +AWS_NETWORKFLOWMONITOR_API Aws::String GetNameForTargetType(TargetType value); +} // namespace TargetTypeMapper +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TraversedComponent.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TraversedComponent.h new file mode 100644 index 00000000000..fcb2c2d9d4f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/TraversedComponent.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        A section of the network that a network flow has traveled + * through.

        See Also:

        AWS + * API Reference

        + */ + class TraversedComponent + { + public: + AWS_NETWORKFLOWMONITOR_API TraversedComponent(); + AWS_NETWORKFLOWMONITOR_API TraversedComponent(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API TraversedComponent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The identifier for the traversed component.

        + */ + inline const Aws::String& GetComponentId() const{ return m_componentId; } + inline bool ComponentIdHasBeenSet() const { return m_componentIdHasBeenSet; } + inline void SetComponentId(const Aws::String& value) { m_componentIdHasBeenSet = true; m_componentId = value; } + inline void SetComponentId(Aws::String&& value) { m_componentIdHasBeenSet = true; m_componentId = std::move(value); } + inline void SetComponentId(const char* value) { m_componentIdHasBeenSet = true; m_componentId.assign(value); } + inline TraversedComponent& WithComponentId(const Aws::String& value) { SetComponentId(value); return *this;} + inline TraversedComponent& WithComponentId(Aws::String&& value) { SetComponentId(std::move(value)); return *this;} + inline TraversedComponent& WithComponentId(const char* value) { SetComponentId(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of component that was traversed.

        + */ + inline const Aws::String& GetComponentType() const{ return m_componentType; } + inline bool ComponentTypeHasBeenSet() const { return m_componentTypeHasBeenSet; } + inline void SetComponentType(const Aws::String& value) { m_componentTypeHasBeenSet = true; m_componentType = value; } + inline void SetComponentType(Aws::String&& value) { m_componentTypeHasBeenSet = true; m_componentType = std::move(value); } + inline void SetComponentType(const char* value) { m_componentTypeHasBeenSet = true; m_componentType.assign(value); } + inline TraversedComponent& WithComponentType(const Aws::String& value) { SetComponentType(value); return *this;} + inline TraversedComponent& WithComponentType(Aws::String&& value) { SetComponentType(std::move(value)); return *this;} + inline TraversedComponent& WithComponentType(const char* value) { SetComponentType(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of a tranversed component.

        + */ + inline const Aws::String& GetComponentArn() const{ return m_componentArn; } + inline bool ComponentArnHasBeenSet() const { return m_componentArnHasBeenSet; } + inline void SetComponentArn(const Aws::String& value) { m_componentArnHasBeenSet = true; m_componentArn = value; } + inline void SetComponentArn(Aws::String&& value) { m_componentArnHasBeenSet = true; m_componentArn = std::move(value); } + inline void SetComponentArn(const char* value) { m_componentArnHasBeenSet = true; m_componentArn.assign(value); } + inline TraversedComponent& WithComponentArn(const Aws::String& value) { SetComponentArn(value); return *this;} + inline TraversedComponent& WithComponentArn(Aws::String&& value) { SetComponentArn(std::move(value)); return *this;} + inline TraversedComponent& WithComponentArn(const char* value) { SetComponentArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The service name for the traversed component.

        + */ + inline const Aws::String& GetServiceName() const{ return m_serviceName; } + inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; } + inline void SetServiceName(const Aws::String& value) { m_serviceNameHasBeenSet = true; m_serviceName = value; } + inline void SetServiceName(Aws::String&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::move(value); } + inline void SetServiceName(const char* value) { m_serviceNameHasBeenSet = true; m_serviceName.assign(value); } + inline TraversedComponent& WithServiceName(const Aws::String& value) { SetServiceName(value); return *this;} + inline TraversedComponent& WithServiceName(Aws::String&& value) { SetServiceName(std::move(value)); return *this;} + inline TraversedComponent& WithServiceName(const char* value) { SetServiceName(value); return *this;} + ///@} + private: + + Aws::String m_componentId; + bool m_componentIdHasBeenSet = false; + + Aws::String m_componentType; + bool m_componentTypeHasBeenSet = false; + + Aws::String m_componentArn; + bool m_componentArnHasBeenSet = false; + + Aws::String m_serviceName; + bool m_serviceNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UntagResourceRequest.h new file mode 100644 index 00000000000..af70bc6fb6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UntagResourceRequest.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API UntagResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + AWS_NETWORKFLOWMONITOR_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource.

        + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Keys that you specified when you tagged a resource.

        + */ + inline const Aws::Vector& GetTagKeys() const{ return m_tagKeys; } + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + inline void SetTagKeys(const Aws::Vector& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } + inline void SetTagKeys(Aws::Vector&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } + inline UntagResourceRequest& WithTagKeys(const Aws::Vector& value) { SetTagKeys(value); return *this;} + inline UntagResourceRequest& WithTagKeys(Aws::Vector&& value) { SetTagKeys(std::move(value)); return *this;} + inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } + inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UntagResourceResult.h new file mode 100644 index 00000000000..f5f40a7c300 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UntagResourceResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class UntagResourceResult + { + public: + AWS_NETWORKFLOWMONITOR_API UntagResourceResult(); + AWS_NETWORKFLOWMONITOR_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API UntagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UntagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UntagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UntagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateMonitorRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateMonitorRequest.h new file mode 100644 index 00000000000..9b4bbe78869 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateMonitorRequest.h @@ -0,0 +1,151 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class UpdateMonitorRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API UpdateMonitorRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateMonitor"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The name of the monitor.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline bool MonitorNameHasBeenSet() const { return m_monitorNameHasBeenSet; } + inline void SetMonitorName(const Aws::String& value) { m_monitorNameHasBeenSet = true; m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorNameHasBeenSet = true; m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorNameHasBeenSet = true; m_monitorName.assign(value); } + inline UpdateMonitorRequest& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline UpdateMonitorRequest& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline UpdateMonitorRequest& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + + ///@{ + /** + *

        The local resources to add, as an array of resources with identifiers and + * types.

        + */ + inline const Aws::Vector& GetLocalResourcesToAdd() const{ return m_localResourcesToAdd; } + inline bool LocalResourcesToAddHasBeenSet() const { return m_localResourcesToAddHasBeenSet; } + inline void SetLocalResourcesToAdd(const Aws::Vector& value) { m_localResourcesToAddHasBeenSet = true; m_localResourcesToAdd = value; } + inline void SetLocalResourcesToAdd(Aws::Vector&& value) { m_localResourcesToAddHasBeenSet = true; m_localResourcesToAdd = std::move(value); } + inline UpdateMonitorRequest& WithLocalResourcesToAdd(const Aws::Vector& value) { SetLocalResourcesToAdd(value); return *this;} + inline UpdateMonitorRequest& WithLocalResourcesToAdd(Aws::Vector&& value) { SetLocalResourcesToAdd(std::move(value)); return *this;} + inline UpdateMonitorRequest& AddLocalResourcesToAdd(const MonitorLocalResource& value) { m_localResourcesToAddHasBeenSet = true; m_localResourcesToAdd.push_back(value); return *this; } + inline UpdateMonitorRequest& AddLocalResourcesToAdd(MonitorLocalResource&& value) { m_localResourcesToAddHasBeenSet = true; m_localResourcesToAdd.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The local resources to remove, as an array of resources with identifiers and + * types.

        + */ + inline const Aws::Vector& GetLocalResourcesToRemove() const{ return m_localResourcesToRemove; } + inline bool LocalResourcesToRemoveHasBeenSet() const { return m_localResourcesToRemoveHasBeenSet; } + inline void SetLocalResourcesToRemove(const Aws::Vector& value) { m_localResourcesToRemoveHasBeenSet = true; m_localResourcesToRemove = value; } + inline void SetLocalResourcesToRemove(Aws::Vector&& value) { m_localResourcesToRemoveHasBeenSet = true; m_localResourcesToRemove = std::move(value); } + inline UpdateMonitorRequest& WithLocalResourcesToRemove(const Aws::Vector& value) { SetLocalResourcesToRemove(value); return *this;} + inline UpdateMonitorRequest& WithLocalResourcesToRemove(Aws::Vector&& value) { SetLocalResourcesToRemove(std::move(value)); return *this;} + inline UpdateMonitorRequest& AddLocalResourcesToRemove(const MonitorLocalResource& value) { m_localResourcesToRemoveHasBeenSet = true; m_localResourcesToRemove.push_back(value); return *this; } + inline UpdateMonitorRequest& AddLocalResourcesToRemove(MonitorLocalResource&& value) { m_localResourcesToRemoveHasBeenSet = true; m_localResourcesToRemove.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The remove resources to add, as an array of resources with identifiers and + * types.

        + */ + inline const Aws::Vector& GetRemoteResourcesToAdd() const{ return m_remoteResourcesToAdd; } + inline bool RemoteResourcesToAddHasBeenSet() const { return m_remoteResourcesToAddHasBeenSet; } + inline void SetRemoteResourcesToAdd(const Aws::Vector& value) { m_remoteResourcesToAddHasBeenSet = true; m_remoteResourcesToAdd = value; } + inline void SetRemoteResourcesToAdd(Aws::Vector&& value) { m_remoteResourcesToAddHasBeenSet = true; m_remoteResourcesToAdd = std::move(value); } + inline UpdateMonitorRequest& WithRemoteResourcesToAdd(const Aws::Vector& value) { SetRemoteResourcesToAdd(value); return *this;} + inline UpdateMonitorRequest& WithRemoteResourcesToAdd(Aws::Vector&& value) { SetRemoteResourcesToAdd(std::move(value)); return *this;} + inline UpdateMonitorRequest& AddRemoteResourcesToAdd(const MonitorRemoteResource& value) { m_remoteResourcesToAddHasBeenSet = true; m_remoteResourcesToAdd.push_back(value); return *this; } + inline UpdateMonitorRequest& AddRemoteResourcesToAdd(MonitorRemoteResource&& value) { m_remoteResourcesToAddHasBeenSet = true; m_remoteResourcesToAdd.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The remove resources to remove, as an array of resources with identifiers and + * types.

        + */ + inline const Aws::Vector& GetRemoteResourcesToRemove() const{ return m_remoteResourcesToRemove; } + inline bool RemoteResourcesToRemoveHasBeenSet() const { return m_remoteResourcesToRemoveHasBeenSet; } + inline void SetRemoteResourcesToRemove(const Aws::Vector& value) { m_remoteResourcesToRemoveHasBeenSet = true; m_remoteResourcesToRemove = value; } + inline void SetRemoteResourcesToRemove(Aws::Vector&& value) { m_remoteResourcesToRemoveHasBeenSet = true; m_remoteResourcesToRemove = std::move(value); } + inline UpdateMonitorRequest& WithRemoteResourcesToRemove(const Aws::Vector& value) { SetRemoteResourcesToRemove(value); return *this;} + inline UpdateMonitorRequest& WithRemoteResourcesToRemove(Aws::Vector&& value) { SetRemoteResourcesToRemove(std::move(value)); return *this;} + inline UpdateMonitorRequest& AddRemoteResourcesToRemove(const MonitorRemoteResource& value) { m_remoteResourcesToRemoveHasBeenSet = true; m_remoteResourcesToRemove.push_back(value); return *this; } + inline UpdateMonitorRequest& AddRemoteResourcesToRemove(MonitorRemoteResource&& value) { m_remoteResourcesToRemoveHasBeenSet = true; m_remoteResourcesToRemove.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        A unique, case-sensitive string of up to 64 ASCII characters that you specify + * to make an idempotent API request. Don't reuse the same client token for other + * API requests.

        + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline UpdateMonitorRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline UpdateMonitorRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline UpdateMonitorRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + private: + + Aws::String m_monitorName; + bool m_monitorNameHasBeenSet = false; + + Aws::Vector m_localResourcesToAdd; + bool m_localResourcesToAddHasBeenSet = false; + + Aws::Vector m_localResourcesToRemove; + bool m_localResourcesToRemoveHasBeenSet = false; + + Aws::Vector m_remoteResourcesToAdd; + bool m_remoteResourcesToAddHasBeenSet = false; + + Aws::Vector m_remoteResourcesToRemove; + bool m_remoteResourcesToRemoveHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateMonitorResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateMonitorResult.h new file mode 100644 index 00000000000..04542a67b9f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateMonitorResult.h @@ -0,0 +1,185 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class UpdateMonitorResult + { + public: + AWS_NETWORKFLOWMONITOR_API UpdateMonitorResult(); + AWS_NETWORKFLOWMONITOR_API UpdateMonitorResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API UpdateMonitorResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the monitor.

        + */ + inline const Aws::String& GetMonitorArn() const{ return m_monitorArn; } + inline void SetMonitorArn(const Aws::String& value) { m_monitorArn = value; } + inline void SetMonitorArn(Aws::String&& value) { m_monitorArn = std::move(value); } + inline void SetMonitorArn(const char* value) { m_monitorArn.assign(value); } + inline UpdateMonitorResult& WithMonitorArn(const Aws::String& value) { SetMonitorArn(value); return *this;} + inline UpdateMonitorResult& WithMonitorArn(Aws::String&& value) { SetMonitorArn(std::move(value)); return *this;} + inline UpdateMonitorResult& WithMonitorArn(const char* value) { SetMonitorArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the monitor.

        + */ + inline const Aws::String& GetMonitorName() const{ return m_monitorName; } + inline void SetMonitorName(const Aws::String& value) { m_monitorName = value; } + inline void SetMonitorName(Aws::String&& value) { m_monitorName = std::move(value); } + inline void SetMonitorName(const char* value) { m_monitorName.assign(value); } + inline UpdateMonitorResult& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} + inline UpdateMonitorResult& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} + inline UpdateMonitorResult& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of a monitor. The status can be one of the following

        • + *

          PENDING: The monitor is in the process of being created.

          + *
        • ACTIVE: The monitor is active.

        • + * INACTIVE: The monitor is inactive.

        • + * ERROR: Monitor creation failed due to an error.

        • + * DELETING: The monitor is in the process of being deleted.

        • + *
        + */ + inline const MonitorStatus& GetMonitorStatus() const{ return m_monitorStatus; } + inline void SetMonitorStatus(const MonitorStatus& value) { m_monitorStatus = value; } + inline void SetMonitorStatus(MonitorStatus&& value) { m_monitorStatus = std::move(value); } + inline UpdateMonitorResult& WithMonitorStatus(const MonitorStatus& value) { SetMonitorStatus(value); return *this;} + inline UpdateMonitorResult& WithMonitorStatus(MonitorStatus&& value) { SetMonitorStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The local resources updated for a monitor, as an array of resources with + * identifiers and types.

        + */ + inline const Aws::Vector& GetLocalResources() const{ return m_localResources; } + inline void SetLocalResources(const Aws::Vector& value) { m_localResources = value; } + inline void SetLocalResources(Aws::Vector&& value) { m_localResources = std::move(value); } + inline UpdateMonitorResult& WithLocalResources(const Aws::Vector& value) { SetLocalResources(value); return *this;} + inline UpdateMonitorResult& WithLocalResources(Aws::Vector&& value) { SetLocalResources(std::move(value)); return *this;} + inline UpdateMonitorResult& AddLocalResources(const MonitorLocalResource& value) { m_localResources.push_back(value); return *this; } + inline UpdateMonitorResult& AddLocalResources(MonitorLocalResource&& value) { m_localResources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The remote resources updated for a monitor, as an array of resources with + * identifiers and types.

        + */ + inline const Aws::Vector& GetRemoteResources() const{ return m_remoteResources; } + inline void SetRemoteResources(const Aws::Vector& value) { m_remoteResources = value; } + inline void SetRemoteResources(Aws::Vector&& value) { m_remoteResources = std::move(value); } + inline UpdateMonitorResult& WithRemoteResources(const Aws::Vector& value) { SetRemoteResources(value); return *this;} + inline UpdateMonitorResult& WithRemoteResources(Aws::Vector&& value) { SetRemoteResources(std::move(value)); return *this;} + inline UpdateMonitorResult& AddRemoteResources(const MonitorRemoteResource& value) { m_remoteResources.push_back(value); return *this; } + inline UpdateMonitorResult& AddRemoteResources(MonitorRemoteResource&& value) { m_remoteResources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The date and time when the monitor was created.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline UpdateMonitorResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline UpdateMonitorResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The last date and time that the monitor was modified.

        + */ + inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } + inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAt = value; } + inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAt = std::move(value); } + inline UpdateMonitorResult& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} + inline UpdateMonitorResult& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The tags for a monitor.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline UpdateMonitorResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline UpdateMonitorResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline UpdateMonitorResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline UpdateMonitorResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline UpdateMonitorResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline UpdateMonitorResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline UpdateMonitorResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline UpdateMonitorResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline UpdateMonitorResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateMonitorResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateMonitorResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateMonitorResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_monitorArn; + + Aws::String m_monitorName; + + MonitorStatus m_monitorStatus; + + Aws::Vector m_localResources; + + Aws::Vector m_remoteResources; + + Aws::Utils::DateTime m_createdAt; + + Aws::Utils::DateTime m_modifiedAt; + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateScopeRequest.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateScopeRequest.h new file mode 100644 index 00000000000..a8044b5d75a --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateScopeRequest.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + */ + class UpdateScopeRequest : public NetworkFlowMonitorRequest + { + public: + AWS_NETWORKFLOWMONITOR_API UpdateScopeRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateScope"; } + + AWS_NETWORKFLOWMONITOR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline bool ScopeIdHasBeenSet() const { return m_scopeIdHasBeenSet; } + inline void SetScopeId(const Aws::String& value) { m_scopeIdHasBeenSet = true; m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeIdHasBeenSet = true; m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeIdHasBeenSet = true; m_scopeId.assign(value); } + inline UpdateScopeRequest& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline UpdateScopeRequest& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline UpdateScopeRequest& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        A list of resources to add to a scope.

        + */ + inline const Aws::Vector& GetResourcesToAdd() const{ return m_resourcesToAdd; } + inline bool ResourcesToAddHasBeenSet() const { return m_resourcesToAddHasBeenSet; } + inline void SetResourcesToAdd(const Aws::Vector& value) { m_resourcesToAddHasBeenSet = true; m_resourcesToAdd = value; } + inline void SetResourcesToAdd(Aws::Vector&& value) { m_resourcesToAddHasBeenSet = true; m_resourcesToAdd = std::move(value); } + inline UpdateScopeRequest& WithResourcesToAdd(const Aws::Vector& value) { SetResourcesToAdd(value); return *this;} + inline UpdateScopeRequest& WithResourcesToAdd(Aws::Vector&& value) { SetResourcesToAdd(std::move(value)); return *this;} + inline UpdateScopeRequest& AddResourcesToAdd(const TargetResource& value) { m_resourcesToAddHasBeenSet = true; m_resourcesToAdd.push_back(value); return *this; } + inline UpdateScopeRequest& AddResourcesToAdd(TargetResource&& value) { m_resourcesToAddHasBeenSet = true; m_resourcesToAdd.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        A list of resources to delete from a scope.

        + */ + inline const Aws::Vector& GetResourcesToDelete() const{ return m_resourcesToDelete; } + inline bool ResourcesToDeleteHasBeenSet() const { return m_resourcesToDeleteHasBeenSet; } + inline void SetResourcesToDelete(const Aws::Vector& value) { m_resourcesToDeleteHasBeenSet = true; m_resourcesToDelete = value; } + inline void SetResourcesToDelete(Aws::Vector&& value) { m_resourcesToDeleteHasBeenSet = true; m_resourcesToDelete = std::move(value); } + inline UpdateScopeRequest& WithResourcesToDelete(const Aws::Vector& value) { SetResourcesToDelete(value); return *this;} + inline UpdateScopeRequest& WithResourcesToDelete(Aws::Vector&& value) { SetResourcesToDelete(std::move(value)); return *this;} + inline UpdateScopeRequest& AddResourcesToDelete(const TargetResource& value) { m_resourcesToDeleteHasBeenSet = true; m_resourcesToDelete.push_back(value); return *this; } + inline UpdateScopeRequest& AddResourcesToDelete(TargetResource&& value) { m_resourcesToDeleteHasBeenSet = true; m_resourcesToDelete.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_scopeId; + bool m_scopeIdHasBeenSet = false; + + Aws::Vector m_resourcesToAdd; + bool m_resourcesToAddHasBeenSet = false; + + Aws::Vector m_resourcesToDelete; + bool m_resourcesToDeleteHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateScopeResult.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateScopeResult.h new file mode 100644 index 00000000000..71c4a9119f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/UpdateScopeResult.h @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + class UpdateScopeResult + { + public: + AWS_NETWORKFLOWMONITOR_API UpdateScopeResult(); + AWS_NETWORKFLOWMONITOR_API UpdateScopeResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFLOWMONITOR_API UpdateScopeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The identifier for the scope that includes the resources you want to get data + * results for. A scope ID is an internally-generated identifier that includes all + * the resources for a specific root account.

        + */ + inline const Aws::String& GetScopeId() const{ return m_scopeId; } + inline void SetScopeId(const Aws::String& value) { m_scopeId = value; } + inline void SetScopeId(Aws::String&& value) { m_scopeId = std::move(value); } + inline void SetScopeId(const char* value) { m_scopeId.assign(value); } + inline UpdateScopeResult& WithScopeId(const Aws::String& value) { SetScopeId(value); return *this;} + inline UpdateScopeResult& WithScopeId(Aws::String&& value) { SetScopeId(std::move(value)); return *this;} + inline UpdateScopeResult& WithScopeId(const char* value) { SetScopeId(value); return *this;} + ///@} + + ///@{ + /** + *

        The status for a call to update a scope. The status can be one of the + * following: SUCCEEDED, IN_PROGRESS, or + * FAILED.

        + */ + inline const ScopeStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ScopeStatus& value) { m_status = value; } + inline void SetStatus(ScopeStatus&& value) { m_status = std::move(value); } + inline UpdateScopeResult& WithStatus(const ScopeStatus& value) { SetStatus(value); return *this;} + inline UpdateScopeResult& WithStatus(ScopeStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the scope.

        + */ + inline const Aws::String& GetScopeArn() const{ return m_scopeArn; } + inline void SetScopeArn(const Aws::String& value) { m_scopeArn = value; } + inline void SetScopeArn(Aws::String&& value) { m_scopeArn = std::move(value); } + inline void SetScopeArn(const char* value) { m_scopeArn.assign(value); } + inline UpdateScopeResult& WithScopeArn(const Aws::String& value) { SetScopeArn(value); return *this;} + inline UpdateScopeResult& WithScopeArn(Aws::String&& value) { SetScopeArn(std::move(value)); return *this;} + inline UpdateScopeResult& WithScopeArn(const char* value) { SetScopeArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The tags for a scope.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline UpdateScopeResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline UpdateScopeResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline UpdateScopeResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline UpdateScopeResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline UpdateScopeResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline UpdateScopeResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline UpdateScopeResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline UpdateScopeResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline UpdateScopeResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateScopeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateScopeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateScopeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_scopeId; + + ScopeStatus m_status; + + Aws::String m_scopeArn; + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsMetric.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsMetric.h new file mode 100644 index 00000000000..a5df292c369 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsMetric.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + enum class WorkloadInsightsMetric + { + NOT_SET, + TIMEOUTS, + RETRANSMISSIONS, + DATA_TRANSFERRED + }; + +namespace WorkloadInsightsMetricMapper +{ +AWS_NETWORKFLOWMONITOR_API WorkloadInsightsMetric GetWorkloadInsightsMetricForName(const Aws::String& name); + +AWS_NETWORKFLOWMONITOR_API Aws::String GetNameForWorkloadInsightsMetric(WorkloadInsightsMetric value); +} // namespace WorkloadInsightsMetricMapper +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsTopContributorsDataPoint.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsTopContributorsDataPoint.h new file mode 100644 index 00000000000..1e5ee51999f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsTopContributorsDataPoint.h @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        A data point for a top contributor network flow in a scope. Network Flow + * Monitor returns information about the network flows with the top values for each + * metric type, which are called top contributors.

        See Also:

        AWS + * API Reference

        + */ + class WorkloadInsightsTopContributorsDataPoint + { + public: + AWS_NETWORKFLOWMONITOR_API WorkloadInsightsTopContributorsDataPoint(); + AWS_NETWORKFLOWMONITOR_API WorkloadInsightsTopContributorsDataPoint(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API WorkloadInsightsTopContributorsDataPoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        An array of the timestamps for the data point.

        + */ + inline const Aws::Vector& GetTimestamps() const{ return m_timestamps; } + inline bool TimestampsHasBeenSet() const { return m_timestampsHasBeenSet; } + inline void SetTimestamps(const Aws::Vector& value) { m_timestampsHasBeenSet = true; m_timestamps = value; } + inline void SetTimestamps(Aws::Vector&& value) { m_timestampsHasBeenSet = true; m_timestamps = std::move(value); } + inline WorkloadInsightsTopContributorsDataPoint& WithTimestamps(const Aws::Vector& value) { SetTimestamps(value); return *this;} + inline WorkloadInsightsTopContributorsDataPoint& WithTimestamps(Aws::Vector&& value) { SetTimestamps(std::move(value)); return *this;} + inline WorkloadInsightsTopContributorsDataPoint& AddTimestamps(const Aws::Utils::DateTime& value) { m_timestampsHasBeenSet = true; m_timestamps.push_back(value); return *this; } + inline WorkloadInsightsTopContributorsDataPoint& AddTimestamps(Aws::Utils::DateTime&& value) { m_timestampsHasBeenSet = true; m_timestamps.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The values for the data point.

        + */ + inline const Aws::Vector& GetValues() const{ return m_values; } + inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } + inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } + inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } + inline WorkloadInsightsTopContributorsDataPoint& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} + inline WorkloadInsightsTopContributorsDataPoint& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} + inline WorkloadInsightsTopContributorsDataPoint& AddValues(double value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The label identifying the data point.

        + */ + inline const Aws::String& GetLabel() const{ return m_label; } + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; } + inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); } + inline WorkloadInsightsTopContributorsDataPoint& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} + inline WorkloadInsightsTopContributorsDataPoint& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} + inline WorkloadInsightsTopContributorsDataPoint& WithLabel(const char* value) { SetLabel(value); return *this;} + ///@} + private: + + Aws::Vector m_timestamps; + bool m_timestampsHasBeenSet = false; + + Aws::Vector m_values; + bool m_valuesHasBeenSet = false; + + Aws::String m_label; + bool m_labelHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsTopContributorsRow.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsTopContributorsRow.h new file mode 100644 index 00000000000..253302b1850 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/model/WorkloadInsightsTopContributorsRow.h @@ -0,0 +1,194 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFlowMonitor +{ +namespace Model +{ + + /** + *

        A row for a top contributor for a scope.

        See Also:

        AWS + * API Reference

        + */ + class WorkloadInsightsTopContributorsRow + { + public: + AWS_NETWORKFLOWMONITOR_API WorkloadInsightsTopContributorsRow(); + AWS_NETWORKFLOWMONITOR_API WorkloadInsightsTopContributorsRow(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API WorkloadInsightsTopContributorsRow& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFLOWMONITOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The account ID for a specific row of data.

        + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + inline WorkloadInsightsTopContributorsRow& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + inline WorkloadInsightsTopContributorsRow& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + inline WorkloadInsightsTopContributorsRow& WithAccountId(const char* value) { SetAccountId(value); return *this;} + ///@} + + ///@{ + /** + *

        The subnet identifier for the local resource.

        + */ + inline const Aws::String& GetLocalSubnetId() const{ return m_localSubnetId; } + inline bool LocalSubnetIdHasBeenSet() const { return m_localSubnetIdHasBeenSet; } + inline void SetLocalSubnetId(const Aws::String& value) { m_localSubnetIdHasBeenSet = true; m_localSubnetId = value; } + inline void SetLocalSubnetId(Aws::String&& value) { m_localSubnetIdHasBeenSet = true; m_localSubnetId = std::move(value); } + inline void SetLocalSubnetId(const char* value) { m_localSubnetIdHasBeenSet = true; m_localSubnetId.assign(value); } + inline WorkloadInsightsTopContributorsRow& WithLocalSubnetId(const Aws::String& value) { SetLocalSubnetId(value); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalSubnetId(Aws::String&& value) { SetLocalSubnetId(std::move(value)); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalSubnetId(const char* value) { SetLocalSubnetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier for the Availability Zone where the local resource is + * located.

        + */ + inline const Aws::String& GetLocalAz() const{ return m_localAz; } + inline bool LocalAzHasBeenSet() const { return m_localAzHasBeenSet; } + inline void SetLocalAz(const Aws::String& value) { m_localAzHasBeenSet = true; m_localAz = value; } + inline void SetLocalAz(Aws::String&& value) { m_localAzHasBeenSet = true; m_localAz = std::move(value); } + inline void SetLocalAz(const char* value) { m_localAzHasBeenSet = true; m_localAz.assign(value); } + inline WorkloadInsightsTopContributorsRow& WithLocalAz(const Aws::String& value) { SetLocalAz(value); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalAz(Aws::String&& value) { SetLocalAz(std::move(value)); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalAz(const char* value) { SetLocalAz(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier for the VPC for the local resource.

        + */ + inline const Aws::String& GetLocalVpcId() const{ return m_localVpcId; } + inline bool LocalVpcIdHasBeenSet() const { return m_localVpcIdHasBeenSet; } + inline void SetLocalVpcId(const Aws::String& value) { m_localVpcIdHasBeenSet = true; m_localVpcId = value; } + inline void SetLocalVpcId(Aws::String&& value) { m_localVpcIdHasBeenSet = true; m_localVpcId = std::move(value); } + inline void SetLocalVpcId(const char* value) { m_localVpcIdHasBeenSet = true; m_localVpcId.assign(value); } + inline WorkloadInsightsTopContributorsRow& WithLocalVpcId(const Aws::String& value) { SetLocalVpcId(value); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalVpcId(Aws::String&& value) { SetLocalVpcId(std::move(value)); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalVpcId(const char* value) { SetLocalVpcId(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Web Services Region where the local resource is located.

        + */ + inline const Aws::String& GetLocalRegion() const{ return m_localRegion; } + inline bool LocalRegionHasBeenSet() const { return m_localRegionHasBeenSet; } + inline void SetLocalRegion(const Aws::String& value) { m_localRegionHasBeenSet = true; m_localRegion = value; } + inline void SetLocalRegion(Aws::String&& value) { m_localRegionHasBeenSet = true; m_localRegion = std::move(value); } + inline void SetLocalRegion(const char* value) { m_localRegionHasBeenSet = true; m_localRegion.assign(value); } + inline WorkloadInsightsTopContributorsRow& WithLocalRegion(const Aws::String& value) { SetLocalRegion(value); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalRegion(Aws::String&& value) { SetLocalRegion(std::move(value)); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalRegion(const char* value) { SetLocalRegion(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier of a remote resource.

        + */ + inline const Aws::String& GetRemoteIdentifier() const{ return m_remoteIdentifier; } + inline bool RemoteIdentifierHasBeenSet() const { return m_remoteIdentifierHasBeenSet; } + inline void SetRemoteIdentifier(const Aws::String& value) { m_remoteIdentifierHasBeenSet = true; m_remoteIdentifier = value; } + inline void SetRemoteIdentifier(Aws::String&& value) { m_remoteIdentifierHasBeenSet = true; m_remoteIdentifier = std::move(value); } + inline void SetRemoteIdentifier(const char* value) { m_remoteIdentifierHasBeenSet = true; m_remoteIdentifier.assign(value); } + inline WorkloadInsightsTopContributorsRow& WithRemoteIdentifier(const Aws::String& value) { SetRemoteIdentifier(value); return *this;} + inline WorkloadInsightsTopContributorsRow& WithRemoteIdentifier(Aws::String&& value) { SetRemoteIdentifier(std::move(value)); return *this;} + inline WorkloadInsightsTopContributorsRow& WithRemoteIdentifier(const char* value) { SetRemoteIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

        The value for a metric.

        + */ + inline long long GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(long long value) { m_valueHasBeenSet = true; m_value = value; } + inline WorkloadInsightsTopContributorsRow& WithValue(long long value) { SetValue(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of a local subnet.

        + */ + inline const Aws::String& GetLocalSubnetArn() const{ return m_localSubnetArn; } + inline bool LocalSubnetArnHasBeenSet() const { return m_localSubnetArnHasBeenSet; } + inline void SetLocalSubnetArn(const Aws::String& value) { m_localSubnetArnHasBeenSet = true; m_localSubnetArn = value; } + inline void SetLocalSubnetArn(Aws::String&& value) { m_localSubnetArnHasBeenSet = true; m_localSubnetArn = std::move(value); } + inline void SetLocalSubnetArn(const char* value) { m_localSubnetArnHasBeenSet = true; m_localSubnetArn.assign(value); } + inline WorkloadInsightsTopContributorsRow& WithLocalSubnetArn(const Aws::String& value) { SetLocalSubnetArn(value); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalSubnetArn(Aws::String&& value) { SetLocalSubnetArn(std::move(value)); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalSubnetArn(const char* value) { SetLocalSubnetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of a local VPC.

        + */ + inline const Aws::String& GetLocalVpcArn() const{ return m_localVpcArn; } + inline bool LocalVpcArnHasBeenSet() const { return m_localVpcArnHasBeenSet; } + inline void SetLocalVpcArn(const Aws::String& value) { m_localVpcArnHasBeenSet = true; m_localVpcArn = value; } + inline void SetLocalVpcArn(Aws::String&& value) { m_localVpcArnHasBeenSet = true; m_localVpcArn = std::move(value); } + inline void SetLocalVpcArn(const char* value) { m_localVpcArnHasBeenSet = true; m_localVpcArn.assign(value); } + inline WorkloadInsightsTopContributorsRow& WithLocalVpcArn(const Aws::String& value) { SetLocalVpcArn(value); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalVpcArn(Aws::String&& value) { SetLocalVpcArn(std::move(value)); return *this;} + inline WorkloadInsightsTopContributorsRow& WithLocalVpcArn(const char* value) { SetLocalVpcArn(value); return *this;} + ///@} + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_localSubnetId; + bool m_localSubnetIdHasBeenSet = false; + + Aws::String m_localAz; + bool m_localAzHasBeenSet = false; + + Aws::String m_localVpcId; + bool m_localVpcIdHasBeenSet = false; + + Aws::String m_localRegion; + bool m_localRegionHasBeenSet = false; + + Aws::String m_remoteIdentifier; + bool m_remoteIdentifierHasBeenSet = false; + + long long m_value; + bool m_valueHasBeenSet = false; + + Aws::String m_localSubnetArn; + bool m_localSubnetArnHasBeenSet = false; + + Aws::String m_localVpcArn; + bool m_localVpcArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClient.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClient.cpp new file mode 100644 index 00000000000..547a8197f18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClient.cpp @@ -0,0 +1,1069 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::NetworkFlowMonitor; +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace NetworkFlowMonitor + { + const char SERVICE_NAME[] = "networkflowmonitor"; + const char ALLOCATION_TAG[] = "NetworkFlowMonitorClient"; + } +} +const char* NetworkFlowMonitorClient::GetServiceName() {return SERVICE_NAME;} +const char* NetworkFlowMonitorClient::GetAllocationTag() {return ALLOCATION_TAG;} + +NetworkFlowMonitorClient::NetworkFlowMonitorClient(const NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +NetworkFlowMonitorClient::NetworkFlowMonitorClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +NetworkFlowMonitorClient::NetworkFlowMonitorClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + NetworkFlowMonitorClient::NetworkFlowMonitorClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +NetworkFlowMonitorClient::NetworkFlowMonitorClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +NetworkFlowMonitorClient::NetworkFlowMonitorClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +NetworkFlowMonitorClient::~NetworkFlowMonitorClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& NetworkFlowMonitorClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void NetworkFlowMonitorClient::init(const NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration& config) +{ + AWSClient::SetServiceClientName("NetworkFlowMonitor"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void NetworkFlowMonitorClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +CreateMonitorOutcome NetworkFlowMonitorClient::CreateMonitor(const CreateMonitorRequest& request) const +{ + AWS_OPERATION_GUARD(CreateMonitor); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateMonitor, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateMonitor, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateMonitor, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateMonitor", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateMonitorOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateMonitor, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/monitors"); + return CreateMonitorOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateScopeOutcome NetworkFlowMonitorClient::CreateScope(const CreateScopeRequest& request) const +{ + AWS_OPERATION_GUARD(CreateScope); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateScope, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateScope, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateScope, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateScope", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateScopeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateScope, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/scopes"); + return CreateScopeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteMonitorOutcome NetworkFlowMonitorClient::DeleteMonitor(const DeleteMonitorRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteMonitor); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteMonitor, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MonitorNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteMonitor", "Required field: MonitorName, is not set"); + return DeleteMonitorOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MonitorName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteMonitor, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteMonitor, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteMonitor", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteMonitorOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteMonitor, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/monitors/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMonitorName()); + return DeleteMonitorOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteScopeOutcome NetworkFlowMonitorClient::DeleteScope(const DeleteScopeRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteScope); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteScope, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScopeIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteScope", "Required field: ScopeId, is not set"); + return DeleteScopeOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScopeId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteScope, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteScope, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteScope", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteScopeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteScope, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/scopes/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScopeId()); + return DeleteScopeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetMonitorOutcome NetworkFlowMonitorClient::GetMonitor(const GetMonitorRequest& request) const +{ + AWS_OPERATION_GUARD(GetMonitor); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetMonitor, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MonitorNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetMonitor", "Required field: MonitorName, is not set"); + return GetMonitorOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MonitorName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetMonitor, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetMonitor, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetMonitor", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetMonitorOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetMonitor, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/monitors/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMonitorName()); + return GetMonitorOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetQueryResultsMonitorTopContributorsOutcome NetworkFlowMonitorClient::GetQueryResultsMonitorTopContributors(const GetQueryResultsMonitorTopContributorsRequest& request) const +{ + AWS_OPERATION_GUARD(GetQueryResultsMonitorTopContributors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetQueryResultsMonitorTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MonitorNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryResultsMonitorTopContributors", "Required field: MonitorName, is not set"); + return GetQueryResultsMonitorTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MonitorName]", false)); + } + if (!request.QueryIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryResultsMonitorTopContributors", "Required field: QueryId, is not set"); + return GetQueryResultsMonitorTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueryId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetQueryResultsMonitorTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetQueryResultsMonitorTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetQueryResultsMonitorTopContributors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetQueryResultsMonitorTopContributorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetQueryResultsMonitorTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/monitors/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMonitorName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsQueries/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetQueryId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/results"); + return GetQueryResultsMonitorTopContributorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetQueryResultsWorkloadInsightsTopContributorsOutcome NetworkFlowMonitorClient::GetQueryResultsWorkloadInsightsTopContributors(const GetQueryResultsWorkloadInsightsTopContributorsRequest& request) const +{ + AWS_OPERATION_GUARD(GetQueryResultsWorkloadInsightsTopContributors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetQueryResultsWorkloadInsightsTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScopeIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryResultsWorkloadInsightsTopContributors", "Required field: ScopeId, is not set"); + return GetQueryResultsWorkloadInsightsTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScopeId]", false)); + } + if (!request.QueryIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryResultsWorkloadInsightsTopContributors", "Required field: QueryId, is not set"); + return GetQueryResultsWorkloadInsightsTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueryId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetQueryResultsWorkloadInsightsTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetQueryResultsWorkloadInsightsTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetQueryResultsWorkloadInsightsTopContributors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetQueryResultsWorkloadInsightsTopContributorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetQueryResultsWorkloadInsightsTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/workloadInsights/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScopeId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsQueries/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetQueryId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/results"); + return GetQueryResultsWorkloadInsightsTopContributorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetQueryResultsWorkloadInsightsTopContributorsDataOutcome NetworkFlowMonitorClient::GetQueryResultsWorkloadInsightsTopContributorsData(const GetQueryResultsWorkloadInsightsTopContributorsDataRequest& request) const +{ + AWS_OPERATION_GUARD(GetQueryResultsWorkloadInsightsTopContributorsData); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetQueryResultsWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScopeIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryResultsWorkloadInsightsTopContributorsData", "Required field: ScopeId, is not set"); + return GetQueryResultsWorkloadInsightsTopContributorsDataOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScopeId]", false)); + } + if (!request.QueryIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryResultsWorkloadInsightsTopContributorsData", "Required field: QueryId, is not set"); + return GetQueryResultsWorkloadInsightsTopContributorsDataOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueryId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetQueryResultsWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetQueryResultsWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetQueryResultsWorkloadInsightsTopContributorsData", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetQueryResultsWorkloadInsightsTopContributorsDataOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetQueryResultsWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/workloadInsights/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScopeId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsDataQueries/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetQueryId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/results"); + return GetQueryResultsWorkloadInsightsTopContributorsDataOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetQueryStatusMonitorTopContributorsOutcome NetworkFlowMonitorClient::GetQueryStatusMonitorTopContributors(const GetQueryStatusMonitorTopContributorsRequest& request) const +{ + AWS_OPERATION_GUARD(GetQueryStatusMonitorTopContributors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetQueryStatusMonitorTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MonitorNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryStatusMonitorTopContributors", "Required field: MonitorName, is not set"); + return GetQueryStatusMonitorTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MonitorName]", false)); + } + if (!request.QueryIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryStatusMonitorTopContributors", "Required field: QueryId, is not set"); + return GetQueryStatusMonitorTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueryId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetQueryStatusMonitorTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetQueryStatusMonitorTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetQueryStatusMonitorTopContributors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetQueryStatusMonitorTopContributorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetQueryStatusMonitorTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/monitors/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMonitorName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsQueries/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetQueryId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/status"); + return GetQueryStatusMonitorTopContributorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetQueryStatusWorkloadInsightsTopContributorsOutcome NetworkFlowMonitorClient::GetQueryStatusWorkloadInsightsTopContributors(const GetQueryStatusWorkloadInsightsTopContributorsRequest& request) const +{ + AWS_OPERATION_GUARD(GetQueryStatusWorkloadInsightsTopContributors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetQueryStatusWorkloadInsightsTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScopeIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryStatusWorkloadInsightsTopContributors", "Required field: ScopeId, is not set"); + return GetQueryStatusWorkloadInsightsTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScopeId]", false)); + } + if (!request.QueryIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryStatusWorkloadInsightsTopContributors", "Required field: QueryId, is not set"); + return GetQueryStatusWorkloadInsightsTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueryId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetQueryStatusWorkloadInsightsTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetQueryStatusWorkloadInsightsTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetQueryStatusWorkloadInsightsTopContributors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetQueryStatusWorkloadInsightsTopContributorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetQueryStatusWorkloadInsightsTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/workloadInsights/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScopeId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsQueries/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetQueryId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/status"); + return GetQueryStatusWorkloadInsightsTopContributorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetQueryStatusWorkloadInsightsTopContributorsDataOutcome NetworkFlowMonitorClient::GetQueryStatusWorkloadInsightsTopContributorsData(const GetQueryStatusWorkloadInsightsTopContributorsDataRequest& request) const +{ + AWS_OPERATION_GUARD(GetQueryStatusWorkloadInsightsTopContributorsData); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetQueryStatusWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScopeIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryStatusWorkloadInsightsTopContributorsData", "Required field: ScopeId, is not set"); + return GetQueryStatusWorkloadInsightsTopContributorsDataOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScopeId]", false)); + } + if (!request.QueryIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueryStatusWorkloadInsightsTopContributorsData", "Required field: QueryId, is not set"); + return GetQueryStatusWorkloadInsightsTopContributorsDataOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueryId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetQueryStatusWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetQueryStatusWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetQueryStatusWorkloadInsightsTopContributorsData", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetQueryStatusWorkloadInsightsTopContributorsDataOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetQueryStatusWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/workloadInsights/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScopeId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsDataQueries/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetQueryId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/status"); + return GetQueryStatusWorkloadInsightsTopContributorsDataOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetScopeOutcome NetworkFlowMonitorClient::GetScope(const GetScopeRequest& request) const +{ + AWS_OPERATION_GUARD(GetScope); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetScope, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScopeIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetScope", "Required field: ScopeId, is not set"); + return GetScopeOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScopeId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetScope, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetScope, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetScope", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetScopeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetScope, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/scopes/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScopeId()); + return GetScopeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListMonitorsOutcome NetworkFlowMonitorClient::ListMonitors(const ListMonitorsRequest& request) const +{ + AWS_OPERATION_GUARD(ListMonitors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListMonitors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListMonitors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListMonitors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListMonitors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListMonitorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListMonitors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/monitors"); + return ListMonitorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListScopesOutcome NetworkFlowMonitorClient::ListScopes(const ListScopesRequest& request) const +{ + AWS_OPERATION_GUARD(ListScopes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListScopes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListScopes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListScopes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListScopes", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListScopesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListScopes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/scopes"); + return ListScopesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListTagsForResourceOutcome NetworkFlowMonitorClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set"); + return ListTagsForResourceOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTagsForResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return ListTagsForResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +StartQueryMonitorTopContributorsOutcome NetworkFlowMonitorClient::StartQueryMonitorTopContributors(const StartQueryMonitorTopContributorsRequest& request) const +{ + AWS_OPERATION_GUARD(StartQueryMonitorTopContributors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StartQueryMonitorTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MonitorNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StartQueryMonitorTopContributors", "Required field: MonitorName, is not set"); + return StartQueryMonitorTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MonitorName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StartQueryMonitorTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StartQueryMonitorTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StartQueryMonitorTopContributors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> StartQueryMonitorTopContributorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, StartQueryMonitorTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/monitors/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMonitorName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsQueries"); + return StartQueryMonitorTopContributorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +StartQueryWorkloadInsightsTopContributorsOutcome NetworkFlowMonitorClient::StartQueryWorkloadInsightsTopContributors(const StartQueryWorkloadInsightsTopContributorsRequest& request) const +{ + AWS_OPERATION_GUARD(StartQueryWorkloadInsightsTopContributors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StartQueryWorkloadInsightsTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScopeIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StartQueryWorkloadInsightsTopContributors", "Required field: ScopeId, is not set"); + return StartQueryWorkloadInsightsTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScopeId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StartQueryWorkloadInsightsTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StartQueryWorkloadInsightsTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StartQueryWorkloadInsightsTopContributors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> StartQueryWorkloadInsightsTopContributorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, StartQueryWorkloadInsightsTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/workloadInsights/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScopeId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsQueries"); + return StartQueryWorkloadInsightsTopContributorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +StartQueryWorkloadInsightsTopContributorsDataOutcome NetworkFlowMonitorClient::StartQueryWorkloadInsightsTopContributorsData(const StartQueryWorkloadInsightsTopContributorsDataRequest& request) const +{ + AWS_OPERATION_GUARD(StartQueryWorkloadInsightsTopContributorsData); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StartQueryWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScopeIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StartQueryWorkloadInsightsTopContributorsData", "Required field: ScopeId, is not set"); + return StartQueryWorkloadInsightsTopContributorsDataOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScopeId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StartQueryWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StartQueryWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StartQueryWorkloadInsightsTopContributorsData", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> StartQueryWorkloadInsightsTopContributorsDataOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, StartQueryWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/workloadInsights/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScopeId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsDataQueries"); + return StartQueryWorkloadInsightsTopContributorsDataOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +StopQueryMonitorTopContributorsOutcome NetworkFlowMonitorClient::StopQueryMonitorTopContributors(const StopQueryMonitorTopContributorsRequest& request) const +{ + AWS_OPERATION_GUARD(StopQueryMonitorTopContributors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StopQueryMonitorTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MonitorNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StopQueryMonitorTopContributors", "Required field: MonitorName, is not set"); + return StopQueryMonitorTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MonitorName]", false)); + } + if (!request.QueryIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StopQueryMonitorTopContributors", "Required field: QueryId, is not set"); + return StopQueryMonitorTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueryId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StopQueryMonitorTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StopQueryMonitorTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StopQueryMonitorTopContributors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> StopQueryMonitorTopContributorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, StopQueryMonitorTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/monitors/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMonitorName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsQueries/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetQueryId()); + return StopQueryMonitorTopContributorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +StopQueryWorkloadInsightsTopContributorsOutcome NetworkFlowMonitorClient::StopQueryWorkloadInsightsTopContributors(const StopQueryWorkloadInsightsTopContributorsRequest& request) const +{ + AWS_OPERATION_GUARD(StopQueryWorkloadInsightsTopContributors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StopQueryWorkloadInsightsTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScopeIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StopQueryWorkloadInsightsTopContributors", "Required field: ScopeId, is not set"); + return StopQueryWorkloadInsightsTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScopeId]", false)); + } + if (!request.QueryIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StopQueryWorkloadInsightsTopContributors", "Required field: QueryId, is not set"); + return StopQueryWorkloadInsightsTopContributorsOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueryId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StopQueryWorkloadInsightsTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StopQueryWorkloadInsightsTopContributors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StopQueryWorkloadInsightsTopContributors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> StopQueryWorkloadInsightsTopContributorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, StopQueryWorkloadInsightsTopContributors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/workloadInsights/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScopeId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsQueries/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetQueryId()); + return StopQueryWorkloadInsightsTopContributorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +StopQueryWorkloadInsightsTopContributorsDataOutcome NetworkFlowMonitorClient::StopQueryWorkloadInsightsTopContributorsData(const StopQueryWorkloadInsightsTopContributorsDataRequest& request) const +{ + AWS_OPERATION_GUARD(StopQueryWorkloadInsightsTopContributorsData); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StopQueryWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScopeIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StopQueryWorkloadInsightsTopContributorsData", "Required field: ScopeId, is not set"); + return StopQueryWorkloadInsightsTopContributorsDataOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScopeId]", false)); + } + if (!request.QueryIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StopQueryWorkloadInsightsTopContributorsData", "Required field: QueryId, is not set"); + return StopQueryWorkloadInsightsTopContributorsDataOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueryId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StopQueryWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StopQueryWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StopQueryWorkloadInsightsTopContributorsData", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> StopQueryWorkloadInsightsTopContributorsDataOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, StopQueryWorkloadInsightsTopContributorsData, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/workloadInsights/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScopeId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/topContributorsDataQueries/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetQueryId()); + return StopQueryWorkloadInsightsTopContributorsDataOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TagResourceOutcome NetworkFlowMonitorClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set"); + return TagResourceOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return TagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UntagResourceOutcome NetworkFlowMonitorClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + if (!request.TagKeysHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UntagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return UntagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateMonitorOutcome NetworkFlowMonitorClient::UpdateMonitor(const UpdateMonitorRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateMonitor); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateMonitor, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MonitorNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateMonitor", "Required field: MonitorName, is not set"); + return UpdateMonitorOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MonitorName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateMonitor, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateMonitor, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateMonitor", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateMonitorOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateMonitor, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/monitors/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMonitorName()); + return UpdateMonitorOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateScopeOutcome NetworkFlowMonitorClient::UpdateScope(const UpdateScopeRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateScope); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateScope, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScopeIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateScope", "Required field: ScopeId, is not set"); + return UpdateScopeOutcome(Aws::Client::AWSError(NetworkFlowMonitorErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScopeId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateScope, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateScope, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateScope", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateScopeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateScope, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/scopes/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScopeId()); + return UpdateScopeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointProvider.cpp new file mode 100644 index 00000000000..3f7e06c9378 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointRules.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointRules.cpp new file mode 100644 index 00000000000..459b8187c1b --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointRules.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +const size_t NetworkFlowMonitorEndpointRules::RulesBlobStrLen = 1648; +const size_t NetworkFlowMonitorEndpointRules::RulesBlobSize = 1649; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','U','s','e','F','I','P','S','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e','q','u','i','r','e', +'d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e', +',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ','t','o',' ','t','h', +'e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g','i','o','n','a','l', +' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o','n','f','i','g','u', +'r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o','t',' ','h','a','v', +'e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e','n','d','p','o','i', +'n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e', +'s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"', +',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','E','n','d','p','o', +'i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K',':',':','E','n','d', +'p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r','r','i','d','e',' ', +'t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o',' ','s','e','n','d', +' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e','"',':','"','S','t', +'r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d', +'"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"', +'T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i', +'s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p', +'e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a', +'n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o', +'t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','n','e','t','w','o','r','k','f','l','o','w', +'m','o','n','i','t','o','r','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','n','e','t','w','o','r','k','f','l','o','w','m','o','n','i','t','o','r','.','{','R','e', +'g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u', +'a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M', +'i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* NetworkFlowMonitorEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorErrorMarshaller.cpp new file mode 100644 index 00000000000..462b730b5bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::NetworkFlowMonitor; + +AWSError NetworkFlowMonitorErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = NetworkFlowMonitorErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorErrors.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorErrors.cpp new file mode 100644 index 00000000000..f0e07ed6145 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorErrors.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::NetworkFlowMonitor; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace NetworkFlowMonitorErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(NetworkFlowMonitorErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(NetworkFlowMonitorErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(NetworkFlowMonitorErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace NetworkFlowMonitorErrorMapper +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorRequest.cpp new file mode 100644 index 00000000000..ef8dc33e94b --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateMonitorRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateMonitorRequest.cpp new file mode 100644 index 00000000000..74160920d9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateMonitorRequest.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateMonitorRequest::CreateMonitorRequest() : + m_monitorNameHasBeenSet(false), + m_localResourcesHasBeenSet(false), + m_remoteResourcesHasBeenSet(false), + m_scopeArnHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateMonitorRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_monitorNameHasBeenSet) + { + payload.WithString("monitorName", m_monitorName); + + } + + if(m_localResourcesHasBeenSet) + { + Aws::Utils::Array localResourcesJsonList(m_localResources.size()); + for(unsigned localResourcesIndex = 0; localResourcesIndex < localResourcesJsonList.GetLength(); ++localResourcesIndex) + { + localResourcesJsonList[localResourcesIndex].AsObject(m_localResources[localResourcesIndex].Jsonize()); + } + payload.WithArray("localResources", std::move(localResourcesJsonList)); + + } + + if(m_remoteResourcesHasBeenSet) + { + Aws::Utils::Array remoteResourcesJsonList(m_remoteResources.size()); + for(unsigned remoteResourcesIndex = 0; remoteResourcesIndex < remoteResourcesJsonList.GetLength(); ++remoteResourcesIndex) + { + remoteResourcesJsonList[remoteResourcesIndex].AsObject(m_remoteResources[remoteResourcesIndex].Jsonize()); + } + payload.WithArray("remoteResources", std::move(remoteResourcesJsonList)); + + } + + if(m_scopeArnHasBeenSet) + { + payload.WithString("scopeArn", m_scopeArn); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateMonitorResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateMonitorResult.cpp new file mode 100644 index 00000000000..88bc2acdfab --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateMonitorResult.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateMonitorResult::CreateMonitorResult() : + m_monitorStatus(MonitorStatus::NOT_SET) +{ +} + +CreateMonitorResult::CreateMonitorResult(const Aws::AmazonWebServiceResult& result) + : CreateMonitorResult() +{ + *this = result; +} + +CreateMonitorResult& CreateMonitorResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("monitorArn")) + { + m_monitorArn = jsonValue.GetString("monitorArn"); + + } + + if(jsonValue.ValueExists("monitorName")) + { + m_monitorName = jsonValue.GetString("monitorName"); + + } + + if(jsonValue.ValueExists("monitorStatus")) + { + m_monitorStatus = MonitorStatusMapper::GetMonitorStatusForName(jsonValue.GetString("monitorStatus")); + + } + + if(jsonValue.ValueExists("localResources")) + { + Aws::Utils::Array localResourcesJsonList = jsonValue.GetArray("localResources"); + for(unsigned localResourcesIndex = 0; localResourcesIndex < localResourcesJsonList.GetLength(); ++localResourcesIndex) + { + m_localResources.push_back(localResourcesJsonList[localResourcesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("remoteResources")) + { + Aws::Utils::Array remoteResourcesJsonList = jsonValue.GetArray("remoteResources"); + for(unsigned remoteResourcesIndex = 0; remoteResourcesIndex < remoteResourcesJsonList.GetLength(); ++remoteResourcesIndex) + { + m_remoteResources.push_back(remoteResourcesJsonList[remoteResourcesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + } + + if(jsonValue.ValueExists("modifiedAt")) + { + m_modifiedAt = jsonValue.GetDouble("modifiedAt"); + + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateScopeRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateScopeRequest.cpp new file mode 100644 index 00000000000..450d61b2729 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateScopeRequest.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateScopeRequest::CreateScopeRequest() : + m_targetsHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateScopeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_targetsHasBeenSet) + { + Aws::Utils::Array targetsJsonList(m_targets.size()); + for(unsigned targetsIndex = 0; targetsIndex < targetsJsonList.GetLength(); ++targetsIndex) + { + targetsJsonList[targetsIndex].AsObject(m_targets[targetsIndex].Jsonize()); + } + payload.WithArray("targets", std::move(targetsJsonList)); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateScopeResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateScopeResult.cpp new file mode 100644 index 00000000000..ef164b811fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/CreateScopeResult.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateScopeResult::CreateScopeResult() : + m_status(ScopeStatus::NOT_SET) +{ +} + +CreateScopeResult::CreateScopeResult(const Aws::AmazonWebServiceResult& result) + : CreateScopeResult() +{ + *this = result; +} + +CreateScopeResult& CreateScopeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scopeId")) + { + m_scopeId = jsonValue.GetString("scopeId"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = ScopeStatusMapper::GetScopeStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("scopeArn")) + { + m_scopeArn = jsonValue.GetString("scopeArn"); + + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteMonitorRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteMonitorRequest.cpp new file mode 100644 index 00000000000..05e4e4929d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteMonitorRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteMonitorRequest::DeleteMonitorRequest() : + m_monitorNameHasBeenSet(false) +{ +} + +Aws::String DeleteMonitorRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteMonitorResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteMonitorResult.cpp new file mode 100644 index 00000000000..32f58812f0b --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteMonitorResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteMonitorResult::DeleteMonitorResult() +{ +} + +DeleteMonitorResult::DeleteMonitorResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteMonitorResult& DeleteMonitorResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteScopeRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteScopeRequest.cpp new file mode 100644 index 00000000000..2051a2ef691 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteScopeRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteScopeRequest::DeleteScopeRequest() : + m_scopeIdHasBeenSet(false) +{ +} + +Aws::String DeleteScopeRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteScopeResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteScopeResult.cpp new file mode 100644 index 00000000000..6964e0a54cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DeleteScopeResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteScopeResult::DeleteScopeResult() +{ +} + +DeleteScopeResult::DeleteScopeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteScopeResult& DeleteScopeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DestinationCategory.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DestinationCategory.cpp new file mode 100644 index 00000000000..17a0593f25f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/DestinationCategory.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace NetworkFlowMonitor + { + namespace Model + { + namespace DestinationCategoryMapper + { + + static const int INTRA_AZ_HASH = HashingUtils::HashString("INTRA_AZ"); + static const int INTER_AZ_HASH = HashingUtils::HashString("INTER_AZ"); + static const int INTER_VPC_HASH = HashingUtils::HashString("INTER_VPC"); + static const int UNCLASSIFIED_HASH = HashingUtils::HashString("UNCLASSIFIED"); + static const int AMAZON_S3_HASH = HashingUtils::HashString("AMAZON_S3"); + static const int AMAZON_DYNAMODB_HASH = HashingUtils::HashString("AMAZON_DYNAMODB"); + + + DestinationCategory GetDestinationCategoryForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INTRA_AZ_HASH) + { + return DestinationCategory::INTRA_AZ; + } + else if (hashCode == INTER_AZ_HASH) + { + return DestinationCategory::INTER_AZ; + } + else if (hashCode == INTER_VPC_HASH) + { + return DestinationCategory::INTER_VPC; + } + else if (hashCode == UNCLASSIFIED_HASH) + { + return DestinationCategory::UNCLASSIFIED; + } + else if (hashCode == AMAZON_S3_HASH) + { + return DestinationCategory::AMAZON_S3; + } + else if (hashCode == AMAZON_DYNAMODB_HASH) + { + return DestinationCategory::AMAZON_DYNAMODB; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DestinationCategory::NOT_SET; + } + + Aws::String GetNameForDestinationCategory(DestinationCategory enumValue) + { + switch(enumValue) + { + case DestinationCategory::NOT_SET: + return {}; + case DestinationCategory::INTRA_AZ: + return "INTRA_AZ"; + case DestinationCategory::INTER_AZ: + return "INTER_AZ"; + case DestinationCategory::INTER_VPC: + return "INTER_VPC"; + case DestinationCategory::UNCLASSIFIED: + return "UNCLASSIFIED"; + case DestinationCategory::AMAZON_S3: + return "AMAZON_S3"; + case DestinationCategory::AMAZON_DYNAMODB: + return "AMAZON_DYNAMODB"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DestinationCategoryMapper + } // namespace Model + } // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetMonitorRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetMonitorRequest.cpp new file mode 100644 index 00000000000..73e04fe3d83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetMonitorRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetMonitorRequest::GetMonitorRequest() : + m_monitorNameHasBeenSet(false) +{ +} + +Aws::String GetMonitorRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetMonitorResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetMonitorResult.cpp new file mode 100644 index 00000000000..fa0138303cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetMonitorResult.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetMonitorResult::GetMonitorResult() : + m_monitorStatus(MonitorStatus::NOT_SET) +{ +} + +GetMonitorResult::GetMonitorResult(const Aws::AmazonWebServiceResult& result) + : GetMonitorResult() +{ + *this = result; +} + +GetMonitorResult& GetMonitorResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("monitorArn")) + { + m_monitorArn = jsonValue.GetString("monitorArn"); + + } + + if(jsonValue.ValueExists("monitorName")) + { + m_monitorName = jsonValue.GetString("monitorName"); + + } + + if(jsonValue.ValueExists("monitorStatus")) + { + m_monitorStatus = MonitorStatusMapper::GetMonitorStatusForName(jsonValue.GetString("monitorStatus")); + + } + + if(jsonValue.ValueExists("localResources")) + { + Aws::Utils::Array localResourcesJsonList = jsonValue.GetArray("localResources"); + for(unsigned localResourcesIndex = 0; localResourcesIndex < localResourcesJsonList.GetLength(); ++localResourcesIndex) + { + m_localResources.push_back(localResourcesJsonList[localResourcesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("remoteResources")) + { + Aws::Utils::Array remoteResourcesJsonList = jsonValue.GetArray("remoteResources"); + for(unsigned remoteResourcesIndex = 0; remoteResourcesIndex < remoteResourcesJsonList.GetLength(); ++remoteResourcesIndex) + { + m_remoteResources.push_back(remoteResourcesJsonList[remoteResourcesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + } + + if(jsonValue.ValueExists("modifiedAt")) + { + m_modifiedAt = jsonValue.GetDouble("modifiedAt"); + + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsMonitorTopContributorsRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsMonitorTopContributorsRequest.cpp new file mode 100644 index 00000000000..9a13e90b815 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsMonitorTopContributorsRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetQueryResultsMonitorTopContributorsRequest::GetQueryResultsMonitorTopContributorsRequest() : + m_monitorNameHasBeenSet(false), + m_queryIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String GetQueryResultsMonitorTopContributorsRequest::SerializePayload() const +{ + return {}; +} + +void GetQueryResultsMonitorTopContributorsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsMonitorTopContributorsResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsMonitorTopContributorsResult.cpp new file mode 100644 index 00000000000..ce581341078 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsMonitorTopContributorsResult.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetQueryResultsMonitorTopContributorsResult::GetQueryResultsMonitorTopContributorsResult() : + m_unit(MetricUnit::NOT_SET) +{ +} + +GetQueryResultsMonitorTopContributorsResult::GetQueryResultsMonitorTopContributorsResult(const Aws::AmazonWebServiceResult& result) + : GetQueryResultsMonitorTopContributorsResult() +{ + *this = result; +} + +GetQueryResultsMonitorTopContributorsResult& GetQueryResultsMonitorTopContributorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("unit")) + { + m_unit = MetricUnitMapper::GetMetricUnitForName(jsonValue.GetString("unit")); + + } + + if(jsonValue.ValueExists("topContributors")) + { + Aws::Utils::Array topContributorsJsonList = jsonValue.GetArray("topContributors"); + for(unsigned topContributorsIndex = 0; topContributorsIndex < topContributorsJsonList.GetLength(); ++topContributorsIndex) + { + m_topContributors.push_back(topContributorsJsonList[topContributorsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsDataRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsDataRequest.cpp new file mode 100644 index 00000000000..3a9ca1e80fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsDataRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetQueryResultsWorkloadInsightsTopContributorsDataRequest::GetQueryResultsWorkloadInsightsTopContributorsDataRequest() : + m_scopeIdHasBeenSet(false), + m_queryIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String GetQueryResultsWorkloadInsightsTopContributorsDataRequest::SerializePayload() const +{ + return {}; +} + +void GetQueryResultsWorkloadInsightsTopContributorsDataRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsDataResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsDataResult.cpp new file mode 100644 index 00000000000..873fc0d92e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsDataResult.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetQueryResultsWorkloadInsightsTopContributorsDataResult::GetQueryResultsWorkloadInsightsTopContributorsDataResult() : + m_unit(MetricUnit::NOT_SET) +{ +} + +GetQueryResultsWorkloadInsightsTopContributorsDataResult::GetQueryResultsWorkloadInsightsTopContributorsDataResult(const Aws::AmazonWebServiceResult& result) + : GetQueryResultsWorkloadInsightsTopContributorsDataResult() +{ + *this = result; +} + +GetQueryResultsWorkloadInsightsTopContributorsDataResult& GetQueryResultsWorkloadInsightsTopContributorsDataResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("unit")) + { + m_unit = MetricUnitMapper::GetMetricUnitForName(jsonValue.GetString("unit")); + + } + + if(jsonValue.ValueExists("datapoints")) + { + Aws::Utils::Array datapointsJsonList = jsonValue.GetArray("datapoints"); + for(unsigned datapointsIndex = 0; datapointsIndex < datapointsJsonList.GetLength(); ++datapointsIndex) + { + m_datapoints.push_back(datapointsJsonList[datapointsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsRequest.cpp new file mode 100644 index 00000000000..3d0c54233a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetQueryResultsWorkloadInsightsTopContributorsRequest::GetQueryResultsWorkloadInsightsTopContributorsRequest() : + m_scopeIdHasBeenSet(false), + m_queryIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String GetQueryResultsWorkloadInsightsTopContributorsRequest::SerializePayload() const +{ + return {}; +} + +void GetQueryResultsWorkloadInsightsTopContributorsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsResult.cpp new file mode 100644 index 00000000000..396efccfa40 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryResultsWorkloadInsightsTopContributorsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetQueryResultsWorkloadInsightsTopContributorsResult::GetQueryResultsWorkloadInsightsTopContributorsResult() +{ +} + +GetQueryResultsWorkloadInsightsTopContributorsResult::GetQueryResultsWorkloadInsightsTopContributorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetQueryResultsWorkloadInsightsTopContributorsResult& GetQueryResultsWorkloadInsightsTopContributorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("topContributors")) + { + Aws::Utils::Array topContributorsJsonList = jsonValue.GetArray("topContributors"); + for(unsigned topContributorsIndex = 0; topContributorsIndex < topContributorsJsonList.GetLength(); ++topContributorsIndex) + { + m_topContributors.push_back(topContributorsJsonList[topContributorsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusMonitorTopContributorsRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusMonitorTopContributorsRequest.cpp new file mode 100644 index 00000000000..669c5cb58f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusMonitorTopContributorsRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetQueryStatusMonitorTopContributorsRequest::GetQueryStatusMonitorTopContributorsRequest() : + m_monitorNameHasBeenSet(false), + m_queryIdHasBeenSet(false) +{ +} + +Aws::String GetQueryStatusMonitorTopContributorsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusMonitorTopContributorsResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusMonitorTopContributorsResult.cpp new file mode 100644 index 00000000000..88012c611dc --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusMonitorTopContributorsResult.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetQueryStatusMonitorTopContributorsResult::GetQueryStatusMonitorTopContributorsResult() : + m_status(QueryStatus::NOT_SET) +{ +} + +GetQueryStatusMonitorTopContributorsResult::GetQueryStatusMonitorTopContributorsResult(const Aws::AmazonWebServiceResult& result) + : GetQueryStatusMonitorTopContributorsResult() +{ + *this = result; +} + +GetQueryStatusMonitorTopContributorsResult& GetQueryStatusMonitorTopContributorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("status")) + { + m_status = QueryStatusMapper::GetQueryStatusForName(jsonValue.GetString("status")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsDataRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsDataRequest.cpp new file mode 100644 index 00000000000..e145e86e20f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsDataRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetQueryStatusWorkloadInsightsTopContributorsDataRequest::GetQueryStatusWorkloadInsightsTopContributorsDataRequest() : + m_scopeIdHasBeenSet(false), + m_queryIdHasBeenSet(false) +{ +} + +Aws::String GetQueryStatusWorkloadInsightsTopContributorsDataRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsDataResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsDataResult.cpp new file mode 100644 index 00000000000..21614a32593 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsDataResult.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetQueryStatusWorkloadInsightsTopContributorsDataResult::GetQueryStatusWorkloadInsightsTopContributorsDataResult() : + m_status(QueryStatus::NOT_SET) +{ +} + +GetQueryStatusWorkloadInsightsTopContributorsDataResult::GetQueryStatusWorkloadInsightsTopContributorsDataResult(const Aws::AmazonWebServiceResult& result) + : GetQueryStatusWorkloadInsightsTopContributorsDataResult() +{ + *this = result; +} + +GetQueryStatusWorkloadInsightsTopContributorsDataResult& GetQueryStatusWorkloadInsightsTopContributorsDataResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("status")) + { + m_status = QueryStatusMapper::GetQueryStatusForName(jsonValue.GetString("status")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsRequest.cpp new file mode 100644 index 00000000000..43362fd3fa7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetQueryStatusWorkloadInsightsTopContributorsRequest::GetQueryStatusWorkloadInsightsTopContributorsRequest() : + m_scopeIdHasBeenSet(false), + m_queryIdHasBeenSet(false) +{ +} + +Aws::String GetQueryStatusWorkloadInsightsTopContributorsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsResult.cpp new file mode 100644 index 00000000000..4c2c104de5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetQueryStatusWorkloadInsightsTopContributorsResult.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetQueryStatusWorkloadInsightsTopContributorsResult::GetQueryStatusWorkloadInsightsTopContributorsResult() : + m_status(QueryStatus::NOT_SET) +{ +} + +GetQueryStatusWorkloadInsightsTopContributorsResult::GetQueryStatusWorkloadInsightsTopContributorsResult(const Aws::AmazonWebServiceResult& result) + : GetQueryStatusWorkloadInsightsTopContributorsResult() +{ + *this = result; +} + +GetQueryStatusWorkloadInsightsTopContributorsResult& GetQueryStatusWorkloadInsightsTopContributorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("status")) + { + m_status = QueryStatusMapper::GetQueryStatusForName(jsonValue.GetString("status")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetScopeRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetScopeRequest.cpp new file mode 100644 index 00000000000..bb5bfc54a42 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetScopeRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetScopeRequest::GetScopeRequest() : + m_scopeIdHasBeenSet(false) +{ +} + +Aws::String GetScopeRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetScopeResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetScopeResult.cpp new file mode 100644 index 00000000000..733c6a3e89a --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/GetScopeResult.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetScopeResult::GetScopeResult() : + m_status(ScopeStatus::NOT_SET) +{ +} + +GetScopeResult::GetScopeResult(const Aws::AmazonWebServiceResult& result) + : GetScopeResult() +{ + *this = result; +} + +GetScopeResult& GetScopeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scopeId")) + { + m_scopeId = jsonValue.GetString("scopeId"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = ScopeStatusMapper::GetScopeStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("scopeArn")) + { + m_scopeArn = jsonValue.GetString("scopeArn"); + + } + + if(jsonValue.ValueExists("targets")) + { + Aws::Utils::Array targetsJsonList = jsonValue.GetArray("targets"); + for(unsigned targetsIndex = 0; targetsIndex < targetsJsonList.GetLength(); ++targetsIndex) + { + m_targets.push_back(targetsJsonList[targetsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/KubernetesMetadata.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/KubernetesMetadata.cpp new file mode 100644 index 00000000000..d22fd85a959 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/KubernetesMetadata.cpp @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +KubernetesMetadata::KubernetesMetadata() : + m_localServiceNameHasBeenSet(false), + m_localPodNameHasBeenSet(false), + m_localPodNamespaceHasBeenSet(false), + m_remoteServiceNameHasBeenSet(false), + m_remotePodNameHasBeenSet(false), + m_remotePodNamespaceHasBeenSet(false) +{ +} + +KubernetesMetadata::KubernetesMetadata(JsonView jsonValue) + : KubernetesMetadata() +{ + *this = jsonValue; +} + +KubernetesMetadata& KubernetesMetadata::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("localServiceName")) + { + m_localServiceName = jsonValue.GetString("localServiceName"); + + m_localServiceNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("localPodName")) + { + m_localPodName = jsonValue.GetString("localPodName"); + + m_localPodNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("localPodNamespace")) + { + m_localPodNamespace = jsonValue.GetString("localPodNamespace"); + + m_localPodNamespaceHasBeenSet = true; + } + + if(jsonValue.ValueExists("remoteServiceName")) + { + m_remoteServiceName = jsonValue.GetString("remoteServiceName"); + + m_remoteServiceNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("remotePodName")) + { + m_remotePodName = jsonValue.GetString("remotePodName"); + + m_remotePodNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("remotePodNamespace")) + { + m_remotePodNamespace = jsonValue.GetString("remotePodNamespace"); + + m_remotePodNamespaceHasBeenSet = true; + } + + return *this; +} + +JsonValue KubernetesMetadata::Jsonize() const +{ + JsonValue payload; + + if(m_localServiceNameHasBeenSet) + { + payload.WithString("localServiceName", m_localServiceName); + + } + + if(m_localPodNameHasBeenSet) + { + payload.WithString("localPodName", m_localPodName); + + } + + if(m_localPodNamespaceHasBeenSet) + { + payload.WithString("localPodNamespace", m_localPodNamespace); + + } + + if(m_remoteServiceNameHasBeenSet) + { + payload.WithString("remoteServiceName", m_remoteServiceName); + + } + + if(m_remotePodNameHasBeenSet) + { + payload.WithString("remotePodName", m_remotePodName); + + } + + if(m_remotePodNamespaceHasBeenSet) + { + payload.WithString("remotePodNamespace", m_remotePodNamespace); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListMonitorsRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListMonitorsRequest.cpp new file mode 100644 index 00000000000..27da75578b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListMonitorsRequest.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListMonitorsRequest::ListMonitorsRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_monitorStatus(MonitorStatus::NOT_SET), + m_monitorStatusHasBeenSet(false) +{ +} + +Aws::String ListMonitorsRequest::SerializePayload() const +{ + return {}; +} + +void ListMonitorsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_monitorStatusHasBeenSet) + { + ss << MonitorStatusMapper::GetNameForMonitorStatus(m_monitorStatus); + uri.AddQueryStringParameter("monitorStatus", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListMonitorsResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListMonitorsResult.cpp new file mode 100644 index 00000000000..3b0c98448d8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListMonitorsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListMonitorsResult::ListMonitorsResult() +{ +} + +ListMonitorsResult::ListMonitorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListMonitorsResult& ListMonitorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("monitors")) + { + Aws::Utils::Array monitorsJsonList = jsonValue.GetArray("monitors"); + for(unsigned monitorsIndex = 0; monitorsIndex < monitorsJsonList.GetLength(); ++monitorsIndex) + { + m_monitors.push_back(monitorsJsonList[monitorsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListScopesRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListScopesRequest.cpp new file mode 100644 index 00000000000..54905cc9789 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListScopesRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListScopesRequest::ListScopesRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListScopesRequest::SerializePayload() const +{ + return {}; +} + +void ListScopesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListScopesResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListScopesResult.cpp new file mode 100644 index 00000000000..713df798d79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListScopesResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListScopesResult::ListScopesResult() +{ +} + +ListScopesResult::ListScopesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListScopesResult& ListScopesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scopes")) + { + Aws::Utils::Array scopesJsonList = jsonValue.GetArray("scopes"); + for(unsigned scopesIndex = 0; scopesIndex < scopesJsonList.GetLength(); ++scopesIndex) + { + m_scopes.push_back(scopesJsonList[scopesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..a3a36aa062b --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListTagsForResourceRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListTagsForResourceRequest::ListTagsForResourceRequest() : + m_resourceArnHasBeenSet(false) +{ +} + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..ab20a61356b --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ListTagsForResourceResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult() +{ +} + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MetricUnit.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MetricUnit.cpp new file mode 100644 index 00000000000..20671a4391c --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MetricUnit.cpp @@ -0,0 +1,247 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace NetworkFlowMonitor + { + namespace Model + { + namespace MetricUnitMapper + { + + static const int Seconds_HASH = HashingUtils::HashString("Seconds"); + static const int Microseconds_HASH = HashingUtils::HashString("Microseconds"); + static const int Milliseconds_HASH = HashingUtils::HashString("Milliseconds"); + static const int Bytes_HASH = HashingUtils::HashString("Bytes"); + static const int Kilobytes_HASH = HashingUtils::HashString("Kilobytes"); + static const int Megabytes_HASH = HashingUtils::HashString("Megabytes"); + static const int Gigabytes_HASH = HashingUtils::HashString("Gigabytes"); + static const int Terabytes_HASH = HashingUtils::HashString("Terabytes"); + static const int Bits_HASH = HashingUtils::HashString("Bits"); + static const int Kilobits_HASH = HashingUtils::HashString("Kilobits"); + static const int Megabits_HASH = HashingUtils::HashString("Megabits"); + static const int Gigabits_HASH = HashingUtils::HashString("Gigabits"); + static const int Terabits_HASH = HashingUtils::HashString("Terabits"); + static const int Percent_HASH = HashingUtils::HashString("Percent"); + static const int Count_HASH = HashingUtils::HashString("Count"); + static const int Bytes_Second_HASH = HashingUtils::HashString("Bytes/Second"); + static const int Kilobytes_Second_HASH = HashingUtils::HashString("Kilobytes/Second"); + static const int Megabytes_Second_HASH = HashingUtils::HashString("Megabytes/Second"); + static const int Gigabytes_Second_HASH = HashingUtils::HashString("Gigabytes/Second"); + static const int Terabytes_Second_HASH = HashingUtils::HashString("Terabytes/Second"); + static const int Bits_Second_HASH = HashingUtils::HashString("Bits/Second"); + static const int Kilobits_Second_HASH = HashingUtils::HashString("Kilobits/Second"); + static const int Megabits_Second_HASH = HashingUtils::HashString("Megabits/Second"); + static const int Gigabits_Second_HASH = HashingUtils::HashString("Gigabits/Second"); + static const int Terabits_Second_HASH = HashingUtils::HashString("Terabits/Second"); + static const int Count_Second_HASH = HashingUtils::HashString("Count/Second"); + static const int None_HASH = HashingUtils::HashString("None"); + + + MetricUnit GetMetricUnitForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Seconds_HASH) + { + return MetricUnit::Seconds; + } + else if (hashCode == Microseconds_HASH) + { + return MetricUnit::Microseconds; + } + else if (hashCode == Milliseconds_HASH) + { + return MetricUnit::Milliseconds; + } + else if (hashCode == Bytes_HASH) + { + return MetricUnit::Bytes; + } + else if (hashCode == Kilobytes_HASH) + { + return MetricUnit::Kilobytes; + } + else if (hashCode == Megabytes_HASH) + { + return MetricUnit::Megabytes; + } + else if (hashCode == Gigabytes_HASH) + { + return MetricUnit::Gigabytes; + } + else if (hashCode == Terabytes_HASH) + { + return MetricUnit::Terabytes; + } + else if (hashCode == Bits_HASH) + { + return MetricUnit::Bits; + } + else if (hashCode == Kilobits_HASH) + { + return MetricUnit::Kilobits; + } + else if (hashCode == Megabits_HASH) + { + return MetricUnit::Megabits; + } + else if (hashCode == Gigabits_HASH) + { + return MetricUnit::Gigabits; + } + else if (hashCode == Terabits_HASH) + { + return MetricUnit::Terabits; + } + else if (hashCode == Percent_HASH) + { + return MetricUnit::Percent; + } + else if (hashCode == Count_HASH) + { + return MetricUnit::Count; + } + else if (hashCode == Bytes_Second_HASH) + { + return MetricUnit::Bytes_Second; + } + else if (hashCode == Kilobytes_Second_HASH) + { + return MetricUnit::Kilobytes_Second; + } + else if (hashCode == Megabytes_Second_HASH) + { + return MetricUnit::Megabytes_Second; + } + else if (hashCode == Gigabytes_Second_HASH) + { + return MetricUnit::Gigabytes_Second; + } + else if (hashCode == Terabytes_Second_HASH) + { + return MetricUnit::Terabytes_Second; + } + else if (hashCode == Bits_Second_HASH) + { + return MetricUnit::Bits_Second; + } + else if (hashCode == Kilobits_Second_HASH) + { + return MetricUnit::Kilobits_Second; + } + else if (hashCode == Megabits_Second_HASH) + { + return MetricUnit::Megabits_Second; + } + else if (hashCode == Gigabits_Second_HASH) + { + return MetricUnit::Gigabits_Second; + } + else if (hashCode == Terabits_Second_HASH) + { + return MetricUnit::Terabits_Second; + } + else if (hashCode == Count_Second_HASH) + { + return MetricUnit::Count_Second; + } + else if (hashCode == None_HASH) + { + return MetricUnit::None; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MetricUnit::NOT_SET; + } + + Aws::String GetNameForMetricUnit(MetricUnit enumValue) + { + switch(enumValue) + { + case MetricUnit::NOT_SET: + return {}; + case MetricUnit::Seconds: + return "Seconds"; + case MetricUnit::Microseconds: + return "Microseconds"; + case MetricUnit::Milliseconds: + return "Milliseconds"; + case MetricUnit::Bytes: + return "Bytes"; + case MetricUnit::Kilobytes: + return "Kilobytes"; + case MetricUnit::Megabytes: + return "Megabytes"; + case MetricUnit::Gigabytes: + return "Gigabytes"; + case MetricUnit::Terabytes: + return "Terabytes"; + case MetricUnit::Bits: + return "Bits"; + case MetricUnit::Kilobits: + return "Kilobits"; + case MetricUnit::Megabits: + return "Megabits"; + case MetricUnit::Gigabits: + return "Gigabits"; + case MetricUnit::Terabits: + return "Terabits"; + case MetricUnit::Percent: + return "Percent"; + case MetricUnit::Count: + return "Count"; + case MetricUnit::Bytes_Second: + return "Bytes/Second"; + case MetricUnit::Kilobytes_Second: + return "Kilobytes/Second"; + case MetricUnit::Megabytes_Second: + return "Megabytes/Second"; + case MetricUnit::Gigabytes_Second: + return "Gigabytes/Second"; + case MetricUnit::Terabytes_Second: + return "Terabytes/Second"; + case MetricUnit::Bits_Second: + return "Bits/Second"; + case MetricUnit::Kilobits_Second: + return "Kilobits/Second"; + case MetricUnit::Megabits_Second: + return "Megabits/Second"; + case MetricUnit::Gigabits_Second: + return "Gigabits/Second"; + case MetricUnit::Terabits_Second: + return "Terabits/Second"; + case MetricUnit::Count_Second: + return "Count/Second"; + case MetricUnit::None: + return "None"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MetricUnitMapper + } // namespace Model + } // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorLocalResource.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorLocalResource.cpp new file mode 100644 index 00000000000..f94698d7fec --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorLocalResource.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +MonitorLocalResource::MonitorLocalResource() : + m_type(MonitorLocalResourceType::NOT_SET), + m_typeHasBeenSet(false), + m_identifierHasBeenSet(false) +{ +} + +MonitorLocalResource::MonitorLocalResource(JsonView jsonValue) + : MonitorLocalResource() +{ + *this = jsonValue; +} + +MonitorLocalResource& MonitorLocalResource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = MonitorLocalResourceTypeMapper::GetMonitorLocalResourceTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("identifier")) + { + m_identifier = jsonValue.GetString("identifier"); + + m_identifierHasBeenSet = true; + } + + return *this; +} + +JsonValue MonitorLocalResource::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", MonitorLocalResourceTypeMapper::GetNameForMonitorLocalResourceType(m_type)); + } + + if(m_identifierHasBeenSet) + { + payload.WithString("identifier", m_identifier); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorLocalResourceType.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorLocalResourceType.cpp new file mode 100644 index 00000000000..aa10cd13e92 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorLocalResourceType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace NetworkFlowMonitor + { + namespace Model + { + namespace MonitorLocalResourceTypeMapper + { + + static const int AWS_EC2_VPC_HASH = HashingUtils::HashString("AWS::EC2::VPC"); + static const int AWS_AvailabilityZone_HASH = HashingUtils::HashString("AWS::AvailabilityZone"); + static const int AWS_EC2_Subnet_HASH = HashingUtils::HashString("AWS::EC2::Subnet"); + + + MonitorLocalResourceType GetMonitorLocalResourceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AWS_EC2_VPC_HASH) + { + return MonitorLocalResourceType::AWS_EC2_VPC; + } + else if (hashCode == AWS_AvailabilityZone_HASH) + { + return MonitorLocalResourceType::AWS_AvailabilityZone; + } + else if (hashCode == AWS_EC2_Subnet_HASH) + { + return MonitorLocalResourceType::AWS_EC2_Subnet; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MonitorLocalResourceType::NOT_SET; + } + + Aws::String GetNameForMonitorLocalResourceType(MonitorLocalResourceType enumValue) + { + switch(enumValue) + { + case MonitorLocalResourceType::NOT_SET: + return {}; + case MonitorLocalResourceType::AWS_EC2_VPC: + return "AWS::EC2::VPC"; + case MonitorLocalResourceType::AWS_AvailabilityZone: + return "AWS::AvailabilityZone"; + case MonitorLocalResourceType::AWS_EC2_Subnet: + return "AWS::EC2::Subnet"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MonitorLocalResourceTypeMapper + } // namespace Model + } // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorMetric.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorMetric.cpp new file mode 100644 index 00000000000..3f7c60a782b --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorMetric.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace NetworkFlowMonitor + { + namespace Model + { + namespace MonitorMetricMapper + { + + static const int ROUND_TRIP_TIME_HASH = HashingUtils::HashString("ROUND_TRIP_TIME"); + static const int TIMEOUTS_HASH = HashingUtils::HashString("TIMEOUTS"); + static const int RETRANSMISSIONS_HASH = HashingUtils::HashString("RETRANSMISSIONS"); + static const int DATA_TRANSFERRED_HASH = HashingUtils::HashString("DATA_TRANSFERRED"); + + + MonitorMetric GetMonitorMetricForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ROUND_TRIP_TIME_HASH) + { + return MonitorMetric::ROUND_TRIP_TIME; + } + else if (hashCode == TIMEOUTS_HASH) + { + return MonitorMetric::TIMEOUTS; + } + else if (hashCode == RETRANSMISSIONS_HASH) + { + return MonitorMetric::RETRANSMISSIONS; + } + else if (hashCode == DATA_TRANSFERRED_HASH) + { + return MonitorMetric::DATA_TRANSFERRED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MonitorMetric::NOT_SET; + } + + Aws::String GetNameForMonitorMetric(MonitorMetric enumValue) + { + switch(enumValue) + { + case MonitorMetric::NOT_SET: + return {}; + case MonitorMetric::ROUND_TRIP_TIME: + return "ROUND_TRIP_TIME"; + case MonitorMetric::TIMEOUTS: + return "TIMEOUTS"; + case MonitorMetric::RETRANSMISSIONS: + return "RETRANSMISSIONS"; + case MonitorMetric::DATA_TRANSFERRED: + return "DATA_TRANSFERRED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MonitorMetricMapper + } // namespace Model + } // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorRemoteResource.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorRemoteResource.cpp new file mode 100644 index 00000000000..b62f24a3a8e --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorRemoteResource.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +MonitorRemoteResource::MonitorRemoteResource() : + m_type(MonitorRemoteResourceType::NOT_SET), + m_typeHasBeenSet(false), + m_identifierHasBeenSet(false) +{ +} + +MonitorRemoteResource::MonitorRemoteResource(JsonView jsonValue) + : MonitorRemoteResource() +{ + *this = jsonValue; +} + +MonitorRemoteResource& MonitorRemoteResource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = MonitorRemoteResourceTypeMapper::GetMonitorRemoteResourceTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("identifier")) + { + m_identifier = jsonValue.GetString("identifier"); + + m_identifierHasBeenSet = true; + } + + return *this; +} + +JsonValue MonitorRemoteResource::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", MonitorRemoteResourceTypeMapper::GetNameForMonitorRemoteResourceType(m_type)); + } + + if(m_identifierHasBeenSet) + { + payload.WithString("identifier", m_identifier); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorRemoteResourceType.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorRemoteResourceType.cpp new file mode 100644 index 00000000000..d9e8b8ef25a --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorRemoteResourceType.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace NetworkFlowMonitor + { + namespace Model + { + namespace MonitorRemoteResourceTypeMapper + { + + static const int AWS_EC2_VPC_HASH = HashingUtils::HashString("AWS::EC2::VPC"); + static const int AWS_AvailabilityZone_HASH = HashingUtils::HashString("AWS::AvailabilityZone"); + static const int AWS_EC2_Subnet_HASH = HashingUtils::HashString("AWS::EC2::Subnet"); + static const int AWS_AWSService_HASH = HashingUtils::HashString("AWS::AWSService"); + + + MonitorRemoteResourceType GetMonitorRemoteResourceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AWS_EC2_VPC_HASH) + { + return MonitorRemoteResourceType::AWS_EC2_VPC; + } + else if (hashCode == AWS_AvailabilityZone_HASH) + { + return MonitorRemoteResourceType::AWS_AvailabilityZone; + } + else if (hashCode == AWS_EC2_Subnet_HASH) + { + return MonitorRemoteResourceType::AWS_EC2_Subnet; + } + else if (hashCode == AWS_AWSService_HASH) + { + return MonitorRemoteResourceType::AWS_AWSService; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MonitorRemoteResourceType::NOT_SET; + } + + Aws::String GetNameForMonitorRemoteResourceType(MonitorRemoteResourceType enumValue) + { + switch(enumValue) + { + case MonitorRemoteResourceType::NOT_SET: + return {}; + case MonitorRemoteResourceType::AWS_EC2_VPC: + return "AWS::EC2::VPC"; + case MonitorRemoteResourceType::AWS_AvailabilityZone: + return "AWS::AvailabilityZone"; + case MonitorRemoteResourceType::AWS_EC2_Subnet: + return "AWS::EC2::Subnet"; + case MonitorRemoteResourceType::AWS_AWSService: + return "AWS::AWSService"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MonitorRemoteResourceTypeMapper + } // namespace Model + } // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorStatus.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorStatus.cpp new file mode 100644 index 00000000000..7eff6fab92f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorStatus.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace NetworkFlowMonitor + { + namespace Model + { + namespace MonitorStatusMapper + { + + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int INACTIVE_HASH = HashingUtils::HashString("INACTIVE"); + static const int ERROR__HASH = HashingUtils::HashString("ERROR"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + + + MonitorStatus GetMonitorStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PENDING_HASH) + { + return MonitorStatus::PENDING; + } + else if (hashCode == ACTIVE_HASH) + { + return MonitorStatus::ACTIVE; + } + else if (hashCode == INACTIVE_HASH) + { + return MonitorStatus::INACTIVE; + } + else if (hashCode == ERROR__HASH) + { + return MonitorStatus::ERROR_; + } + else if (hashCode == DELETING_HASH) + { + return MonitorStatus::DELETING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MonitorStatus::NOT_SET; + } + + Aws::String GetNameForMonitorStatus(MonitorStatus enumValue) + { + switch(enumValue) + { + case MonitorStatus::NOT_SET: + return {}; + case MonitorStatus::PENDING: + return "PENDING"; + case MonitorStatus::ACTIVE: + return "ACTIVE"; + case MonitorStatus::INACTIVE: + return "INACTIVE"; + case MonitorStatus::ERROR_: + return "ERROR"; + case MonitorStatus::DELETING: + return "DELETING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MonitorStatusMapper + } // namespace Model + } // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorSummary.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorSummary.cpp new file mode 100644 index 00000000000..c9c4b02049f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorSummary.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +MonitorSummary::MonitorSummary() : + m_monitorArnHasBeenSet(false), + m_monitorNameHasBeenSet(false), + m_monitorStatus(MonitorStatus::NOT_SET), + m_monitorStatusHasBeenSet(false) +{ +} + +MonitorSummary::MonitorSummary(JsonView jsonValue) + : MonitorSummary() +{ + *this = jsonValue; +} + +MonitorSummary& MonitorSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("monitorArn")) + { + m_monitorArn = jsonValue.GetString("monitorArn"); + + m_monitorArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("monitorName")) + { + m_monitorName = jsonValue.GetString("monitorName"); + + m_monitorNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("monitorStatus")) + { + m_monitorStatus = MonitorStatusMapper::GetMonitorStatusForName(jsonValue.GetString("monitorStatus")); + + m_monitorStatusHasBeenSet = true; + } + + return *this; +} + +JsonValue MonitorSummary::Jsonize() const +{ + JsonValue payload; + + if(m_monitorArnHasBeenSet) + { + payload.WithString("monitorArn", m_monitorArn); + + } + + if(m_monitorNameHasBeenSet) + { + payload.WithString("monitorName", m_monitorName); + + } + + if(m_monitorStatusHasBeenSet) + { + payload.WithString("monitorStatus", MonitorStatusMapper::GetNameForMonitorStatus(m_monitorStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorTopContributorsRow.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorTopContributorsRow.cpp new file mode 100644 index 00000000000..c48619fb476 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/MonitorTopContributorsRow.cpp @@ -0,0 +1,405 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +MonitorTopContributorsRow::MonitorTopContributorsRow() : + m_localIpHasBeenSet(false), + m_snatIpHasBeenSet(false), + m_localInstanceIdHasBeenSet(false), + m_localVpcIdHasBeenSet(false), + m_localRegionHasBeenSet(false), + m_localAzHasBeenSet(false), + m_localSubnetIdHasBeenSet(false), + m_targetPort(0), + m_targetPortHasBeenSet(false), + m_destinationCategory(DestinationCategory::NOT_SET), + m_destinationCategoryHasBeenSet(false), + m_remoteVpcIdHasBeenSet(false), + m_remoteRegionHasBeenSet(false), + m_remoteAzHasBeenSet(false), + m_remoteSubnetIdHasBeenSet(false), + m_remoteInstanceIdHasBeenSet(false), + m_remoteIpHasBeenSet(false), + m_dnatIpHasBeenSet(false), + m_value(0), + m_valueHasBeenSet(false), + m_traversedConstructsHasBeenSet(false), + m_kubernetesMetadataHasBeenSet(false), + m_localInstanceArnHasBeenSet(false), + m_localSubnetArnHasBeenSet(false), + m_localVpcArnHasBeenSet(false), + m_remoteInstanceArnHasBeenSet(false), + m_remoteSubnetArnHasBeenSet(false), + m_remoteVpcArnHasBeenSet(false) +{ +} + +MonitorTopContributorsRow::MonitorTopContributorsRow(JsonView jsonValue) + : MonitorTopContributorsRow() +{ + *this = jsonValue; +} + +MonitorTopContributorsRow& MonitorTopContributorsRow::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("localIp")) + { + m_localIp = jsonValue.GetString("localIp"); + + m_localIpHasBeenSet = true; + } + + if(jsonValue.ValueExists("snatIp")) + { + m_snatIp = jsonValue.GetString("snatIp"); + + m_snatIpHasBeenSet = true; + } + + if(jsonValue.ValueExists("localInstanceId")) + { + m_localInstanceId = jsonValue.GetString("localInstanceId"); + + m_localInstanceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("localVpcId")) + { + m_localVpcId = jsonValue.GetString("localVpcId"); + + m_localVpcIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("localRegion")) + { + m_localRegion = jsonValue.GetString("localRegion"); + + m_localRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("localAz")) + { + m_localAz = jsonValue.GetString("localAz"); + + m_localAzHasBeenSet = true; + } + + if(jsonValue.ValueExists("localSubnetId")) + { + m_localSubnetId = jsonValue.GetString("localSubnetId"); + + m_localSubnetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("targetPort")) + { + m_targetPort = jsonValue.GetInteger("targetPort"); + + m_targetPortHasBeenSet = true; + } + + if(jsonValue.ValueExists("destinationCategory")) + { + m_destinationCategory = DestinationCategoryMapper::GetDestinationCategoryForName(jsonValue.GetString("destinationCategory")); + + m_destinationCategoryHasBeenSet = true; + } + + if(jsonValue.ValueExists("remoteVpcId")) + { + m_remoteVpcId = jsonValue.GetString("remoteVpcId"); + + m_remoteVpcIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("remoteRegion")) + { + m_remoteRegion = jsonValue.GetString("remoteRegion"); + + m_remoteRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("remoteAz")) + { + m_remoteAz = jsonValue.GetString("remoteAz"); + + m_remoteAzHasBeenSet = true; + } + + if(jsonValue.ValueExists("remoteSubnetId")) + { + m_remoteSubnetId = jsonValue.GetString("remoteSubnetId"); + + m_remoteSubnetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("remoteInstanceId")) + { + m_remoteInstanceId = jsonValue.GetString("remoteInstanceId"); + + m_remoteInstanceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("remoteIp")) + { + m_remoteIp = jsonValue.GetString("remoteIp"); + + m_remoteIpHasBeenSet = true; + } + + if(jsonValue.ValueExists("dnatIp")) + { + m_dnatIp = jsonValue.GetString("dnatIp"); + + m_dnatIpHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetInt64("value"); + + m_valueHasBeenSet = true; + } + + if(jsonValue.ValueExists("traversedConstructs")) + { + Aws::Utils::Array traversedConstructsJsonList = jsonValue.GetArray("traversedConstructs"); + for(unsigned traversedConstructsIndex = 0; traversedConstructsIndex < traversedConstructsJsonList.GetLength(); ++traversedConstructsIndex) + { + m_traversedConstructs.push_back(traversedConstructsJsonList[traversedConstructsIndex].AsObject()); + } + m_traversedConstructsHasBeenSet = true; + } + + if(jsonValue.ValueExists("kubernetesMetadata")) + { + m_kubernetesMetadata = jsonValue.GetObject("kubernetesMetadata"); + + m_kubernetesMetadataHasBeenSet = true; + } + + if(jsonValue.ValueExists("localInstanceArn")) + { + m_localInstanceArn = jsonValue.GetString("localInstanceArn"); + + m_localInstanceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("localSubnetArn")) + { + m_localSubnetArn = jsonValue.GetString("localSubnetArn"); + + m_localSubnetArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("localVpcArn")) + { + m_localVpcArn = jsonValue.GetString("localVpcArn"); + + m_localVpcArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("remoteInstanceArn")) + { + m_remoteInstanceArn = jsonValue.GetString("remoteInstanceArn"); + + m_remoteInstanceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("remoteSubnetArn")) + { + m_remoteSubnetArn = jsonValue.GetString("remoteSubnetArn"); + + m_remoteSubnetArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("remoteVpcArn")) + { + m_remoteVpcArn = jsonValue.GetString("remoteVpcArn"); + + m_remoteVpcArnHasBeenSet = true; + } + + return *this; +} + +JsonValue MonitorTopContributorsRow::Jsonize() const +{ + JsonValue payload; + + if(m_localIpHasBeenSet) + { + payload.WithString("localIp", m_localIp); + + } + + if(m_snatIpHasBeenSet) + { + payload.WithString("snatIp", m_snatIp); + + } + + if(m_localInstanceIdHasBeenSet) + { + payload.WithString("localInstanceId", m_localInstanceId); + + } + + if(m_localVpcIdHasBeenSet) + { + payload.WithString("localVpcId", m_localVpcId); + + } + + if(m_localRegionHasBeenSet) + { + payload.WithString("localRegion", m_localRegion); + + } + + if(m_localAzHasBeenSet) + { + payload.WithString("localAz", m_localAz); + + } + + if(m_localSubnetIdHasBeenSet) + { + payload.WithString("localSubnetId", m_localSubnetId); + + } + + if(m_targetPortHasBeenSet) + { + payload.WithInteger("targetPort", m_targetPort); + + } + + if(m_destinationCategoryHasBeenSet) + { + payload.WithString("destinationCategory", DestinationCategoryMapper::GetNameForDestinationCategory(m_destinationCategory)); + } + + if(m_remoteVpcIdHasBeenSet) + { + payload.WithString("remoteVpcId", m_remoteVpcId); + + } + + if(m_remoteRegionHasBeenSet) + { + payload.WithString("remoteRegion", m_remoteRegion); + + } + + if(m_remoteAzHasBeenSet) + { + payload.WithString("remoteAz", m_remoteAz); + + } + + if(m_remoteSubnetIdHasBeenSet) + { + payload.WithString("remoteSubnetId", m_remoteSubnetId); + + } + + if(m_remoteInstanceIdHasBeenSet) + { + payload.WithString("remoteInstanceId", m_remoteInstanceId); + + } + + if(m_remoteIpHasBeenSet) + { + payload.WithString("remoteIp", m_remoteIp); + + } + + if(m_dnatIpHasBeenSet) + { + payload.WithString("dnatIp", m_dnatIp); + + } + + if(m_valueHasBeenSet) + { + payload.WithInt64("value", m_value); + + } + + if(m_traversedConstructsHasBeenSet) + { + Aws::Utils::Array traversedConstructsJsonList(m_traversedConstructs.size()); + for(unsigned traversedConstructsIndex = 0; traversedConstructsIndex < traversedConstructsJsonList.GetLength(); ++traversedConstructsIndex) + { + traversedConstructsJsonList[traversedConstructsIndex].AsObject(m_traversedConstructs[traversedConstructsIndex].Jsonize()); + } + payload.WithArray("traversedConstructs", std::move(traversedConstructsJsonList)); + + } + + if(m_kubernetesMetadataHasBeenSet) + { + payload.WithObject("kubernetesMetadata", m_kubernetesMetadata.Jsonize()); + + } + + if(m_localInstanceArnHasBeenSet) + { + payload.WithString("localInstanceArn", m_localInstanceArn); + + } + + if(m_localSubnetArnHasBeenSet) + { + payload.WithString("localSubnetArn", m_localSubnetArn); + + } + + if(m_localVpcArnHasBeenSet) + { + payload.WithString("localVpcArn", m_localVpcArn); + + } + + if(m_remoteInstanceArnHasBeenSet) + { + payload.WithString("remoteInstanceArn", m_remoteInstanceArn); + + } + + if(m_remoteSubnetArnHasBeenSet) + { + payload.WithString("remoteSubnetArn", m_remoteSubnetArn); + + } + + if(m_remoteVpcArnHasBeenSet) + { + payload.WithString("remoteVpcArn", m_remoteVpcArn); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/QueryStatus.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/QueryStatus.cpp new file mode 100644 index 00000000000..607a7ff3c28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/QueryStatus.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace NetworkFlowMonitor + { + namespace Model + { + namespace QueryStatusMapper + { + + static const int QUEUED_HASH = HashingUtils::HashString("QUEUED"); + static const int RUNNING_HASH = HashingUtils::HashString("RUNNING"); + static const int SUCCEEDED_HASH = HashingUtils::HashString("SUCCEEDED"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int CANCELED_HASH = HashingUtils::HashString("CANCELED"); + + + QueryStatus GetQueryStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == QUEUED_HASH) + { + return QueryStatus::QUEUED; + } + else if (hashCode == RUNNING_HASH) + { + return QueryStatus::RUNNING; + } + else if (hashCode == SUCCEEDED_HASH) + { + return QueryStatus::SUCCEEDED; + } + else if (hashCode == FAILED_HASH) + { + return QueryStatus::FAILED; + } + else if (hashCode == CANCELED_HASH) + { + return QueryStatus::CANCELED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return QueryStatus::NOT_SET; + } + + Aws::String GetNameForQueryStatus(QueryStatus enumValue) + { + switch(enumValue) + { + case QueryStatus::NOT_SET: + return {}; + case QueryStatus::QUEUED: + return "QUEUED"; + case QueryStatus::RUNNING: + return "RUNNING"; + case QueryStatus::SUCCEEDED: + return "SUCCEEDED"; + case QueryStatus::FAILED: + return "FAILED"; + case QueryStatus::CANCELED: + return "CANCELED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace QueryStatusMapper + } // namespace Model + } // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ScopeStatus.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ScopeStatus.cpp new file mode 100644 index 00000000000..33710e3ef6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ScopeStatus.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace NetworkFlowMonitor + { + namespace Model + { + namespace ScopeStatusMapper + { + + static const int SUCCEEDED_HASH = HashingUtils::HashString("SUCCEEDED"); + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + + + ScopeStatus GetScopeStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SUCCEEDED_HASH) + { + return ScopeStatus::SUCCEEDED; + } + else if (hashCode == IN_PROGRESS_HASH) + { + return ScopeStatus::IN_PROGRESS; + } + else if (hashCode == FAILED_HASH) + { + return ScopeStatus::FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ScopeStatus::NOT_SET; + } + + Aws::String GetNameForScopeStatus(ScopeStatus enumValue) + { + switch(enumValue) + { + case ScopeStatus::NOT_SET: + return {}; + case ScopeStatus::SUCCEEDED: + return "SUCCEEDED"; + case ScopeStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case ScopeStatus::FAILED: + return "FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ScopeStatusMapper + } // namespace Model + } // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ScopeSummary.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ScopeSummary.cpp new file mode 100644 index 00000000000..dd285a0da0a --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/ScopeSummary.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +ScopeSummary::ScopeSummary() : + m_scopeIdHasBeenSet(false), + m_status(ScopeStatus::NOT_SET), + m_statusHasBeenSet(false), + m_scopeArnHasBeenSet(false) +{ +} + +ScopeSummary::ScopeSummary(JsonView jsonValue) + : ScopeSummary() +{ + *this = jsonValue; +} + +ScopeSummary& ScopeSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("scopeId")) + { + m_scopeId = jsonValue.GetString("scopeId"); + + m_scopeIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ScopeStatusMapper::GetScopeStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("scopeArn")) + { + m_scopeArn = jsonValue.GetString("scopeArn"); + + m_scopeArnHasBeenSet = true; + } + + return *this; +} + +JsonValue ScopeSummary::Jsonize() const +{ + JsonValue payload; + + if(m_scopeIdHasBeenSet) + { + payload.WithString("scopeId", m_scopeId); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ScopeStatusMapper::GetNameForScopeStatus(m_status)); + } + + if(m_scopeArnHasBeenSet) + { + payload.WithString("scopeArn", m_scopeArn); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryMonitorTopContributorsRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryMonitorTopContributorsRequest.cpp new file mode 100644 index 00000000000..3a55c087af3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryMonitorTopContributorsRequest.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +StartQueryMonitorTopContributorsRequest::StartQueryMonitorTopContributorsRequest() : + m_monitorNameHasBeenSet(false), + m_startTimeHasBeenSet(false), + m_endTimeHasBeenSet(false), + m_metricName(MonitorMetric::NOT_SET), + m_metricNameHasBeenSet(false), + m_destinationCategory(DestinationCategory::NOT_SET), + m_destinationCategoryHasBeenSet(false), + m_limit(0), + m_limitHasBeenSet(false) +{ +} + +Aws::String StartQueryMonitorTopContributorsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_startTimeHasBeenSet) + { + payload.WithString("startTime", m_startTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_endTimeHasBeenSet) + { + payload.WithString("endTime", m_endTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_metricNameHasBeenSet) + { + payload.WithString("metricName", MonitorMetricMapper::GetNameForMonitorMetric(m_metricName)); + } + + if(m_destinationCategoryHasBeenSet) + { + payload.WithString("destinationCategory", DestinationCategoryMapper::GetNameForDestinationCategory(m_destinationCategory)); + } + + if(m_limitHasBeenSet) + { + payload.WithInteger("limit", m_limit); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryMonitorTopContributorsResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryMonitorTopContributorsResult.cpp new file mode 100644 index 00000000000..1b0b767099a --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryMonitorTopContributorsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StartQueryMonitorTopContributorsResult::StartQueryMonitorTopContributorsResult() +{ +} + +StartQueryMonitorTopContributorsResult::StartQueryMonitorTopContributorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StartQueryMonitorTopContributorsResult& StartQueryMonitorTopContributorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("queryId")) + { + m_queryId = jsonValue.GetString("queryId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsDataRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsDataRequest.cpp new file mode 100644 index 00000000000..3a135fac72c --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsDataRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +StartQueryWorkloadInsightsTopContributorsDataRequest::StartQueryWorkloadInsightsTopContributorsDataRequest() : + m_scopeIdHasBeenSet(false), + m_startTimeHasBeenSet(false), + m_endTimeHasBeenSet(false), + m_metricName(WorkloadInsightsMetric::NOT_SET), + m_metricNameHasBeenSet(false), + m_destinationCategory(DestinationCategory::NOT_SET), + m_destinationCategoryHasBeenSet(false) +{ +} + +Aws::String StartQueryWorkloadInsightsTopContributorsDataRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_startTimeHasBeenSet) + { + payload.WithString("startTime", m_startTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_endTimeHasBeenSet) + { + payload.WithString("endTime", m_endTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_metricNameHasBeenSet) + { + payload.WithString("metricName", WorkloadInsightsMetricMapper::GetNameForWorkloadInsightsMetric(m_metricName)); + } + + if(m_destinationCategoryHasBeenSet) + { + payload.WithString("destinationCategory", DestinationCategoryMapper::GetNameForDestinationCategory(m_destinationCategory)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsDataResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsDataResult.cpp new file mode 100644 index 00000000000..811a4aa43a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsDataResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StartQueryWorkloadInsightsTopContributorsDataResult::StartQueryWorkloadInsightsTopContributorsDataResult() +{ +} + +StartQueryWorkloadInsightsTopContributorsDataResult::StartQueryWorkloadInsightsTopContributorsDataResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StartQueryWorkloadInsightsTopContributorsDataResult& StartQueryWorkloadInsightsTopContributorsDataResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("queryId")) + { + m_queryId = jsonValue.GetString("queryId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsRequest.cpp new file mode 100644 index 00000000000..fef97350e20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsRequest.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +StartQueryWorkloadInsightsTopContributorsRequest::StartQueryWorkloadInsightsTopContributorsRequest() : + m_scopeIdHasBeenSet(false), + m_startTimeHasBeenSet(false), + m_endTimeHasBeenSet(false), + m_metricName(WorkloadInsightsMetric::NOT_SET), + m_metricNameHasBeenSet(false), + m_destinationCategory(DestinationCategory::NOT_SET), + m_destinationCategoryHasBeenSet(false), + m_limit(0), + m_limitHasBeenSet(false) +{ +} + +Aws::String StartQueryWorkloadInsightsTopContributorsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_startTimeHasBeenSet) + { + payload.WithString("startTime", m_startTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_endTimeHasBeenSet) + { + payload.WithString("endTime", m_endTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_metricNameHasBeenSet) + { + payload.WithString("metricName", WorkloadInsightsMetricMapper::GetNameForWorkloadInsightsMetric(m_metricName)); + } + + if(m_destinationCategoryHasBeenSet) + { + payload.WithString("destinationCategory", DestinationCategoryMapper::GetNameForDestinationCategory(m_destinationCategory)); + } + + if(m_limitHasBeenSet) + { + payload.WithInteger("limit", m_limit); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsResult.cpp new file mode 100644 index 00000000000..d40fb20dc65 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StartQueryWorkloadInsightsTopContributorsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StartQueryWorkloadInsightsTopContributorsResult::StartQueryWorkloadInsightsTopContributorsResult() +{ +} + +StartQueryWorkloadInsightsTopContributorsResult::StartQueryWorkloadInsightsTopContributorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StartQueryWorkloadInsightsTopContributorsResult& StartQueryWorkloadInsightsTopContributorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("queryId")) + { + m_queryId = jsonValue.GetString("queryId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryMonitorTopContributorsRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryMonitorTopContributorsRequest.cpp new file mode 100644 index 00000000000..c08b33d3421 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryMonitorTopContributorsRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +StopQueryMonitorTopContributorsRequest::StopQueryMonitorTopContributorsRequest() : + m_monitorNameHasBeenSet(false), + m_queryIdHasBeenSet(false) +{ +} + +Aws::String StopQueryMonitorTopContributorsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryMonitorTopContributorsResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryMonitorTopContributorsResult.cpp new file mode 100644 index 00000000000..51d08a834fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryMonitorTopContributorsResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StopQueryMonitorTopContributorsResult::StopQueryMonitorTopContributorsResult() +{ +} + +StopQueryMonitorTopContributorsResult::StopQueryMonitorTopContributorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StopQueryMonitorTopContributorsResult& StopQueryMonitorTopContributorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsDataRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsDataRequest.cpp new file mode 100644 index 00000000000..1453a17149c --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsDataRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +StopQueryWorkloadInsightsTopContributorsDataRequest::StopQueryWorkloadInsightsTopContributorsDataRequest() : + m_scopeIdHasBeenSet(false), + m_queryIdHasBeenSet(false) +{ +} + +Aws::String StopQueryWorkloadInsightsTopContributorsDataRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsDataResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsDataResult.cpp new file mode 100644 index 00000000000..45aebc476ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsDataResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StopQueryWorkloadInsightsTopContributorsDataResult::StopQueryWorkloadInsightsTopContributorsDataResult() +{ +} + +StopQueryWorkloadInsightsTopContributorsDataResult::StopQueryWorkloadInsightsTopContributorsDataResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StopQueryWorkloadInsightsTopContributorsDataResult& StopQueryWorkloadInsightsTopContributorsDataResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsRequest.cpp new file mode 100644 index 00000000000..743be66643e --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +StopQueryWorkloadInsightsTopContributorsRequest::StopQueryWorkloadInsightsTopContributorsRequest() : + m_scopeIdHasBeenSet(false), + m_queryIdHasBeenSet(false) +{ +} + +Aws::String StopQueryWorkloadInsightsTopContributorsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsResult.cpp new file mode 100644 index 00000000000..9e48dceca00 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/StopQueryWorkloadInsightsTopContributorsResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StopQueryWorkloadInsightsTopContributorsResult::StopQueryWorkloadInsightsTopContributorsResult() +{ +} + +StopQueryWorkloadInsightsTopContributorsResult::StopQueryWorkloadInsightsTopContributorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StopQueryWorkloadInsightsTopContributorsResult& StopQueryWorkloadInsightsTopContributorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..32b2d6dbecc --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TagResourceRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TagResourceRequest::TagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..a9ef1690a07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TagResourceResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult() +{ +} + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetId.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetId.cpp new file mode 100644 index 00000000000..c5382bccff0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetId.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +TargetId::TargetId() : + m_accountIdHasBeenSet(false) +{ +} + +TargetId::TargetId(JsonView jsonValue) + : TargetId() +{ + *this = jsonValue; +} + +TargetId& TargetId::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + + m_accountIdHasBeenSet = true; + } + + return *this; +} + +JsonValue TargetId::Jsonize() const +{ + JsonValue payload; + + if(m_accountIdHasBeenSet) + { + payload.WithString("accountId", m_accountId); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetIdentifier.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetIdentifier.cpp new file mode 100644 index 00000000000..cf278e3f1aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetIdentifier.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +TargetIdentifier::TargetIdentifier() : + m_targetIdHasBeenSet(false), + m_targetType(TargetType::NOT_SET), + m_targetTypeHasBeenSet(false) +{ +} + +TargetIdentifier::TargetIdentifier(JsonView jsonValue) + : TargetIdentifier() +{ + *this = jsonValue; +} + +TargetIdentifier& TargetIdentifier::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("targetId")) + { + m_targetId = jsonValue.GetObject("targetId"); + + m_targetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("targetType")) + { + m_targetType = TargetTypeMapper::GetTargetTypeForName(jsonValue.GetString("targetType")); + + m_targetTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue TargetIdentifier::Jsonize() const +{ + JsonValue payload; + + if(m_targetIdHasBeenSet) + { + payload.WithObject("targetId", m_targetId.Jsonize()); + + } + + if(m_targetTypeHasBeenSet) + { + payload.WithString("targetType", TargetTypeMapper::GetNameForTargetType(m_targetType)); + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetResource.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetResource.cpp new file mode 100644 index 00000000000..67300246b5f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetResource.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +TargetResource::TargetResource() : + m_targetIdentifierHasBeenSet(false), + m_regionHasBeenSet(false) +{ +} + +TargetResource::TargetResource(JsonView jsonValue) + : TargetResource() +{ + *this = jsonValue; +} + +TargetResource& TargetResource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("targetIdentifier")) + { + m_targetIdentifier = jsonValue.GetObject("targetIdentifier"); + + m_targetIdentifierHasBeenSet = true; + } + + if(jsonValue.ValueExists("region")) + { + m_region = jsonValue.GetString("region"); + + m_regionHasBeenSet = true; + } + + return *this; +} + +JsonValue TargetResource::Jsonize() const +{ + JsonValue payload; + + if(m_targetIdentifierHasBeenSet) + { + payload.WithObject("targetIdentifier", m_targetIdentifier.Jsonize()); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("region", m_region); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetType.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetType.cpp new file mode 100644 index 00000000000..cbd4730e4f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TargetType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace NetworkFlowMonitor + { + namespace Model + { + namespace TargetTypeMapper + { + + static const int ACCOUNT_HASH = HashingUtils::HashString("ACCOUNT"); + + + TargetType GetTargetTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACCOUNT_HASH) + { + return TargetType::ACCOUNT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TargetType::NOT_SET; + } + + Aws::String GetNameForTargetType(TargetType enumValue) + { + switch(enumValue) + { + case TargetType::NOT_SET: + return {}; + case TargetType::ACCOUNT: + return "ACCOUNT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TargetTypeMapper + } // namespace Model + } // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TraversedComponent.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TraversedComponent.cpp new file mode 100644 index 00000000000..aa7f6d926c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/TraversedComponent.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +TraversedComponent::TraversedComponent() : + m_componentIdHasBeenSet(false), + m_componentTypeHasBeenSet(false), + m_componentArnHasBeenSet(false), + m_serviceNameHasBeenSet(false) +{ +} + +TraversedComponent::TraversedComponent(JsonView jsonValue) + : TraversedComponent() +{ + *this = jsonValue; +} + +TraversedComponent& TraversedComponent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("componentId")) + { + m_componentId = jsonValue.GetString("componentId"); + + m_componentIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("componentType")) + { + m_componentType = jsonValue.GetString("componentType"); + + m_componentTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("componentArn")) + { + m_componentArn = jsonValue.GetString("componentArn"); + + m_componentArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceName")) + { + m_serviceName = jsonValue.GetString("serviceName"); + + m_serviceNameHasBeenSet = true; + } + + return *this; +} + +JsonValue TraversedComponent::Jsonize() const +{ + JsonValue payload; + + if(m_componentIdHasBeenSet) + { + payload.WithString("componentId", m_componentId); + + } + + if(m_componentTypeHasBeenSet) + { + payload.WithString("componentType", m_componentType); + + } + + if(m_componentArnHasBeenSet) + { + payload.WithString("componentArn", m_componentArn); + + } + + if(m_serviceNameHasBeenSet) + { + payload.WithString("serviceName", m_serviceName); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..b7e00e90ce8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UntagResourceRequest.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +UntagResourceRequest::UntagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagKeysHasBeenSet(false) +{ +} + +Aws::String UntagResourceRequest::SerializePayload() const +{ + return {}; +} + +void UntagResourceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_tagKeysHasBeenSet) + { + for(const auto& item : m_tagKeys) + { + ss << item; + uri.AddQueryStringParameter("tagKeys", ss.str()); + ss.str(""); + } + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..3e5d6cbd46f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UntagResourceResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult() +{ +} + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateMonitorRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateMonitorRequest.cpp new file mode 100644 index 00000000000..c333c2f1093 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateMonitorRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateMonitorRequest::UpdateMonitorRequest() : + m_monitorNameHasBeenSet(false), + m_localResourcesToAddHasBeenSet(false), + m_localResourcesToRemoveHasBeenSet(false), + m_remoteResourcesToAddHasBeenSet(false), + m_remoteResourcesToRemoveHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String UpdateMonitorRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_localResourcesToAddHasBeenSet) + { + Aws::Utils::Array localResourcesToAddJsonList(m_localResourcesToAdd.size()); + for(unsigned localResourcesToAddIndex = 0; localResourcesToAddIndex < localResourcesToAddJsonList.GetLength(); ++localResourcesToAddIndex) + { + localResourcesToAddJsonList[localResourcesToAddIndex].AsObject(m_localResourcesToAdd[localResourcesToAddIndex].Jsonize()); + } + payload.WithArray("localResourcesToAdd", std::move(localResourcesToAddJsonList)); + + } + + if(m_localResourcesToRemoveHasBeenSet) + { + Aws::Utils::Array localResourcesToRemoveJsonList(m_localResourcesToRemove.size()); + for(unsigned localResourcesToRemoveIndex = 0; localResourcesToRemoveIndex < localResourcesToRemoveJsonList.GetLength(); ++localResourcesToRemoveIndex) + { + localResourcesToRemoveJsonList[localResourcesToRemoveIndex].AsObject(m_localResourcesToRemove[localResourcesToRemoveIndex].Jsonize()); + } + payload.WithArray("localResourcesToRemove", std::move(localResourcesToRemoveJsonList)); + + } + + if(m_remoteResourcesToAddHasBeenSet) + { + Aws::Utils::Array remoteResourcesToAddJsonList(m_remoteResourcesToAdd.size()); + for(unsigned remoteResourcesToAddIndex = 0; remoteResourcesToAddIndex < remoteResourcesToAddJsonList.GetLength(); ++remoteResourcesToAddIndex) + { + remoteResourcesToAddJsonList[remoteResourcesToAddIndex].AsObject(m_remoteResourcesToAdd[remoteResourcesToAddIndex].Jsonize()); + } + payload.WithArray("remoteResourcesToAdd", std::move(remoteResourcesToAddJsonList)); + + } + + if(m_remoteResourcesToRemoveHasBeenSet) + { + Aws::Utils::Array remoteResourcesToRemoveJsonList(m_remoteResourcesToRemove.size()); + for(unsigned remoteResourcesToRemoveIndex = 0; remoteResourcesToRemoveIndex < remoteResourcesToRemoveJsonList.GetLength(); ++remoteResourcesToRemoveIndex) + { + remoteResourcesToRemoveJsonList[remoteResourcesToRemoveIndex].AsObject(m_remoteResourcesToRemove[remoteResourcesToRemoveIndex].Jsonize()); + } + payload.WithArray("remoteResourcesToRemove", std::move(remoteResourcesToRemoveJsonList)); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateMonitorResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateMonitorResult.cpp new file mode 100644 index 00000000000..67cb2b9d91e --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateMonitorResult.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateMonitorResult::UpdateMonitorResult() : + m_monitorStatus(MonitorStatus::NOT_SET) +{ +} + +UpdateMonitorResult::UpdateMonitorResult(const Aws::AmazonWebServiceResult& result) + : UpdateMonitorResult() +{ + *this = result; +} + +UpdateMonitorResult& UpdateMonitorResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("monitorArn")) + { + m_monitorArn = jsonValue.GetString("monitorArn"); + + } + + if(jsonValue.ValueExists("monitorName")) + { + m_monitorName = jsonValue.GetString("monitorName"); + + } + + if(jsonValue.ValueExists("monitorStatus")) + { + m_monitorStatus = MonitorStatusMapper::GetMonitorStatusForName(jsonValue.GetString("monitorStatus")); + + } + + if(jsonValue.ValueExists("localResources")) + { + Aws::Utils::Array localResourcesJsonList = jsonValue.GetArray("localResources"); + for(unsigned localResourcesIndex = 0; localResourcesIndex < localResourcesJsonList.GetLength(); ++localResourcesIndex) + { + m_localResources.push_back(localResourcesJsonList[localResourcesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("remoteResources")) + { + Aws::Utils::Array remoteResourcesJsonList = jsonValue.GetArray("remoteResources"); + for(unsigned remoteResourcesIndex = 0; remoteResourcesIndex < remoteResourcesJsonList.GetLength(); ++remoteResourcesIndex) + { + m_remoteResources.push_back(remoteResourcesJsonList[remoteResourcesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + } + + if(jsonValue.ValueExists("modifiedAt")) + { + m_modifiedAt = jsonValue.GetDouble("modifiedAt"); + + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateScopeRequest.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateScopeRequest.cpp new file mode 100644 index 00000000000..6e10d4353ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateScopeRequest.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateScopeRequest::UpdateScopeRequest() : + m_scopeIdHasBeenSet(false), + m_resourcesToAddHasBeenSet(false), + m_resourcesToDeleteHasBeenSet(false) +{ +} + +Aws::String UpdateScopeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourcesToAddHasBeenSet) + { + Aws::Utils::Array resourcesToAddJsonList(m_resourcesToAdd.size()); + for(unsigned resourcesToAddIndex = 0; resourcesToAddIndex < resourcesToAddJsonList.GetLength(); ++resourcesToAddIndex) + { + resourcesToAddJsonList[resourcesToAddIndex].AsObject(m_resourcesToAdd[resourcesToAddIndex].Jsonize()); + } + payload.WithArray("resourcesToAdd", std::move(resourcesToAddJsonList)); + + } + + if(m_resourcesToDeleteHasBeenSet) + { + Aws::Utils::Array resourcesToDeleteJsonList(m_resourcesToDelete.size()); + for(unsigned resourcesToDeleteIndex = 0; resourcesToDeleteIndex < resourcesToDeleteJsonList.GetLength(); ++resourcesToDeleteIndex) + { + resourcesToDeleteJsonList[resourcesToDeleteIndex].AsObject(m_resourcesToDelete[resourcesToDeleteIndex].Jsonize()); + } + payload.WithArray("resourcesToDelete", std::move(resourcesToDeleteJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateScopeResult.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateScopeResult.cpp new file mode 100644 index 00000000000..e04577952fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/UpdateScopeResult.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFlowMonitor::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateScopeResult::UpdateScopeResult() : + m_status(ScopeStatus::NOT_SET) +{ +} + +UpdateScopeResult::UpdateScopeResult(const Aws::AmazonWebServiceResult& result) + : UpdateScopeResult() +{ + *this = result; +} + +UpdateScopeResult& UpdateScopeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scopeId")) + { + m_scopeId = jsonValue.GetString("scopeId"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = ScopeStatusMapper::GetScopeStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("scopeArn")) + { + m_scopeArn = jsonValue.GetString("scopeArn"); + + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsMetric.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsMetric.cpp new file mode 100644 index 00000000000..3f12ff11f0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsMetric.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace NetworkFlowMonitor + { + namespace Model + { + namespace WorkloadInsightsMetricMapper + { + + static const int TIMEOUTS_HASH = HashingUtils::HashString("TIMEOUTS"); + static const int RETRANSMISSIONS_HASH = HashingUtils::HashString("RETRANSMISSIONS"); + static const int DATA_TRANSFERRED_HASH = HashingUtils::HashString("DATA_TRANSFERRED"); + + + WorkloadInsightsMetric GetWorkloadInsightsMetricForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TIMEOUTS_HASH) + { + return WorkloadInsightsMetric::TIMEOUTS; + } + else if (hashCode == RETRANSMISSIONS_HASH) + { + return WorkloadInsightsMetric::RETRANSMISSIONS; + } + else if (hashCode == DATA_TRANSFERRED_HASH) + { + return WorkloadInsightsMetric::DATA_TRANSFERRED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return WorkloadInsightsMetric::NOT_SET; + } + + Aws::String GetNameForWorkloadInsightsMetric(WorkloadInsightsMetric enumValue) + { + switch(enumValue) + { + case WorkloadInsightsMetric::NOT_SET: + return {}; + case WorkloadInsightsMetric::TIMEOUTS: + return "TIMEOUTS"; + case WorkloadInsightsMetric::RETRANSMISSIONS: + return "RETRANSMISSIONS"; + case WorkloadInsightsMetric::DATA_TRANSFERRED: + return "DATA_TRANSFERRED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace WorkloadInsightsMetricMapper + } // namespace Model + } // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsTopContributorsDataPoint.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsTopContributorsDataPoint.cpp new file mode 100644 index 00000000000..8d8ad0a3a95 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsTopContributorsDataPoint.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +WorkloadInsightsTopContributorsDataPoint::WorkloadInsightsTopContributorsDataPoint() : + m_timestampsHasBeenSet(false), + m_valuesHasBeenSet(false), + m_labelHasBeenSet(false) +{ +} + +WorkloadInsightsTopContributorsDataPoint::WorkloadInsightsTopContributorsDataPoint(JsonView jsonValue) + : WorkloadInsightsTopContributorsDataPoint() +{ + *this = jsonValue; +} + +WorkloadInsightsTopContributorsDataPoint& WorkloadInsightsTopContributorsDataPoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("timestamps")) + { + Aws::Utils::Array timestampsJsonList = jsonValue.GetArray("timestamps"); + for(unsigned timestampsIndex = 0; timestampsIndex < timestampsJsonList.GetLength(); ++timestampsIndex) + { + m_timestamps.push_back(Aws::Utils::DateTime{timestampsJsonList[timestampsIndex].AsString(), Aws::Utils::DateFormat::ISO_8601}); + } + m_timestampsHasBeenSet = true; + } + + if(jsonValue.ValueExists("values")) + { + Aws::Utils::Array valuesJsonList = jsonValue.GetArray("values"); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + m_values.push_back(valuesJsonList[valuesIndex].AsDouble()); + } + m_valuesHasBeenSet = true; + } + + if(jsonValue.ValueExists("label")) + { + m_label = jsonValue.GetString("label"); + + m_labelHasBeenSet = true; + } + + return *this; +} + +JsonValue WorkloadInsightsTopContributorsDataPoint::Jsonize() const +{ + JsonValue payload; + + if(m_timestampsHasBeenSet) + { + Aws::Utils::Array timestampsJsonList(m_timestamps.size()); + for(unsigned timestampsIndex = 0; timestampsIndex < timestampsJsonList.GetLength(); ++timestampsIndex) + { + timestampsJsonList[timestampsIndex].AsString(m_timestamps[timestampsIndex].ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + payload.WithArray("timestamps", std::move(timestampsJsonList)); + + } + + if(m_valuesHasBeenSet) + { + Aws::Utils::Array valuesJsonList(m_values.size()); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + valuesJsonList[valuesIndex].AsDouble(m_values[valuesIndex]); + } + payload.WithArray("values", std::move(valuesJsonList)); + + } + + if(m_labelHasBeenSet) + { + payload.WithString("label", m_label); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsTopContributorsRow.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsTopContributorsRow.cpp new file mode 100644 index 00000000000..fb77607a4bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/model/WorkloadInsightsTopContributorsRow.cpp @@ -0,0 +1,172 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFlowMonitor +{ +namespace Model +{ + +WorkloadInsightsTopContributorsRow::WorkloadInsightsTopContributorsRow() : + m_accountIdHasBeenSet(false), + m_localSubnetIdHasBeenSet(false), + m_localAzHasBeenSet(false), + m_localVpcIdHasBeenSet(false), + m_localRegionHasBeenSet(false), + m_remoteIdentifierHasBeenSet(false), + m_value(0), + m_valueHasBeenSet(false), + m_localSubnetArnHasBeenSet(false), + m_localVpcArnHasBeenSet(false) +{ +} + +WorkloadInsightsTopContributorsRow::WorkloadInsightsTopContributorsRow(JsonView jsonValue) + : WorkloadInsightsTopContributorsRow() +{ + *this = jsonValue; +} + +WorkloadInsightsTopContributorsRow& WorkloadInsightsTopContributorsRow::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + + m_accountIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("localSubnetId")) + { + m_localSubnetId = jsonValue.GetString("localSubnetId"); + + m_localSubnetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("localAz")) + { + m_localAz = jsonValue.GetString("localAz"); + + m_localAzHasBeenSet = true; + } + + if(jsonValue.ValueExists("localVpcId")) + { + m_localVpcId = jsonValue.GetString("localVpcId"); + + m_localVpcIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("localRegion")) + { + m_localRegion = jsonValue.GetString("localRegion"); + + m_localRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("remoteIdentifier")) + { + m_remoteIdentifier = jsonValue.GetString("remoteIdentifier"); + + m_remoteIdentifierHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetInt64("value"); + + m_valueHasBeenSet = true; + } + + if(jsonValue.ValueExists("localSubnetArn")) + { + m_localSubnetArn = jsonValue.GetString("localSubnetArn"); + + m_localSubnetArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("localVpcArn")) + { + m_localVpcArn = jsonValue.GetString("localVpcArn"); + + m_localVpcArnHasBeenSet = true; + } + + return *this; +} + +JsonValue WorkloadInsightsTopContributorsRow::Jsonize() const +{ + JsonValue payload; + + if(m_accountIdHasBeenSet) + { + payload.WithString("accountId", m_accountId); + + } + + if(m_localSubnetIdHasBeenSet) + { + payload.WithString("localSubnetId", m_localSubnetId); + + } + + if(m_localAzHasBeenSet) + { + payload.WithString("localAz", m_localAz); + + } + + if(m_localVpcIdHasBeenSet) + { + payload.WithString("localVpcId", m_localVpcId); + + } + + if(m_localRegionHasBeenSet) + { + payload.WithString("localRegion", m_localRegion); + + } + + if(m_remoteIdentifierHasBeenSet) + { + payload.WithString("remoteIdentifier", m_remoteIdentifier); + + } + + if(m_valueHasBeenSet) + { + payload.WithInt64("value", m_value); + + } + + if(m_localSubnetArnHasBeenSet) + { + payload.WithString("localSubnetArn", m_localSubnetArn); + + } + + if(m_localVpcArnHasBeenSet) + { + payload.WithString("localVpcArn", m_localVpcArn); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h index b71a6f83e33..91569a547b9 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h @@ -140,11 +140,38 @@ namespace OpenSearchService } /** - *

        Attaches tags to an existing Amazon OpenSearch Service domain. Tags are a set - * of case-sensitive key-value pairs. A domain can have up to 10 tags. For more + *

        Adds a new data source in Amazon OpenSearch Service so that you can perform + * direct queries on external data.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::AddDirectQueryDataSourceOutcome AddDirectQueryDataSource(const Model::AddDirectQueryDataSourceRequest& request) const; + + /** + * A Callable wrapper for AddDirectQueryDataSource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AddDirectQueryDataSourceOutcomeCallable AddDirectQueryDataSourceCallable(const AddDirectQueryDataSourceRequestT& request) const + { + return SubmitCallable(&OpenSearchServiceClient::AddDirectQueryDataSource, request); + } + + /** + * An Async wrapper for AddDirectQueryDataSource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AddDirectQueryDataSourceAsync(const AddDirectQueryDataSourceRequestT& request, const AddDirectQueryDataSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&OpenSearchServiceClient::AddDirectQueryDataSource, request, handler, context); + } + + /** + *

        Attaches tags to an existing Amazon OpenSearch Service domain, data source, + * or application.

        Tags are a set of case-sensitive key-value pairs. A + * domain, data source, or application can have up to 10 tags. For more * information, see Tagging - * Amazon OpenSearch Service domains.

        See Also:

        .

        See Also:

        AWS * API Reference

        */ @@ -492,6 +519,32 @@ namespace OpenSearchService return SubmitAsync(&OpenSearchServiceClient::DeleteDataSource, request, handler, context); } + /** + *

        Deletes a previously configured direct query data source from Amazon + * OpenSearch Service.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::DeleteDirectQueryDataSourceOutcome DeleteDirectQueryDataSource(const Model::DeleteDirectQueryDataSourceRequest& request) const; + + /** + * A Callable wrapper for DeleteDirectQueryDataSource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteDirectQueryDataSourceOutcomeCallable DeleteDirectQueryDataSourceCallable(const DeleteDirectQueryDataSourceRequestT& request) const + { + return SubmitCallable(&OpenSearchServiceClient::DeleteDirectQueryDataSource, request); + } + + /** + * An Async wrapper for DeleteDirectQueryDataSource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteDirectQueryDataSourceAsync(const DeleteDirectQueryDataSourceRequestT& request, const DeleteDirectQueryDataSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&OpenSearchServiceClient::DeleteDirectQueryDataSource, request, handler, context); + } + /** *

        Deletes an Amazon OpenSearch Service domain and all of its data. You can't * recover a domain after you delete it.

        See Also:

        Returns detailed configuration information for a specific direct query data + * source in Amazon OpenSearch Service.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetDirectQueryDataSourceOutcome GetDirectQueryDataSource(const Model::GetDirectQueryDataSourceRequest& request) const; + + /** + * A Callable wrapper for GetDirectQueryDataSource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetDirectQueryDataSourceOutcomeCallable GetDirectQueryDataSourceCallable(const GetDirectQueryDataSourceRequestT& request) const + { + return SubmitCallable(&OpenSearchServiceClient::GetDirectQueryDataSource, request); + } + + /** + * An Async wrapper for GetDirectQueryDataSource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetDirectQueryDataSourceAsync(const GetDirectQueryDataSourceRequestT& request, const GetDirectQueryDataSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&OpenSearchServiceClient::GetDirectQueryDataSource, request, handler, context); + } + /** *

        The status of the maintenance action.

        See Also:

        AWS @@ -1335,6 +1414,32 @@ namespace OpenSearchService return SubmitAsync(&OpenSearchServiceClient::ListDataSources, request, handler, context); } + /** + *

        Lists an inventory of all the direct query data sources that you have + * configured within Amazon OpenSearch Service.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListDirectQueryDataSourcesOutcome ListDirectQueryDataSources(const Model::ListDirectQueryDataSourcesRequest& request = {}) const; + + /** + * A Callable wrapper for ListDirectQueryDataSources that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListDirectQueryDataSourcesOutcomeCallable ListDirectQueryDataSourcesCallable(const ListDirectQueryDataSourcesRequestT& request = {}) const + { + return SubmitCallable(&OpenSearchServiceClient::ListDirectQueryDataSources, request); + } + + /** + * An Async wrapper for ListDirectQueryDataSources that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListDirectQueryDataSourcesAsync(const ListDirectQueryDataSourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListDirectQueryDataSourcesRequestT& request = {}) const + { + return SubmitAsync(&OpenSearchServiceClient::ListDirectQueryDataSources, request, handler, context); + } + /** *

        A list of maintenance actions for the domain.

        See Also:

        AWS @@ -1499,10 +1604,10 @@ namespace OpenSearchService } /** - *

        Returns all resource tags for an Amazon OpenSearch Service domain. For more - * information, see Returns all resource tags for an Amazon OpenSearch Service domain, data + * source, or application. For more information, see Tagging - * Amazon OpenSearch Service domains.

        See Also:

        .

        See Also:

        AWS * API Reference

        */ @@ -1684,10 +1789,10 @@ namespace OpenSearchService } /** - *

        Removes the specified set of tags from an Amazon OpenSearch Service domain. - * For more information, see Removes the specified set of tags from an Amazon OpenSearch Service domain, + * data source, or application. For more information, see - * Tagging Amazon OpenSearch Service domains.

        See Also:

        .

        See Also:

        AWS * API Reference

        */ @@ -1845,6 +1950,32 @@ namespace OpenSearchService return SubmitAsync(&OpenSearchServiceClient::UpdateDataSource, request, handler, context); } + /** + *

        Updates the configuration or properties of an existing direct query data + * source in Amazon OpenSearch Service.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateDirectQueryDataSourceOutcome UpdateDirectQueryDataSource(const Model::UpdateDirectQueryDataSourceRequest& request) const; + + /** + * A Callable wrapper for UpdateDirectQueryDataSource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateDirectQueryDataSourceOutcomeCallable UpdateDirectQueryDataSourceCallable(const UpdateDirectQueryDataSourceRequestT& request) const + { + return SubmitCallable(&OpenSearchServiceClient::UpdateDirectQueryDataSource, request); + } + + /** + * An Async wrapper for UpdateDirectQueryDataSource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateDirectQueryDataSourceAsync(const UpdateDirectQueryDataSourceRequestT& request, const UpdateDirectQueryDataSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&OpenSearchServiceClient::UpdateDirectQueryDataSource, request, handler, context); + } + /** *

        Modifies the cluster configuration of the specified Amazon OpenSearch Service * domain.

        See Also:

        #include +#include #include #include #include @@ -57,12 +58,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -81,12 +84,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -140,6 +145,7 @@ namespace Aws /* Service model forward declarations required in OpenSearchServiceClient header */ class AcceptInboundConnectionRequest; class AddDataSourceRequest; + class AddDirectQueryDataSourceRequest; class AddTagsRequest; class AssociatePackageRequest; class AssociatePackagesRequest; @@ -153,6 +159,7 @@ namespace Aws class CreateVpcEndpointRequest; class DeleteApplicationRequest; class DeleteDataSourceRequest; + class DeleteDirectQueryDataSourceRequest; class DeleteDomainRequest; class DeleteInboundConnectionRequest; class DeleteOutboundConnectionRequest; @@ -178,12 +185,14 @@ namespace Aws class GetApplicationRequest; class GetCompatibleVersionsRequest; class GetDataSourceRequest; + class GetDirectQueryDataSourceRequest; class GetDomainMaintenanceStatusRequest; class GetPackageVersionHistoryRequest; class GetUpgradeHistoryRequest; class GetUpgradeStatusRequest; class ListApplicationsRequest; class ListDataSourcesRequest; + class ListDirectQueryDataSourcesRequest; class ListDomainMaintenancesRequest; class ListDomainNamesRequest; class ListDomainsForPackageRequest; @@ -203,6 +212,7 @@ namespace Aws class StartServiceSoftwareUpdateRequest; class UpdateApplicationRequest; class UpdateDataSourceRequest; + class UpdateDirectQueryDataSourceRequest; class UpdateDomainConfigRequest; class UpdatePackageRequest; class UpdatePackageScopeRequest; @@ -214,6 +224,7 @@ namespace Aws /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome AcceptInboundConnectionOutcome; typedef Aws::Utils::Outcome AddDataSourceOutcome; + typedef Aws::Utils::Outcome AddDirectQueryDataSourceOutcome; typedef Aws::Utils::Outcome AddTagsOutcome; typedef Aws::Utils::Outcome AssociatePackageOutcome; typedef Aws::Utils::Outcome AssociatePackagesOutcome; @@ -227,6 +238,7 @@ namespace Aws typedef Aws::Utils::Outcome CreateVpcEndpointOutcome; typedef Aws::Utils::Outcome DeleteApplicationOutcome; typedef Aws::Utils::Outcome DeleteDataSourceOutcome; + typedef Aws::Utils::Outcome DeleteDirectQueryDataSourceOutcome; typedef Aws::Utils::Outcome DeleteDomainOutcome; typedef Aws::Utils::Outcome DeleteInboundConnectionOutcome; typedef Aws::Utils::Outcome DeleteOutboundConnectionOutcome; @@ -252,12 +264,14 @@ namespace Aws typedef Aws::Utils::Outcome GetApplicationOutcome; typedef Aws::Utils::Outcome GetCompatibleVersionsOutcome; typedef Aws::Utils::Outcome GetDataSourceOutcome; + typedef Aws::Utils::Outcome GetDirectQueryDataSourceOutcome; typedef Aws::Utils::Outcome GetDomainMaintenanceStatusOutcome; typedef Aws::Utils::Outcome GetPackageVersionHistoryOutcome; typedef Aws::Utils::Outcome GetUpgradeHistoryOutcome; typedef Aws::Utils::Outcome GetUpgradeStatusOutcome; typedef Aws::Utils::Outcome ListApplicationsOutcome; typedef Aws::Utils::Outcome ListDataSourcesOutcome; + typedef Aws::Utils::Outcome ListDirectQueryDataSourcesOutcome; typedef Aws::Utils::Outcome ListDomainMaintenancesOutcome; typedef Aws::Utils::Outcome ListDomainNamesOutcome; typedef Aws::Utils::Outcome ListDomainsForPackageOutcome; @@ -277,6 +291,7 @@ namespace Aws typedef Aws::Utils::Outcome StartServiceSoftwareUpdateOutcome; typedef Aws::Utils::Outcome UpdateApplicationOutcome; typedef Aws::Utils::Outcome UpdateDataSourceOutcome; + typedef Aws::Utils::Outcome UpdateDirectQueryDataSourceOutcome; typedef Aws::Utils::Outcome UpdateDomainConfigOutcome; typedef Aws::Utils::Outcome UpdatePackageOutcome; typedef Aws::Utils::Outcome UpdatePackageScopeOutcome; @@ -288,6 +303,7 @@ namespace Aws /* Service model Outcome callable definitions */ typedef std::future AcceptInboundConnectionOutcomeCallable; typedef std::future AddDataSourceOutcomeCallable; + typedef std::future AddDirectQueryDataSourceOutcomeCallable; typedef std::future AddTagsOutcomeCallable; typedef std::future AssociatePackageOutcomeCallable; typedef std::future AssociatePackagesOutcomeCallable; @@ -301,6 +317,7 @@ namespace Aws typedef std::future CreateVpcEndpointOutcomeCallable; typedef std::future DeleteApplicationOutcomeCallable; typedef std::future DeleteDataSourceOutcomeCallable; + typedef std::future DeleteDirectQueryDataSourceOutcomeCallable; typedef std::future DeleteDomainOutcomeCallable; typedef std::future DeleteInboundConnectionOutcomeCallable; typedef std::future DeleteOutboundConnectionOutcomeCallable; @@ -326,12 +343,14 @@ namespace Aws typedef std::future GetApplicationOutcomeCallable; typedef std::future GetCompatibleVersionsOutcomeCallable; typedef std::future GetDataSourceOutcomeCallable; + typedef std::future GetDirectQueryDataSourceOutcomeCallable; typedef std::future GetDomainMaintenanceStatusOutcomeCallable; typedef std::future GetPackageVersionHistoryOutcomeCallable; typedef std::future GetUpgradeHistoryOutcomeCallable; typedef std::future GetUpgradeStatusOutcomeCallable; typedef std::future ListApplicationsOutcomeCallable; typedef std::future ListDataSourcesOutcomeCallable; + typedef std::future ListDirectQueryDataSourcesOutcomeCallable; typedef std::future ListDomainMaintenancesOutcomeCallable; typedef std::future ListDomainNamesOutcomeCallable; typedef std::future ListDomainsForPackageOutcomeCallable; @@ -351,6 +370,7 @@ namespace Aws typedef std::future StartServiceSoftwareUpdateOutcomeCallable; typedef std::future UpdateApplicationOutcomeCallable; typedef std::future UpdateDataSourceOutcomeCallable; + typedef std::future UpdateDirectQueryDataSourceOutcomeCallable; typedef std::future UpdateDomainConfigOutcomeCallable; typedef std::future UpdatePackageOutcomeCallable; typedef std::future UpdatePackageScopeOutcomeCallable; @@ -365,6 +385,7 @@ namespace Aws /* Service model async handlers definitions */ typedef std::function&) > AcceptInboundConnectionResponseReceivedHandler; typedef std::function&) > AddDataSourceResponseReceivedHandler; + typedef std::function&) > AddDirectQueryDataSourceResponseReceivedHandler; typedef std::function&) > AddTagsResponseReceivedHandler; typedef std::function&) > AssociatePackageResponseReceivedHandler; typedef std::function&) > AssociatePackagesResponseReceivedHandler; @@ -378,6 +399,7 @@ namespace Aws typedef std::function&) > CreateVpcEndpointResponseReceivedHandler; typedef std::function&) > DeleteApplicationResponseReceivedHandler; typedef std::function&) > DeleteDataSourceResponseReceivedHandler; + typedef std::function&) > DeleteDirectQueryDataSourceResponseReceivedHandler; typedef std::function&) > DeleteDomainResponseReceivedHandler; typedef std::function&) > DeleteInboundConnectionResponseReceivedHandler; typedef std::function&) > DeleteOutboundConnectionResponseReceivedHandler; @@ -403,12 +425,14 @@ namespace Aws typedef std::function&) > GetApplicationResponseReceivedHandler; typedef std::function&) > GetCompatibleVersionsResponseReceivedHandler; typedef std::function&) > GetDataSourceResponseReceivedHandler; + typedef std::function&) > GetDirectQueryDataSourceResponseReceivedHandler; typedef std::function&) > GetDomainMaintenanceStatusResponseReceivedHandler; typedef std::function&) > GetPackageVersionHistoryResponseReceivedHandler; typedef std::function&) > GetUpgradeHistoryResponseReceivedHandler; typedef std::function&) > GetUpgradeStatusResponseReceivedHandler; typedef std::function&) > ListApplicationsResponseReceivedHandler; typedef std::function&) > ListDataSourcesResponseReceivedHandler; + typedef std::function&) > ListDirectQueryDataSourcesResponseReceivedHandler; typedef std::function&) > ListDomainMaintenancesResponseReceivedHandler; typedef std::function&) > ListDomainNamesResponseReceivedHandler; typedef std::function&) > ListDomainsForPackageResponseReceivedHandler; @@ -428,6 +452,7 @@ namespace Aws typedef std::function&) > StartServiceSoftwareUpdateResponseReceivedHandler; typedef std::function&) > UpdateApplicationResponseReceivedHandler; typedef std::function&) > UpdateDataSourceResponseReceivedHandler; + typedef std::function&) > UpdateDirectQueryDataSourceResponseReceivedHandler; typedef std::function&) > UpdateDomainConfigResponseReceivedHandler; typedef std::function&) > UpdatePackageResponseReceivedHandler; typedef std::function&) > UpdatePackageScopeResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddDirectQueryDataSourceRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddDirectQueryDataSourceRequest.h new file mode 100644 index 00000000000..62f63bfaa0b --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddDirectQueryDataSourceRequest.h @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + + /** + */ + class AddDirectQueryDataSourceRequest : public OpenSearchServiceRequest + { + public: + AWS_OPENSEARCHSERVICE_API AddDirectQueryDataSourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "AddDirectQueryDataSource"; } + + AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        A unique, user-defined label to identify the data source within your + * OpenSearch Service environment.

        + */ + inline const Aws::String& GetDataSourceName() const{ return m_dataSourceName; } + inline bool DataSourceNameHasBeenSet() const { return m_dataSourceNameHasBeenSet; } + inline void SetDataSourceName(const Aws::String& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = value; } + inline void SetDataSourceName(Aws::String&& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = std::move(value); } + inline void SetDataSourceName(const char* value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName.assign(value); } + inline AddDirectQueryDataSourceRequest& WithDataSourceName(const Aws::String& value) { SetDataSourceName(value); return *this;} + inline AddDirectQueryDataSourceRequest& WithDataSourceName(Aws::String&& value) { SetDataSourceName(std::move(value)); return *this;} + inline AddDirectQueryDataSourceRequest& WithDataSourceName(const char* value) { SetDataSourceName(value); return *this;} + ///@} + + ///@{ + /** + *

        The supported Amazon Web Services service that you want to use as the source + * for direct queries in OpenSearch Service.

        + */ + inline const DirectQueryDataSourceType& GetDataSourceType() const{ return m_dataSourceType; } + inline bool DataSourceTypeHasBeenSet() const { return m_dataSourceTypeHasBeenSet; } + inline void SetDataSourceType(const DirectQueryDataSourceType& value) { m_dataSourceTypeHasBeenSet = true; m_dataSourceType = value; } + inline void SetDataSourceType(DirectQueryDataSourceType&& value) { m_dataSourceTypeHasBeenSet = true; m_dataSourceType = std::move(value); } + inline AddDirectQueryDataSourceRequest& WithDataSourceType(const DirectQueryDataSourceType& value) { SetDataSourceType(value); return *this;} + inline AddDirectQueryDataSourceRequest& WithDataSourceType(DirectQueryDataSourceType&& value) { SetDataSourceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        An optional text field for providing additional context and details about + * the data source.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline AddDirectQueryDataSourceRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline AddDirectQueryDataSourceRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline AddDirectQueryDataSourceRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        A list of Amazon Resource Names (ARNs) for the OpenSearch collections that + * are associated with the direct query data source.

        + */ + inline const Aws::Vector& GetOpenSearchArns() const{ return m_openSearchArns; } + inline bool OpenSearchArnsHasBeenSet() const { return m_openSearchArnsHasBeenSet; } + inline void SetOpenSearchArns(const Aws::Vector& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns = value; } + inline void SetOpenSearchArns(Aws::Vector&& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns = std::move(value); } + inline AddDirectQueryDataSourceRequest& WithOpenSearchArns(const Aws::Vector& value) { SetOpenSearchArns(value); return *this;} + inline AddDirectQueryDataSourceRequest& WithOpenSearchArns(Aws::Vector&& value) { SetOpenSearchArns(std::move(value)); return *this;} + inline AddDirectQueryDataSourceRequest& AddOpenSearchArns(const Aws::String& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns.push_back(value); return *this; } + inline AddDirectQueryDataSourceRequest& AddOpenSearchArns(Aws::String&& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns.push_back(std::move(value)); return *this; } + inline AddDirectQueryDataSourceRequest& AddOpenSearchArns(const char* value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTagList() const{ return m_tagList; } + inline bool TagListHasBeenSet() const { return m_tagListHasBeenSet; } + inline void SetTagList(const Aws::Vector& value) { m_tagListHasBeenSet = true; m_tagList = value; } + inline void SetTagList(Aws::Vector&& value) { m_tagListHasBeenSet = true; m_tagList = std::move(value); } + inline AddDirectQueryDataSourceRequest& WithTagList(const Aws::Vector& value) { SetTagList(value); return *this;} + inline AddDirectQueryDataSourceRequest& WithTagList(Aws::Vector&& value) { SetTagList(std::move(value)); return *this;} + inline AddDirectQueryDataSourceRequest& AddTagList(const Tag& value) { m_tagListHasBeenSet = true; m_tagList.push_back(value); return *this; } + inline AddDirectQueryDataSourceRequest& AddTagList(Tag&& value) { m_tagListHasBeenSet = true; m_tagList.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_dataSourceName; + bool m_dataSourceNameHasBeenSet = false; + + DirectQueryDataSourceType m_dataSourceType; + bool m_dataSourceTypeHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_openSearchArns; + bool m_openSearchArnsHasBeenSet = false; + + Aws::Vector m_tagList; + bool m_tagListHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddDirectQueryDataSourceResult.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddDirectQueryDataSourceResult.h new file mode 100644 index 00000000000..db15991530f --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddDirectQueryDataSourceResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + class AddDirectQueryDataSourceResult + { + public: + AWS_OPENSEARCHSERVICE_API AddDirectQueryDataSourceResult(); + AWS_OPENSEARCHSERVICE_API AddDirectQueryDataSourceResult(const Aws::AmazonWebServiceResult& result); + AWS_OPENSEARCHSERVICE_API AddDirectQueryDataSourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The unique, system-generated identifier that represents the data source. + *

        + */ + inline const Aws::String& GetDataSourceArn() const{ return m_dataSourceArn; } + inline void SetDataSourceArn(const Aws::String& value) { m_dataSourceArn = value; } + inline void SetDataSourceArn(Aws::String&& value) { m_dataSourceArn = std::move(value); } + inline void SetDataSourceArn(const char* value) { m_dataSourceArn.assign(value); } + inline AddDirectQueryDataSourceResult& WithDataSourceArn(const Aws::String& value) { SetDataSourceArn(value); return *this;} + inline AddDirectQueryDataSourceResult& WithDataSourceArn(Aws::String&& value) { SetDataSourceArn(std::move(value)); return *this;} + inline AddDirectQueryDataSourceResult& WithDataSourceArn(const char* value) { SetDataSourceArn(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline AddDirectQueryDataSourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline AddDirectQueryDataSourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline AddDirectQueryDataSourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_dataSourceArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddTagsRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddTagsRequest.h index 1b425e1e9d5..8fc47f3ca1b 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddTagsRequest.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AddTagsRequest.h @@ -20,7 +20,8 @@ namespace Model /** *

        Container for the parameters to the AddTags operation. Specifies - * the tags to attach to the domain.

        See Also:

        See + * Also:

        AWS * API Reference

        */ @@ -40,8 +41,8 @@ namespace Model ///@{ /** - *

        Amazon Resource Name (ARN) for the OpenSearch Service domain to which you - * want to attach resource tags.

        + *

        Amazon Resource Name (ARN) for the OpenSearch Service domain, data source, or + * application to which you want to attach resource tags.

        */ inline const Aws::String& GetARN() const{ return m_aRN; } inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CloudWatchDirectQueryDataSource.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CloudWatchDirectQueryDataSource.h new file mode 100644 index 00000000000..af45928b39b --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CloudWatchDirectQueryDataSource.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

        Configuration details for a CloudWatch Logs data source that can be used for + * direct queries.

        See Also:

        AWS + * API Reference

        + */ + class CloudWatchDirectQueryDataSource + { + public: + AWS_OPENSEARCHSERVICE_API CloudWatchDirectQueryDataSource(); + AWS_OPENSEARCHSERVICE_API CloudWatchDirectQueryDataSource(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API CloudWatchDirectQueryDataSource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The unique identifier of the IAM role that grants OpenSearch Service + * permission to access the specified data source.

        + */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + inline CloudWatchDirectQueryDataSource& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + inline CloudWatchDirectQueryDataSource& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + inline CloudWatchDirectQueryDataSource& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + ///@} + private: + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DeleteDirectQueryDataSourceRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DeleteDirectQueryDataSourceRequest.h new file mode 100644 index 00000000000..5a02be98eca --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DeleteDirectQueryDataSourceRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + + /** + */ + class DeleteDirectQueryDataSourceRequest : public OpenSearchServiceRequest + { + public: + AWS_OPENSEARCHSERVICE_API DeleteDirectQueryDataSourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteDirectQueryDataSource"; } + + AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        A unique, user-defined label to identify the data source within your + * OpenSearch Service environment.

        + */ + inline const Aws::String& GetDataSourceName() const{ return m_dataSourceName; } + inline bool DataSourceNameHasBeenSet() const { return m_dataSourceNameHasBeenSet; } + inline void SetDataSourceName(const Aws::String& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = value; } + inline void SetDataSourceName(Aws::String&& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = std::move(value); } + inline void SetDataSourceName(const char* value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName.assign(value); } + inline DeleteDirectQueryDataSourceRequest& WithDataSourceName(const Aws::String& value) { SetDataSourceName(value); return *this;} + inline DeleteDirectQueryDataSourceRequest& WithDataSourceName(Aws::String&& value) { SetDataSourceName(std::move(value)); return *this;} + inline DeleteDirectQueryDataSourceRequest& WithDataSourceName(const char* value) { SetDataSourceName(value); return *this;} + ///@} + private: + + Aws::String m_dataSourceName; + bool m_dataSourceNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DirectQueryDataSource.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DirectQueryDataSource.h new file mode 100644 index 00000000000..e92f771c1ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DirectQueryDataSource.h @@ -0,0 +1,153 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

        The configuration details for a data source that can be directly queried. + *

        See Also:

        AWS + * API Reference

        + */ + class DirectQueryDataSource + { + public: + AWS_OPENSEARCHSERVICE_API DirectQueryDataSource(); + AWS_OPENSEARCHSERVICE_API DirectQueryDataSource(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API DirectQueryDataSource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        A unique, user-defined label to identify the data source within your + * OpenSearch Service environment.

        + */ + inline const Aws::String& GetDataSourceName() const{ return m_dataSourceName; } + inline bool DataSourceNameHasBeenSet() const { return m_dataSourceNameHasBeenSet; } + inline void SetDataSourceName(const Aws::String& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = value; } + inline void SetDataSourceName(Aws::String&& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = std::move(value); } + inline void SetDataSourceName(const char* value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName.assign(value); } + inline DirectQueryDataSource& WithDataSourceName(const Aws::String& value) { SetDataSourceName(value); return *this;} + inline DirectQueryDataSource& WithDataSourceName(Aws::String&& value) { SetDataSourceName(std::move(value)); return *this;} + inline DirectQueryDataSource& WithDataSourceName(const char* value) { SetDataSourceName(value); return *this;} + ///@} + + ///@{ + /** + *

        The supported Amazon Web Services service that is used as the source for + * direct queries in OpenSearch Service.

        + */ + inline const DirectQueryDataSourceType& GetDataSourceType() const{ return m_dataSourceType; } + inline bool DataSourceTypeHasBeenSet() const { return m_dataSourceTypeHasBeenSet; } + inline void SetDataSourceType(const DirectQueryDataSourceType& value) { m_dataSourceTypeHasBeenSet = true; m_dataSourceType = value; } + inline void SetDataSourceType(DirectQueryDataSourceType&& value) { m_dataSourceTypeHasBeenSet = true; m_dataSourceType = std::move(value); } + inline DirectQueryDataSource& WithDataSourceType(const DirectQueryDataSourceType& value) { SetDataSourceType(value); return *this;} + inline DirectQueryDataSource& WithDataSourceType(DirectQueryDataSourceType&& value) { SetDataSourceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        A description that provides additional context and details about the data + * source.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline DirectQueryDataSource& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline DirectQueryDataSource& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline DirectQueryDataSource& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        A list of Amazon Resource Names (ARNs) for the OpenSearch collections that + * are associated with the direct query data source.

        + */ + inline const Aws::Vector& GetOpenSearchArns() const{ return m_openSearchArns; } + inline bool OpenSearchArnsHasBeenSet() const { return m_openSearchArnsHasBeenSet; } + inline void SetOpenSearchArns(const Aws::Vector& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns = value; } + inline void SetOpenSearchArns(Aws::Vector&& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns = std::move(value); } + inline DirectQueryDataSource& WithOpenSearchArns(const Aws::Vector& value) { SetOpenSearchArns(value); return *this;} + inline DirectQueryDataSource& WithOpenSearchArns(Aws::Vector&& value) { SetOpenSearchArns(std::move(value)); return *this;} + inline DirectQueryDataSource& AddOpenSearchArns(const Aws::String& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns.push_back(value); return *this; } + inline DirectQueryDataSource& AddOpenSearchArns(Aws::String&& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns.push_back(std::move(value)); return *this; } + inline DirectQueryDataSource& AddOpenSearchArns(const char* value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The unique, system-generated identifier that represents the data source.

        + */ + inline const Aws::String& GetDataSourceArn() const{ return m_dataSourceArn; } + inline bool DataSourceArnHasBeenSet() const { return m_dataSourceArnHasBeenSet; } + inline void SetDataSourceArn(const Aws::String& value) { m_dataSourceArnHasBeenSet = true; m_dataSourceArn = value; } + inline void SetDataSourceArn(Aws::String&& value) { m_dataSourceArnHasBeenSet = true; m_dataSourceArn = std::move(value); } + inline void SetDataSourceArn(const char* value) { m_dataSourceArnHasBeenSet = true; m_dataSourceArn.assign(value); } + inline DirectQueryDataSource& WithDataSourceArn(const Aws::String& value) { SetDataSourceArn(value); return *this;} + inline DirectQueryDataSource& WithDataSourceArn(Aws::String&& value) { SetDataSourceArn(std::move(value)); return *this;} + inline DirectQueryDataSource& WithDataSourceArn(const char* value) { SetDataSourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

        A list of tags attached to a direct query data source.

        + */ + inline const Aws::Vector& GetTagList() const{ return m_tagList; } + inline bool TagListHasBeenSet() const { return m_tagListHasBeenSet; } + inline void SetTagList(const Aws::Vector& value) { m_tagListHasBeenSet = true; m_tagList = value; } + inline void SetTagList(Aws::Vector&& value) { m_tagListHasBeenSet = true; m_tagList = std::move(value); } + inline DirectQueryDataSource& WithTagList(const Aws::Vector& value) { SetTagList(value); return *this;} + inline DirectQueryDataSource& WithTagList(Aws::Vector&& value) { SetTagList(std::move(value)); return *this;} + inline DirectQueryDataSource& AddTagList(const Tag& value) { m_tagListHasBeenSet = true; m_tagList.push_back(value); return *this; } + inline DirectQueryDataSource& AddTagList(Tag&& value) { m_tagListHasBeenSet = true; m_tagList.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_dataSourceName; + bool m_dataSourceNameHasBeenSet = false; + + DirectQueryDataSourceType m_dataSourceType; + bool m_dataSourceTypeHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_openSearchArns; + bool m_openSearchArnsHasBeenSet = false; + + Aws::String m_dataSourceArn; + bool m_dataSourceArnHasBeenSet = false; + + Aws::Vector m_tagList; + bool m_tagListHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DirectQueryDataSourceType.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DirectQueryDataSourceType.h new file mode 100644 index 00000000000..20d9bad93b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DirectQueryDataSourceType.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

        The type of data source that is used for direct queries. This is a supported + * Amazon Web Services service, such as CloudWatch Logs or Security Lake. + *

        See Also:

        AWS + * API Reference

        + */ + class DirectQueryDataSourceType + { + public: + AWS_OPENSEARCHSERVICE_API DirectQueryDataSourceType(); + AWS_OPENSEARCHSERVICE_API DirectQueryDataSourceType(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API DirectQueryDataSourceType& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Specifies CloudWatch Logs as a type of data source for direct queries.

        + */ + inline const CloudWatchDirectQueryDataSource& GetCloudWatchLog() const{ return m_cloudWatchLog; } + inline bool CloudWatchLogHasBeenSet() const { return m_cloudWatchLogHasBeenSet; } + inline void SetCloudWatchLog(const CloudWatchDirectQueryDataSource& value) { m_cloudWatchLogHasBeenSet = true; m_cloudWatchLog = value; } + inline void SetCloudWatchLog(CloudWatchDirectQueryDataSource&& value) { m_cloudWatchLogHasBeenSet = true; m_cloudWatchLog = std::move(value); } + inline DirectQueryDataSourceType& WithCloudWatchLog(const CloudWatchDirectQueryDataSource& value) { SetCloudWatchLog(value); return *this;} + inline DirectQueryDataSourceType& WithCloudWatchLog(CloudWatchDirectQueryDataSource&& value) { SetCloudWatchLog(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Specifies Security Lake as a type of data source for direct queries.

        + */ + inline const SecurityLakeDirectQueryDataSource& GetSecurityLake() const{ return m_securityLake; } + inline bool SecurityLakeHasBeenSet() const { return m_securityLakeHasBeenSet; } + inline void SetSecurityLake(const SecurityLakeDirectQueryDataSource& value) { m_securityLakeHasBeenSet = true; m_securityLake = value; } + inline void SetSecurityLake(SecurityLakeDirectQueryDataSource&& value) { m_securityLakeHasBeenSet = true; m_securityLake = std::move(value); } + inline DirectQueryDataSourceType& WithSecurityLake(const SecurityLakeDirectQueryDataSource& value) { SetSecurityLake(value); return *this;} + inline DirectQueryDataSourceType& WithSecurityLake(SecurityLakeDirectQueryDataSource&& value) { SetSecurityLake(std::move(value)); return *this;} + ///@} + private: + + CloudWatchDirectQueryDataSource m_cloudWatchLog; + bool m_cloudWatchLogHasBeenSet = false; + + SecurityLakeDirectQueryDataSource m_securityLake; + bool m_securityLakeHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetDirectQueryDataSourceRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetDirectQueryDataSourceRequest.h new file mode 100644 index 00000000000..336ad9a6543 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetDirectQueryDataSourceRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + + /** + */ + class GetDirectQueryDataSourceRequest : public OpenSearchServiceRequest + { + public: + AWS_OPENSEARCHSERVICE_API GetDirectQueryDataSourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetDirectQueryDataSource"; } + + AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        A unique, user-defined label that identifies the data source within your + * OpenSearch Service environment.

        + */ + inline const Aws::String& GetDataSourceName() const{ return m_dataSourceName; } + inline bool DataSourceNameHasBeenSet() const { return m_dataSourceNameHasBeenSet; } + inline void SetDataSourceName(const Aws::String& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = value; } + inline void SetDataSourceName(Aws::String&& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = std::move(value); } + inline void SetDataSourceName(const char* value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName.assign(value); } + inline GetDirectQueryDataSourceRequest& WithDataSourceName(const Aws::String& value) { SetDataSourceName(value); return *this;} + inline GetDirectQueryDataSourceRequest& WithDataSourceName(Aws::String&& value) { SetDataSourceName(std::move(value)); return *this;} + inline GetDirectQueryDataSourceRequest& WithDataSourceName(const char* value) { SetDataSourceName(value); return *this;} + ///@} + private: + + Aws::String m_dataSourceName; + bool m_dataSourceNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetDirectQueryDataSourceResult.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetDirectQueryDataSourceResult.h new file mode 100644 index 00000000000..2f94bace38b --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetDirectQueryDataSourceResult.h @@ -0,0 +1,133 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + class GetDirectQueryDataSourceResult + { + public: + AWS_OPENSEARCHSERVICE_API GetDirectQueryDataSourceResult(); + AWS_OPENSEARCHSERVICE_API GetDirectQueryDataSourceResult(const Aws::AmazonWebServiceResult& result); + AWS_OPENSEARCHSERVICE_API GetDirectQueryDataSourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        A unique, user-defined label to identify the data source within your + * OpenSearch Service environment.

        + */ + inline const Aws::String& GetDataSourceName() const{ return m_dataSourceName; } + inline void SetDataSourceName(const Aws::String& value) { m_dataSourceName = value; } + inline void SetDataSourceName(Aws::String&& value) { m_dataSourceName = std::move(value); } + inline void SetDataSourceName(const char* value) { m_dataSourceName.assign(value); } + inline GetDirectQueryDataSourceResult& WithDataSourceName(const Aws::String& value) { SetDataSourceName(value); return *this;} + inline GetDirectQueryDataSourceResult& WithDataSourceName(Aws::String&& value) { SetDataSourceName(std::move(value)); return *this;} + inline GetDirectQueryDataSourceResult& WithDataSourceName(const char* value) { SetDataSourceName(value); return *this;} + ///@} + + ///@{ + /** + *

        The supported Amazon Web Services service that is used as the source for + * direct queries in OpenSearch Service.

        + */ + inline const DirectQueryDataSourceType& GetDataSourceType() const{ return m_dataSourceType; } + inline void SetDataSourceType(const DirectQueryDataSourceType& value) { m_dataSourceType = value; } + inline void SetDataSourceType(DirectQueryDataSourceType&& value) { m_dataSourceType = std::move(value); } + inline GetDirectQueryDataSourceResult& WithDataSourceType(const DirectQueryDataSourceType& value) { SetDataSourceType(value); return *this;} + inline GetDirectQueryDataSourceResult& WithDataSourceType(DirectQueryDataSourceType&& value) { SetDataSourceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        A description that provides additional context and details about the data + * source.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline void SetDescription(const Aws::String& value) { m_description = value; } + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + inline void SetDescription(const char* value) { m_description.assign(value); } + inline GetDirectQueryDataSourceResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline GetDirectQueryDataSourceResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline GetDirectQueryDataSourceResult& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        A list of Amazon Resource Names (ARNs) for the OpenSearch collections that + * are associated with the direct query data source.

        + */ + inline const Aws::Vector& GetOpenSearchArns() const{ return m_openSearchArns; } + inline void SetOpenSearchArns(const Aws::Vector& value) { m_openSearchArns = value; } + inline void SetOpenSearchArns(Aws::Vector&& value) { m_openSearchArns = std::move(value); } + inline GetDirectQueryDataSourceResult& WithOpenSearchArns(const Aws::Vector& value) { SetOpenSearchArns(value); return *this;} + inline GetDirectQueryDataSourceResult& WithOpenSearchArns(Aws::Vector&& value) { SetOpenSearchArns(std::move(value)); return *this;} + inline GetDirectQueryDataSourceResult& AddOpenSearchArns(const Aws::String& value) { m_openSearchArns.push_back(value); return *this; } + inline GetDirectQueryDataSourceResult& AddOpenSearchArns(Aws::String&& value) { m_openSearchArns.push_back(std::move(value)); return *this; } + inline GetDirectQueryDataSourceResult& AddOpenSearchArns(const char* value) { m_openSearchArns.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The unique, system-generated identifier that represents the data source. + *

        + */ + inline const Aws::String& GetDataSourceArn() const{ return m_dataSourceArn; } + inline void SetDataSourceArn(const Aws::String& value) { m_dataSourceArn = value; } + inline void SetDataSourceArn(Aws::String&& value) { m_dataSourceArn = std::move(value); } + inline void SetDataSourceArn(const char* value) { m_dataSourceArn.assign(value); } + inline GetDirectQueryDataSourceResult& WithDataSourceArn(const Aws::String& value) { SetDataSourceArn(value); return *this;} + inline GetDirectQueryDataSourceResult& WithDataSourceArn(Aws::String&& value) { SetDataSourceArn(std::move(value)); return *this;} + inline GetDirectQueryDataSourceResult& WithDataSourceArn(const char* value) { SetDataSourceArn(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetDirectQueryDataSourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetDirectQueryDataSourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetDirectQueryDataSourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_dataSourceName; + + DirectQueryDataSourceType m_dataSourceType; + + Aws::String m_description; + + Aws::Vector m_openSearchArns; + + Aws::String m_dataSourceArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListDirectQueryDataSourcesRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListDirectQueryDataSourcesRequest.h new file mode 100644 index 00000000000..d839ef43fe2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListDirectQueryDataSourcesRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace OpenSearchService +{ +namespace Model +{ + + /** + */ + class ListDirectQueryDataSourcesRequest : public OpenSearchServiceRequest + { + public: + AWS_OPENSEARCHSERVICE_API ListDirectQueryDataSourcesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListDirectQueryDataSources"; } + + AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; + + AWS_OPENSEARCHSERVICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListDirectQueryDataSourcesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListDirectQueryDataSourcesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListDirectQueryDataSourcesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListDirectQueryDataSourcesResult.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListDirectQueryDataSourcesResult.h new file mode 100644 index 00000000000..3ac2dc57588 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListDirectQueryDataSourcesResult.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + class ListDirectQueryDataSourcesResult + { + public: + AWS_OPENSEARCHSERVICE_API ListDirectQueryDataSourcesResult(); + AWS_OPENSEARCHSERVICE_API ListDirectQueryDataSourcesResult(const Aws::AmazonWebServiceResult& result); + AWS_OPENSEARCHSERVICE_API ListDirectQueryDataSourcesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListDirectQueryDataSourcesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListDirectQueryDataSourcesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListDirectQueryDataSourcesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        A list of the direct query data sources that are returned by the + * ListDirectQueryDataSources API operation.

        + */ + inline const Aws::Vector& GetDirectQueryDataSources() const{ return m_directQueryDataSources; } + inline void SetDirectQueryDataSources(const Aws::Vector& value) { m_directQueryDataSources = value; } + inline void SetDirectQueryDataSources(Aws::Vector&& value) { m_directQueryDataSources = std::move(value); } + inline ListDirectQueryDataSourcesResult& WithDirectQueryDataSources(const Aws::Vector& value) { SetDirectQueryDataSources(value); return *this;} + inline ListDirectQueryDataSourcesResult& WithDirectQueryDataSources(Aws::Vector&& value) { SetDirectQueryDataSources(std::move(value)); return *this;} + inline ListDirectQueryDataSourcesResult& AddDirectQueryDataSources(const DirectQueryDataSource& value) { m_directQueryDataSources.push_back(value); return *this; } + inline ListDirectQueryDataSourcesResult& AddDirectQueryDataSources(DirectQueryDataSource&& value) { m_directQueryDataSources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListDirectQueryDataSourcesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListDirectQueryDataSourcesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListDirectQueryDataSourcesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_directQueryDataSources; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListTagsRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListTagsRequest.h index d169bffa4a7..60ae29be3e0 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListTagsRequest.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListTagsRequest.h @@ -44,7 +44,8 @@ namespace Model ///@{ /** - *

        Amazon Resource Name (ARN) for the domain to view tags for.

        + *

        Amazon Resource Name (ARN) for the domain, data source, or application to + * view tags for.

        */ inline const Aws::String& GetARN() const{ return m_aRN; } inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListTagsResult.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListTagsResult.h index e2dc1b5ba0a..ac9a6d22076 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListTagsResult.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListTagsResult.h @@ -42,7 +42,8 @@ namespace Model ///@{ /** - *

        List of resource tags associated with the specified domain.

        + *

        List of resource tags associated with the specified domain, data source, or + * application.

        */ inline const Aws::Vector& GetTagList() const{ return m_tagList; } inline void SetTagList(const Aws::Vector& value) { m_tagList = value; } diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/RemoveTagsRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/RemoveTagsRequest.h index 5fa27f81355..a0bb777a257 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/RemoveTagsRequest.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/RemoveTagsRequest.h @@ -39,8 +39,8 @@ namespace Model ///@{ /** - *

        The Amazon Resource Name (ARN) of the domain from which you want to delete - * the specified tags.

        + *

        The Amazon Resource Name (ARN) of the domain, data source, or application + * from which you want to delete the specified tags.

        */ inline const Aws::String& GetARN() const{ return m_aRN; } inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } @@ -54,7 +54,8 @@ namespace Model ///@{ /** - *

        The list of tag keys to remove from the domain.

        + *

        The list of tag keys to remove from the domain, data source, or + * application.

        */ inline const Aws::Vector& GetTagKeys() const{ return m_tagKeys; } inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/SecurityLakeDirectQueryDataSource.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/SecurityLakeDirectQueryDataSource.h new file mode 100644 index 00000000000..008b2de4957 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/SecurityLakeDirectQueryDataSource.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

        Configuration details for a Security Lake data source that can be used for + * direct queries.

        See Also:

        AWS + * API Reference

        + */ + class SecurityLakeDirectQueryDataSource + { + public: + AWS_OPENSEARCHSERVICE_API SecurityLakeDirectQueryDataSource(); + AWS_OPENSEARCHSERVICE_API SecurityLakeDirectQueryDataSource(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API SecurityLakeDirectQueryDataSource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The unique identifier of the IAM role that grants OpenSearch Service + * permission to access the specified data source.

        + */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + inline SecurityLakeDirectQueryDataSource& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + inline SecurityLakeDirectQueryDataSource& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + inline SecurityLakeDirectQueryDataSource& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + ///@} + private: + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDirectQueryDataSourceRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDirectQueryDataSourceRequest.h new file mode 100644 index 00000000000..bb352b9e55a --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDirectQueryDataSourceRequest.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + + /** + */ + class UpdateDirectQueryDataSourceRequest : public OpenSearchServiceRequest + { + public: + AWS_OPENSEARCHSERVICE_API UpdateDirectQueryDataSourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateDirectQueryDataSource"; } + + AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        A unique, user-defined label to identify the data source within your + * OpenSearch Service environment.

        + */ + inline const Aws::String& GetDataSourceName() const{ return m_dataSourceName; } + inline bool DataSourceNameHasBeenSet() const { return m_dataSourceNameHasBeenSet; } + inline void SetDataSourceName(const Aws::String& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = value; } + inline void SetDataSourceName(Aws::String&& value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName = std::move(value); } + inline void SetDataSourceName(const char* value) { m_dataSourceNameHasBeenSet = true; m_dataSourceName.assign(value); } + inline UpdateDirectQueryDataSourceRequest& WithDataSourceName(const Aws::String& value) { SetDataSourceName(value); return *this;} + inline UpdateDirectQueryDataSourceRequest& WithDataSourceName(Aws::String&& value) { SetDataSourceName(std::move(value)); return *this;} + inline UpdateDirectQueryDataSourceRequest& WithDataSourceName(const char* value) { SetDataSourceName(value); return *this;} + ///@} + + ///@{ + /** + *

        The supported Amazon Web Services service that you want to use as the source + * for direct queries in OpenSearch Service.

        + */ + inline const DirectQueryDataSourceType& GetDataSourceType() const{ return m_dataSourceType; } + inline bool DataSourceTypeHasBeenSet() const { return m_dataSourceTypeHasBeenSet; } + inline void SetDataSourceType(const DirectQueryDataSourceType& value) { m_dataSourceTypeHasBeenSet = true; m_dataSourceType = value; } + inline void SetDataSourceType(DirectQueryDataSourceType&& value) { m_dataSourceTypeHasBeenSet = true; m_dataSourceType = std::move(value); } + inline UpdateDirectQueryDataSourceRequest& WithDataSourceType(const DirectQueryDataSourceType& value) { SetDataSourceType(value); return *this;} + inline UpdateDirectQueryDataSourceRequest& WithDataSourceType(DirectQueryDataSourceType&& value) { SetDataSourceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        An optional text field for providing additional context and details about + * the data source.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline UpdateDirectQueryDataSourceRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline UpdateDirectQueryDataSourceRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline UpdateDirectQueryDataSourceRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        A list of Amazon Resource Names (ARNs) for the OpenSearch collections that + * are associated with the direct query data source.

        + */ + inline const Aws::Vector& GetOpenSearchArns() const{ return m_openSearchArns; } + inline bool OpenSearchArnsHasBeenSet() const { return m_openSearchArnsHasBeenSet; } + inline void SetOpenSearchArns(const Aws::Vector& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns = value; } + inline void SetOpenSearchArns(Aws::Vector&& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns = std::move(value); } + inline UpdateDirectQueryDataSourceRequest& WithOpenSearchArns(const Aws::Vector& value) { SetOpenSearchArns(value); return *this;} + inline UpdateDirectQueryDataSourceRequest& WithOpenSearchArns(Aws::Vector&& value) { SetOpenSearchArns(std::move(value)); return *this;} + inline UpdateDirectQueryDataSourceRequest& AddOpenSearchArns(const Aws::String& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns.push_back(value); return *this; } + inline UpdateDirectQueryDataSourceRequest& AddOpenSearchArns(Aws::String&& value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns.push_back(std::move(value)); return *this; } + inline UpdateDirectQueryDataSourceRequest& AddOpenSearchArns(const char* value) { m_openSearchArnsHasBeenSet = true; m_openSearchArns.push_back(value); return *this; } + ///@} + private: + + Aws::String m_dataSourceName; + bool m_dataSourceNameHasBeenSet = false; + + DirectQueryDataSourceType m_dataSourceType; + bool m_dataSourceTypeHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_openSearchArns; + bool m_openSearchArnsHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDirectQueryDataSourceResult.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDirectQueryDataSourceResult.h new file mode 100644 index 00000000000..3e02c3967e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDirectQueryDataSourceResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + class UpdateDirectQueryDataSourceResult + { + public: + AWS_OPENSEARCHSERVICE_API UpdateDirectQueryDataSourceResult(); + AWS_OPENSEARCHSERVICE_API UpdateDirectQueryDataSourceResult(const Aws::AmazonWebServiceResult& result); + AWS_OPENSEARCHSERVICE_API UpdateDirectQueryDataSourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The unique, system-generated identifier that represents the data source. + *

        + */ + inline const Aws::String& GetDataSourceArn() const{ return m_dataSourceArn; } + inline void SetDataSourceArn(const Aws::String& value) { m_dataSourceArn = value; } + inline void SetDataSourceArn(Aws::String&& value) { m_dataSourceArn = std::move(value); } + inline void SetDataSourceArn(const char* value) { m_dataSourceArn.assign(value); } + inline UpdateDirectQueryDataSourceResult& WithDataSourceArn(const Aws::String& value) { SetDataSourceArn(value); return *this;} + inline UpdateDirectQueryDataSourceResult& WithDataSourceArn(Aws::String&& value) { SetDataSourceArn(std::move(value)); return *this;} + inline UpdateDirectQueryDataSourceResult& WithDataSourceArn(const char* value) { SetDataSourceArn(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateDirectQueryDataSourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateDirectQueryDataSourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateDirectQueryDataSourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_dataSourceArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp b/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp index ee62d5e3a9c..c0e2a6a9887 100644 --- a/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -36,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -61,12 +63,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -86,6 +90,7 @@ #include #include #include +#include #include #include #include @@ -303,6 +308,33 @@ AddDataSourceOutcome OpenSearchServiceClient::AddDataSource(const AddDataSourceR {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +AddDirectQueryDataSourceOutcome OpenSearchServiceClient::AddDirectQueryDataSource(const AddDirectQueryDataSourceRequest& request) const +{ + AWS_OPERATION_GUARD(AddDirectQueryDataSource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AddDirectQueryDataSource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, AddDirectQueryDataSource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AddDirectQueryDataSource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".AddDirectQueryDataSource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> AddDirectQueryDataSourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, AddDirectQueryDataSource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/2021-01-01/opensearch/directQueryDataSource"); + return AddDirectQueryDataSourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + AddTagsOutcome OpenSearchServiceClient::AddTags(const AddTagsRequest& request) const { AWS_OPERATION_GUARD(AddTags); @@ -699,6 +731,39 @@ DeleteDataSourceOutcome OpenSearchServiceClient::DeleteDataSource(const DeleteDa {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteDirectQueryDataSourceOutcome OpenSearchServiceClient::DeleteDirectQueryDataSource(const DeleteDirectQueryDataSourceRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteDirectQueryDataSource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteDirectQueryDataSource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DataSourceNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteDirectQueryDataSource", "Required field: DataSourceName, is not set"); + return DeleteDirectQueryDataSourceOutcome(Aws::Client::AWSError(OpenSearchServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSourceName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteDirectQueryDataSource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteDirectQueryDataSource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteDirectQueryDataSource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteDirectQueryDataSourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteDirectQueryDataSource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/2021-01-01/opensearch/directQueryDataSource/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDataSourceName()); + return DeleteDirectQueryDataSourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteDomainOutcome OpenSearchServiceClient::DeleteDomain(const DeleteDomainRequest& request) const { AWS_OPERATION_GUARD(DeleteDomain); @@ -1495,6 +1560,39 @@ GetDataSourceOutcome OpenSearchServiceClient::GetDataSource(const GetDataSourceR {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetDirectQueryDataSourceOutcome OpenSearchServiceClient::GetDirectQueryDataSource(const GetDirectQueryDataSourceRequest& request) const +{ + AWS_OPERATION_GUARD(GetDirectQueryDataSource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetDirectQueryDataSource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DataSourceNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetDirectQueryDataSource", "Required field: DataSourceName, is not set"); + return GetDirectQueryDataSourceOutcome(Aws::Client::AWSError(OpenSearchServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSourceName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetDirectQueryDataSource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetDirectQueryDataSource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetDirectQueryDataSource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetDirectQueryDataSourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetDirectQueryDataSource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/2021-01-01/opensearch/directQueryDataSource/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDataSourceName()); + return GetDirectQueryDataSourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetDomainMaintenanceStatusOutcome OpenSearchServiceClient::GetDomainMaintenanceStatus(const GetDomainMaintenanceStatusRequest& request) const { AWS_OPERATION_GUARD(GetDomainMaintenanceStatus); @@ -1697,6 +1795,33 @@ ListDataSourcesOutcome OpenSearchServiceClient::ListDataSources(const ListDataSo {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListDirectQueryDataSourcesOutcome OpenSearchServiceClient::ListDirectQueryDataSources(const ListDirectQueryDataSourcesRequest& request) const +{ + AWS_OPERATION_GUARD(ListDirectQueryDataSources); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListDirectQueryDataSources, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListDirectQueryDataSources, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListDirectQueryDataSources, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListDirectQueryDataSources", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListDirectQueryDataSourcesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListDirectQueryDataSources, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/2021-01-01/opensearch/directQueryDataSource"); + return ListDirectQueryDataSourcesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListDomainMaintenancesOutcome OpenSearchServiceClient::ListDomainMaintenances(const ListDomainMaintenancesRequest& request) const { AWS_OPERATION_GUARD(ListDomainMaintenances); @@ -2303,6 +2428,39 @@ UpdateDataSourceOutcome OpenSearchServiceClient::UpdateDataSource(const UpdateDa {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateDirectQueryDataSourceOutcome OpenSearchServiceClient::UpdateDirectQueryDataSource(const UpdateDirectQueryDataSourceRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateDirectQueryDataSource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateDirectQueryDataSource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DataSourceNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateDirectQueryDataSource", "Required field: DataSourceName, is not set"); + return UpdateDirectQueryDataSourceOutcome(Aws::Client::AWSError(OpenSearchServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSourceName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateDirectQueryDataSource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateDirectQueryDataSource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateDirectQueryDataSource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateDirectQueryDataSourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateDirectQueryDataSource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/2021-01-01/opensearch/directQueryDataSource/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDataSourceName()); + return UpdateDirectQueryDataSourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateDomainConfigOutcome OpenSearchServiceClient::UpdateDomainConfig(const UpdateDomainConfigRequest& request) const { AWS_OPERATION_GUARD(UpdateDomainConfig); diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/AddDirectQueryDataSourceRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/AddDirectQueryDataSourceRequest.cpp new file mode 100644 index 00000000000..71e45924aae --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/AddDirectQueryDataSourceRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +AddDirectQueryDataSourceRequest::AddDirectQueryDataSourceRequest() : + m_dataSourceNameHasBeenSet(false), + m_dataSourceTypeHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_openSearchArnsHasBeenSet(false), + m_tagListHasBeenSet(false) +{ +} + +Aws::String AddDirectQueryDataSourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_dataSourceNameHasBeenSet) + { + payload.WithString("DataSourceName", m_dataSourceName); + + } + + if(m_dataSourceTypeHasBeenSet) + { + payload.WithObject("DataSourceType", m_dataSourceType.Jsonize()); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_openSearchArnsHasBeenSet) + { + Aws::Utils::Array openSearchArnsJsonList(m_openSearchArns.size()); + for(unsigned openSearchArnsIndex = 0; openSearchArnsIndex < openSearchArnsJsonList.GetLength(); ++openSearchArnsIndex) + { + openSearchArnsJsonList[openSearchArnsIndex].AsString(m_openSearchArns[openSearchArnsIndex]); + } + payload.WithArray("OpenSearchArns", std::move(openSearchArnsJsonList)); + + } + + if(m_tagListHasBeenSet) + { + Aws::Utils::Array tagListJsonList(m_tagList.size()); + for(unsigned tagListIndex = 0; tagListIndex < tagListJsonList.GetLength(); ++tagListIndex) + { + tagListJsonList[tagListIndex].AsObject(m_tagList[tagListIndex].Jsonize()); + } + payload.WithArray("TagList", std::move(tagListJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/AddDirectQueryDataSourceResult.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/AddDirectQueryDataSourceResult.cpp new file mode 100644 index 00000000000..45ff884db27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/AddDirectQueryDataSourceResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +AddDirectQueryDataSourceResult::AddDirectQueryDataSourceResult() +{ +} + +AddDirectQueryDataSourceResult::AddDirectQueryDataSourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +AddDirectQueryDataSourceResult& AddDirectQueryDataSourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("DataSourceArn")) + { + m_dataSourceArn = jsonValue.GetString("DataSourceArn"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/CloudWatchDirectQueryDataSource.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/CloudWatchDirectQueryDataSource.cpp new file mode 100644 index 00000000000..9ac2e117549 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/CloudWatchDirectQueryDataSource.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +CloudWatchDirectQueryDataSource::CloudWatchDirectQueryDataSource() : + m_roleArnHasBeenSet(false) +{ +} + +CloudWatchDirectQueryDataSource::CloudWatchDirectQueryDataSource(JsonView jsonValue) + : CloudWatchDirectQueryDataSource() +{ + *this = jsonValue; +} + +CloudWatchDirectQueryDataSource& CloudWatchDirectQueryDataSource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RoleArn")) + { + m_roleArn = jsonValue.GetString("RoleArn"); + + m_roleArnHasBeenSet = true; + } + + return *this; +} + +JsonValue CloudWatchDirectQueryDataSource::Jsonize() const +{ + JsonValue payload; + + if(m_roleArnHasBeenSet) + { + payload.WithString("RoleArn", m_roleArn); + + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/DeleteDirectQueryDataSourceRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/DeleteDirectQueryDataSourceRequest.cpp new file mode 100644 index 00000000000..e909ee08267 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/DeleteDirectQueryDataSourceRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteDirectQueryDataSourceRequest::DeleteDirectQueryDataSourceRequest() : + m_dataSourceNameHasBeenSet(false) +{ +} + +Aws::String DeleteDirectQueryDataSourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/DirectQueryDataSource.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/DirectQueryDataSource.cpp new file mode 100644 index 00000000000..f339ffd471c --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/DirectQueryDataSource.cpp @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +DirectQueryDataSource::DirectQueryDataSource() : + m_dataSourceNameHasBeenSet(false), + m_dataSourceTypeHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_openSearchArnsHasBeenSet(false), + m_dataSourceArnHasBeenSet(false), + m_tagListHasBeenSet(false) +{ +} + +DirectQueryDataSource::DirectQueryDataSource(JsonView jsonValue) + : DirectQueryDataSource() +{ + *this = jsonValue; +} + +DirectQueryDataSource& DirectQueryDataSource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DataSourceName")) + { + m_dataSourceName = jsonValue.GetString("DataSourceName"); + + m_dataSourceNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("DataSourceType")) + { + m_dataSourceType = jsonValue.GetObject("DataSourceType"); + + m_dataSourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("OpenSearchArns")) + { + Aws::Utils::Array openSearchArnsJsonList = jsonValue.GetArray("OpenSearchArns"); + for(unsigned openSearchArnsIndex = 0; openSearchArnsIndex < openSearchArnsJsonList.GetLength(); ++openSearchArnsIndex) + { + m_openSearchArns.push_back(openSearchArnsJsonList[openSearchArnsIndex].AsString()); + } + m_openSearchArnsHasBeenSet = true; + } + + if(jsonValue.ValueExists("DataSourceArn")) + { + m_dataSourceArn = jsonValue.GetString("DataSourceArn"); + + m_dataSourceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("TagList")) + { + Aws::Utils::Array tagListJsonList = jsonValue.GetArray("TagList"); + for(unsigned tagListIndex = 0; tagListIndex < tagListJsonList.GetLength(); ++tagListIndex) + { + m_tagList.push_back(tagListJsonList[tagListIndex].AsObject()); + } + m_tagListHasBeenSet = true; + } + + return *this; +} + +JsonValue DirectQueryDataSource::Jsonize() const +{ + JsonValue payload; + + if(m_dataSourceNameHasBeenSet) + { + payload.WithString("DataSourceName", m_dataSourceName); + + } + + if(m_dataSourceTypeHasBeenSet) + { + payload.WithObject("DataSourceType", m_dataSourceType.Jsonize()); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_openSearchArnsHasBeenSet) + { + Aws::Utils::Array openSearchArnsJsonList(m_openSearchArns.size()); + for(unsigned openSearchArnsIndex = 0; openSearchArnsIndex < openSearchArnsJsonList.GetLength(); ++openSearchArnsIndex) + { + openSearchArnsJsonList[openSearchArnsIndex].AsString(m_openSearchArns[openSearchArnsIndex]); + } + payload.WithArray("OpenSearchArns", std::move(openSearchArnsJsonList)); + + } + + if(m_dataSourceArnHasBeenSet) + { + payload.WithString("DataSourceArn", m_dataSourceArn); + + } + + if(m_tagListHasBeenSet) + { + Aws::Utils::Array tagListJsonList(m_tagList.size()); + for(unsigned tagListIndex = 0; tagListIndex < tagListJsonList.GetLength(); ++tagListIndex) + { + tagListJsonList[tagListIndex].AsObject(m_tagList[tagListIndex].Jsonize()); + } + payload.WithArray("TagList", std::move(tagListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/DirectQueryDataSourceType.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/DirectQueryDataSourceType.cpp new file mode 100644 index 00000000000..38b3ca9fc09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/DirectQueryDataSourceType.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +DirectQueryDataSourceType::DirectQueryDataSourceType() : + m_cloudWatchLogHasBeenSet(false), + m_securityLakeHasBeenSet(false) +{ +} + +DirectQueryDataSourceType::DirectQueryDataSourceType(JsonView jsonValue) + : DirectQueryDataSourceType() +{ + *this = jsonValue; +} + +DirectQueryDataSourceType& DirectQueryDataSourceType::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CloudWatchLog")) + { + m_cloudWatchLog = jsonValue.GetObject("CloudWatchLog"); + + m_cloudWatchLogHasBeenSet = true; + } + + if(jsonValue.ValueExists("SecurityLake")) + { + m_securityLake = jsonValue.GetObject("SecurityLake"); + + m_securityLakeHasBeenSet = true; + } + + return *this; +} + +JsonValue DirectQueryDataSourceType::Jsonize() const +{ + JsonValue payload; + + if(m_cloudWatchLogHasBeenSet) + { + payload.WithObject("CloudWatchLog", m_cloudWatchLog.Jsonize()); + + } + + if(m_securityLakeHasBeenSet) + { + payload.WithObject("SecurityLake", m_securityLake.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/GetDirectQueryDataSourceRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/GetDirectQueryDataSourceRequest.cpp new file mode 100644 index 00000000000..a93c4fec0f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/GetDirectQueryDataSourceRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetDirectQueryDataSourceRequest::GetDirectQueryDataSourceRequest() : + m_dataSourceNameHasBeenSet(false) +{ +} + +Aws::String GetDirectQueryDataSourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/GetDirectQueryDataSourceResult.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/GetDirectQueryDataSourceResult.cpp new file mode 100644 index 00000000000..91449120bc9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/GetDirectQueryDataSourceResult.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetDirectQueryDataSourceResult::GetDirectQueryDataSourceResult() +{ +} + +GetDirectQueryDataSourceResult::GetDirectQueryDataSourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetDirectQueryDataSourceResult& GetDirectQueryDataSourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("DataSourceName")) + { + m_dataSourceName = jsonValue.GetString("DataSourceName"); + + } + + if(jsonValue.ValueExists("DataSourceType")) + { + m_dataSourceType = jsonValue.GetObject("DataSourceType"); + + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + } + + if(jsonValue.ValueExists("OpenSearchArns")) + { + Aws::Utils::Array openSearchArnsJsonList = jsonValue.GetArray("OpenSearchArns"); + for(unsigned openSearchArnsIndex = 0; openSearchArnsIndex < openSearchArnsJsonList.GetLength(); ++openSearchArnsIndex) + { + m_openSearchArns.push_back(openSearchArnsJsonList[openSearchArnsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("DataSourceArn")) + { + m_dataSourceArn = jsonValue.GetString("DataSourceArn"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/ListDirectQueryDataSourcesRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/ListDirectQueryDataSourcesRequest.cpp new file mode 100644 index 00000000000..d14f5334057 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/ListDirectQueryDataSourcesRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListDirectQueryDataSourcesRequest::ListDirectQueryDataSourcesRequest() : + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListDirectQueryDataSourcesRequest::SerializePayload() const +{ + return {}; +} + +void ListDirectQueryDataSourcesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nexttoken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/ListDirectQueryDataSourcesResult.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/ListDirectQueryDataSourcesResult.cpp new file mode 100644 index 00000000000..0ce150f8a75 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/ListDirectQueryDataSourcesResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListDirectQueryDataSourcesResult::ListDirectQueryDataSourcesResult() +{ +} + +ListDirectQueryDataSourcesResult::ListDirectQueryDataSourcesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListDirectQueryDataSourcesResult& ListDirectQueryDataSourcesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + if(jsonValue.ValueExists("DirectQueryDataSources")) + { + Aws::Utils::Array directQueryDataSourcesJsonList = jsonValue.GetArray("DirectQueryDataSources"); + for(unsigned directQueryDataSourcesIndex = 0; directQueryDataSourcesIndex < directQueryDataSourcesJsonList.GetLength(); ++directQueryDataSourcesIndex) + { + m_directQueryDataSources.push_back(directQueryDataSourcesJsonList[directQueryDataSourcesIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/SecurityLakeDirectQueryDataSource.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/SecurityLakeDirectQueryDataSource.cpp new file mode 100644 index 00000000000..7a52c0a2280 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/SecurityLakeDirectQueryDataSource.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +SecurityLakeDirectQueryDataSource::SecurityLakeDirectQueryDataSource() : + m_roleArnHasBeenSet(false) +{ +} + +SecurityLakeDirectQueryDataSource::SecurityLakeDirectQueryDataSource(JsonView jsonValue) + : SecurityLakeDirectQueryDataSource() +{ + *this = jsonValue; +} + +SecurityLakeDirectQueryDataSource& SecurityLakeDirectQueryDataSource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RoleArn")) + { + m_roleArn = jsonValue.GetString("RoleArn"); + + m_roleArnHasBeenSet = true; + } + + return *this; +} + +JsonValue SecurityLakeDirectQueryDataSource::Jsonize() const +{ + JsonValue payload; + + if(m_roleArnHasBeenSet) + { + payload.WithString("RoleArn", m_roleArn); + + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDirectQueryDataSourceRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDirectQueryDataSourceRequest.cpp new file mode 100644 index 00000000000..1622c56eb60 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDirectQueryDataSourceRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateDirectQueryDataSourceRequest::UpdateDirectQueryDataSourceRequest() : + m_dataSourceNameHasBeenSet(false), + m_dataSourceTypeHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_openSearchArnsHasBeenSet(false) +{ +} + +Aws::String UpdateDirectQueryDataSourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_dataSourceTypeHasBeenSet) + { + payload.WithObject("DataSourceType", m_dataSourceType.Jsonize()); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_openSearchArnsHasBeenSet) + { + Aws::Utils::Array openSearchArnsJsonList(m_openSearchArns.size()); + for(unsigned openSearchArnsIndex = 0; openSearchArnsIndex < openSearchArnsJsonList.GetLength(); ++openSearchArnsIndex) + { + openSearchArnsJsonList[openSearchArnsIndex].AsString(m_openSearchArns[openSearchArnsIndex]); + } + payload.WithArray("OpenSearchArns", std::move(openSearchArnsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDirectQueryDataSourceResult.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDirectQueryDataSourceResult.cpp new file mode 100644 index 00000000000..e6ab6ac0e40 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDirectQueryDataSourceResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateDirectQueryDataSourceResult::UpdateDirectQueryDataSourceResult() +{ +} + +UpdateDirectQueryDataSourceResult::UpdateDirectQueryDataSourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateDirectQueryDataSourceResult& UpdateDirectQueryDataSourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("DataSourceArn")) + { + m_dataSourceArn = jsonValue.GetString("DataSourceArn"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h index f5217c21310..09731046cae 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h @@ -179,6 +179,8 @@ namespace Organizations *

      • RESOURCE_CONTROL_POLICY *

      • DECLARATIVE_POLICY_EC2 + *

      • BACKUP_POLICY *

      • TAG_POLICY @@ -861,8 +863,9 @@ namespace Organizations *

        Returns the contents of the effective policy for specified policy type and * account. The effective policy is the aggregation of any policies of the * specified type that the account inherits, plus any policy of that type that is - * directly attached to the account.

        This operation applies only to policy - * types other than service control policies (SCPs).

        For more + * directly attached to the account.

        This operation applies only to + * management policies. It does not apply to authorization policies: service + * control policies (SCPs) and resource control policies (RCPs).

        For more * information about policy inheritance, see Understanding * management policy inheritance in the Organizations User Guide.

        diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationException.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationException.h index d6740e21561..2167e0418cb 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationException.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationException.h @@ -68,7 +68,7 @@ namespace Model *

        CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management * account. To close the management account for the organization, you must first * either remove or close all member accounts in the organization. Follow standard - * account closure process using root credentials.���

      • + * account closure process using root credentials.​

      • *

        CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an * account that is registered as a delegated administrator for a service integrated * with your organization. To complete this operation, you must first deregister diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/CreatePolicyRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/CreatePolicyRequest.h index 4f2f11d7b6d..cdd877df703 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/CreatePolicyRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/CreatePolicyRequest.h @@ -95,6 +95,8 @@ namespace Model *

      • RESOURCE_CONTROL_POLICY *

      • DECLARATIVE_POLICY_EC2 + *

      • BACKUP_POLICY *

      • TAG_POLICY diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DescribeEffectivePolicyRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DescribeEffectivePolicyRequest.h index ea900226a9f..55afaadf693 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DescribeEffectivePolicyRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DescribeEffectivePolicyRequest.h @@ -39,6 +39,8 @@ namespace Model /** *

        The type of policy that you want information about. You can specify one of * the following values:

        • DECLARATIVE_POLICY_EC2 + *

        • BACKUP_POLICY *

        • TAG_POLICY diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DisablePolicyTypeRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DisablePolicyTypeRequest.h index 1e296322efb..fc6f037fa17 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DisablePolicyTypeRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DisablePolicyTypeRequest.h @@ -60,6 +60,8 @@ namespace Model *

        • RESOURCE_CONTROL_POLICY *

        • DECLARATIVE_POLICY_EC2 + *

        • BACKUP_POLICY *

        • TAG_POLICY diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h index d6814b86784..cd33c61b9d1 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h @@ -19,7 +19,8 @@ namespace Model TAG_POLICY, BACKUP_POLICY, AISERVICES_OPT_OUT_POLICY, - CHATBOT_POLICY + CHATBOT_POLICY, + DECLARATIVE_POLICY_EC2 }; namespace EffectivePolicyTypeMapper diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h index 59bfbac8d98..8fb94c06788 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h @@ -60,6 +60,8 @@ namespace Model *

        • RESOURCE_CONTROL_POLICY *

        • DECLARATIVE_POLICY_EC2 + *

        • BACKUP_POLICY *

        • TAG_POLICY diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h index 5507d58ea00..4360f0a98a3 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h @@ -66,6 +66,8 @@ namespace Model *

        • RESOURCE_CONTROL_POLICY *

        • DECLARATIVE_POLICY_EC2 + *

        • BACKUP_POLICY *

        • TAG_POLICY diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h index 863707c21e7..84410aac026 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h @@ -43,6 +43,8 @@ namespace Model *

        • RESOURCE_CONTROL_POLICY *

        • DECLARATIVE_POLICY_EC2 + *

        • BACKUP_POLICY *

        • TAG_POLICY diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h index 70c2a686326..746af3ce55c 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h @@ -21,7 +21,8 @@ namespace Model TAG_POLICY, BACKUP_POLICY, AISERVICES_OPT_OUT_POLICY, - CHATBOT_POLICY + CHATBOT_POLICY, + DECLARATIVE_POLICY_EC2 }; namespace PolicyTypeMapper diff --git a/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp b/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp index 9dc2677cc93..1172c27e3e9 100644 --- a/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp +++ b/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp @@ -24,6 +24,7 @@ namespace Aws static const int BACKUP_POLICY_HASH = HashingUtils::HashString("BACKUP_POLICY"); static const int AISERVICES_OPT_OUT_POLICY_HASH = HashingUtils::HashString("AISERVICES_OPT_OUT_POLICY"); static const int CHATBOT_POLICY_HASH = HashingUtils::HashString("CHATBOT_POLICY"); + static const int DECLARATIVE_POLICY_EC2_HASH = HashingUtils::HashString("DECLARATIVE_POLICY_EC2"); EffectivePolicyType GetEffectivePolicyTypeForName(const Aws::String& name) @@ -45,6 +46,10 @@ namespace Aws { return EffectivePolicyType::CHATBOT_POLICY; } + else if (hashCode == DECLARATIVE_POLICY_EC2_HASH) + { + return EffectivePolicyType::DECLARATIVE_POLICY_EC2; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -69,6 +74,8 @@ namespace Aws return "AISERVICES_OPT_OUT_POLICY"; case EffectivePolicyType::CHATBOT_POLICY: return "CHATBOT_POLICY"; + case EffectivePolicyType::DECLARATIVE_POLICY_EC2: + return "DECLARATIVE_POLICY_EC2"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp b/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp index 01742b20b43..ceecd92add8 100644 --- a/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp +++ b/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp @@ -26,6 +26,7 @@ namespace Aws static const int BACKUP_POLICY_HASH = HashingUtils::HashString("BACKUP_POLICY"); static const int AISERVICES_OPT_OUT_POLICY_HASH = HashingUtils::HashString("AISERVICES_OPT_OUT_POLICY"); static const int CHATBOT_POLICY_HASH = HashingUtils::HashString("CHATBOT_POLICY"); + static const int DECLARATIVE_POLICY_EC2_HASH = HashingUtils::HashString("DECLARATIVE_POLICY_EC2"); PolicyType GetPolicyTypeForName(const Aws::String& name) @@ -55,6 +56,10 @@ namespace Aws { return PolicyType::CHATBOT_POLICY; } + else if (hashCode == DECLARATIVE_POLICY_EC2_HASH) + { + return PolicyType::DECLARATIVE_POLICY_EC2; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -83,6 +88,8 @@ namespace Aws return "AISERVICES_OPT_OUT_POLICY"; case PolicyType::CHATBOT_POLICY: return "CHATBOT_POLICY"; + case PolicyType::DECLARATIVE_POLICY_EC2: + return "DECLARATIVE_POLICY_EC2"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h index c40ded8432a..e1c29a6fdf8 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h @@ -207,12 +207,17 @@ namespace QBusiness * Amazon Q Business Lite and what's included in Amazon Q Business Pro, see Amazon * Q Business tiers. You must use the Amazon Q Business console to assign - * subscription tiers to users.

          A Amazon Q Apps service linked role will - * be created if it's absent in the Amazon Web Services account when the - * QAppsConfiguration is enabled in the request. For more information, see

          An Amazon Q Apps service linked role will + * be created if it's absent in the Amazon Web Services account when + * QAppsConfiguration is enabled in the request. For more information, + * see - * Using service-linked roles for Q Apps

          See Also:

          - * .

          When you create an + * application, Amazon Q Business may securely transmit data for processing from + * your selected Amazon Web Services region, but within your geography. For more + * information, see Cross + * region inference in Amazon Q Business.

          See Also:

          AWS * API Reference

          */ @@ -793,6 +798,37 @@ namespace QBusiness return SubmitAsync(&QBusinessClient::GetIndex, request, handler, context); } + /** + *

          Returns the image bytes corresponding to a media object. If you have + * implemented your own application with the Chat and ChatSync APIs, and have + * enabled content extraction from visual data in Amazon Q Business, you use the + * GetMedia API operation to download the images so you can show them in your UI + * with responses.

          For more information, see Extracting + * semantic meaning from images and visuals.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::GetMediaOutcome GetMedia(const Model::GetMediaRequest& request) const; + + /** + * A Callable wrapper for GetMedia that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetMediaOutcomeCallable GetMediaCallable(const GetMediaRequestT& request) const + { + return SubmitCallable(&QBusinessClient::GetMedia, request); + } + + /** + * An Async wrapper for GetMedia that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetMediaAsync(const GetMediaRequestT& request, const GetMediaResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QBusinessClient::GetMedia, request, handler, context); + } + /** *

          Gets information about an existing Amazon Q Business plugin.

          See * Also:

          Lists Amazon Q Business applications.

          See Also:

          Lists Amazon Q Business applications.

          Amazon Q Business + * applications may securely transmit data for processing across Amazon Web + * Services Regions within your geography. For more information, see Cross + * region inference in Amazon Q Business.

          See Also:

          AWS * API Reference

          */ @@ -922,6 +962,33 @@ namespace QBusiness return SubmitAsync(&QBusinessClient::ListApplications, request, handler, context); } + /** + *

          Gets a list of attachments associated with an Amazon Q Business web + * experience or a list of attachements associated with a specific Amazon Q + * Business conversation.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::ListAttachmentsOutcome ListAttachments(const Model::ListAttachmentsRequest& request) const; + + /** + * A Callable wrapper for ListAttachments that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAttachmentsOutcomeCallable ListAttachmentsCallable(const ListAttachmentsRequestT& request) const + { + return SubmitCallable(&QBusinessClient::ListAttachments, request); + } + + /** + * An Async wrapper for ListAttachments that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAttachmentsAsync(const ListAttachmentsRequestT& request, const ListAttachmentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QBusinessClient::ListAttachments, request, handler, context); + } + /** *

          Lists one or more Amazon Q Business conversations.

          See Also:

          * Updates an existing Amazon Q Business application.

          A Amazon Q + *

          Updates an existing Amazon Q Business application.

          Amazon Q + * Business applications may securely transmit data for processing across Amazon + * Web Services Regions within your geography. For more information, see Cross + * region inference in Amazon Q Business.

          An Amazon Q * Apps service-linked role will be created if it's absent in the Amazon Web - * Services account when the QAppsConfiguration is enabled in the request. For more - * information, see - * Using service-linked roles for Q Apps

          See Also:

          - * QAppsConfiguration is enabled in the request. + * For more information, see Using + * service-linked roles for Q Apps.

          See Also:

          AWS * API Reference

          */ diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessErrors.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessErrors.h index a24686e88a5..73103f5cf00 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessErrors.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessErrors.h @@ -48,8 +48,10 @@ enum class QBusinessErrors /////////////////////////////////////////////////////////////////////////////////////////// CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + EXTERNAL_RESOURCE, INTERNAL_SERVER, LICENSE_NOT_FOUND, + MEDIA_TOO_LARGE, SERVICE_QUOTA_EXCEEDED }; diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessServiceClientModel.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessServiceClientModel.h index b6d9885cad0..aa14f599615 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessServiceClientModel.h @@ -43,11 +43,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -146,11 +148,13 @@ namespace Aws class GetDataSourceRequest; class GetGroupRequest; class GetIndexRequest; + class GetMediaRequest; class GetPluginRequest; class GetRetrieverRequest; class GetUserRequest; class GetWebExperienceRequest; class ListApplicationsRequest; + class ListAttachmentsRequest; class ListConversationsRequest; class ListDataSourceSyncJobsRequest; class ListDataSourcesRequest; @@ -205,11 +209,13 @@ namespace Aws typedef Aws::Utils::Outcome GetDataSourceOutcome; typedef Aws::Utils::Outcome GetGroupOutcome; typedef Aws::Utils::Outcome GetIndexOutcome; + typedef Aws::Utils::Outcome GetMediaOutcome; typedef Aws::Utils::Outcome GetPluginOutcome; typedef Aws::Utils::Outcome GetRetrieverOutcome; typedef Aws::Utils::Outcome GetUserOutcome; typedef Aws::Utils::Outcome GetWebExperienceOutcome; typedef Aws::Utils::Outcome ListApplicationsOutcome; + typedef Aws::Utils::Outcome ListAttachmentsOutcome; typedef Aws::Utils::Outcome ListConversationsOutcome; typedef Aws::Utils::Outcome ListDataSourceSyncJobsOutcome; typedef Aws::Utils::Outcome ListDataSourcesOutcome; @@ -264,11 +270,13 @@ namespace Aws typedef std::future GetDataSourceOutcomeCallable; typedef std::future GetGroupOutcomeCallable; typedef std::future GetIndexOutcomeCallable; + typedef std::future GetMediaOutcomeCallable; typedef std::future GetPluginOutcomeCallable; typedef std::future GetRetrieverOutcomeCallable; typedef std::future GetUserOutcomeCallable; typedef std::future GetWebExperienceOutcomeCallable; typedef std::future ListApplicationsOutcomeCallable; + typedef std::future ListAttachmentsOutcomeCallable; typedef std::future ListConversationsOutcomeCallable; typedef std::future ListDataSourceSyncJobsOutcomeCallable; typedef std::future ListDataSourcesOutcomeCallable; @@ -327,11 +335,13 @@ namespace Aws typedef std::function&) > GetDataSourceResponseReceivedHandler; typedef std::function&) > GetGroupResponseReceivedHandler; typedef std::function&) > GetIndexResponseReceivedHandler; + typedef std::function&) > GetMediaResponseReceivedHandler; typedef std::function&) > GetPluginResponseReceivedHandler; typedef std::function&) > GetRetrieverResponseReceivedHandler; typedef std::function&) > GetUserResponseReceivedHandler; typedef std::function&) > GetWebExperienceResponseReceivedHandler; typedef std::function&) > ListApplicationsResponseReceivedHandler; + typedef std::function&) > ListAttachmentsResponseReceivedHandler; typedef std::function&) > ListConversationsResponseReceivedHandler; typedef std::function&) > ListDataSourceSyncJobsResponseReceivedHandler; typedef std::function&) > ListDataSourcesResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/Attachment.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/Attachment.h new file mode 100644 index 00000000000..b539b73ca25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/Attachment.h @@ -0,0 +1,210 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + + /** + *

          An attachment in an Amazon Q Business conversation.

          See Also:

          + * AWS + * API Reference

          + */ + class Attachment + { + public: + AWS_QBUSINESS_API Attachment(); + AWS_QBUSINESS_API Attachment(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API Attachment& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The identifier of the Amazon Q Business attachment.

          + */ + inline const Aws::String& GetAttachmentId() const{ return m_attachmentId; } + inline bool AttachmentIdHasBeenSet() const { return m_attachmentIdHasBeenSet; } + inline void SetAttachmentId(const Aws::String& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = value; } + inline void SetAttachmentId(Aws::String&& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = std::move(value); } + inline void SetAttachmentId(const char* value) { m_attachmentIdHasBeenSet = true; m_attachmentId.assign(value); } + inline Attachment& WithAttachmentId(const Aws::String& value) { SetAttachmentId(value); return *this;} + inline Attachment& WithAttachmentId(Aws::String&& value) { SetAttachmentId(std::move(value)); return *this;} + inline Attachment& WithAttachmentId(const char* value) { SetAttachmentId(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q Business conversation the attachment is + * associated with.

          + */ + inline const Aws::String& GetConversationId() const{ return m_conversationId; } + inline bool ConversationIdHasBeenSet() const { return m_conversationIdHasBeenSet; } + inline void SetConversationId(const Aws::String& value) { m_conversationIdHasBeenSet = true; m_conversationId = value; } + inline void SetConversationId(Aws::String&& value) { m_conversationIdHasBeenSet = true; m_conversationId = std::move(value); } + inline void SetConversationId(const char* value) { m_conversationIdHasBeenSet = true; m_conversationId.assign(value); } + inline Attachment& WithConversationId(const Aws::String& value) { SetConversationId(value); return *this;} + inline Attachment& WithConversationId(Aws::String&& value) { SetConversationId(std::move(value)); return *this;} + inline Attachment& WithConversationId(const char* value) { SetConversationId(value); return *this;} + ///@} + + ///@{ + /** + *

          Filename of the Amazon Q Business attachment.

          + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline Attachment& WithName(const Aws::String& value) { SetName(value); return *this;} + inline Attachment& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline Attachment& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

          A CopyFromSource containing a reference to the original source of the Amazon + * Q Business attachment.

          + */ + inline const CopyFromSource& GetCopyFrom() const{ return m_copyFrom; } + inline bool CopyFromHasBeenSet() const { return m_copyFromHasBeenSet; } + inline void SetCopyFrom(const CopyFromSource& value) { m_copyFromHasBeenSet = true; m_copyFrom = value; } + inline void SetCopyFrom(CopyFromSource&& value) { m_copyFromHasBeenSet = true; m_copyFrom = std::move(value); } + inline Attachment& WithCopyFrom(const CopyFromSource& value) { SetCopyFrom(value); return *this;} + inline Attachment& WithCopyFrom(CopyFromSource&& value) { SetCopyFrom(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          Filetype of the Amazon Q Business attachment.

          + */ + inline const Aws::String& GetFileType() const{ return m_fileType; } + inline bool FileTypeHasBeenSet() const { return m_fileTypeHasBeenSet; } + inline void SetFileType(const Aws::String& value) { m_fileTypeHasBeenSet = true; m_fileType = value; } + inline void SetFileType(Aws::String&& value) { m_fileTypeHasBeenSet = true; m_fileType = std::move(value); } + inline void SetFileType(const char* value) { m_fileTypeHasBeenSet = true; m_fileType.assign(value); } + inline Attachment& WithFileType(const Aws::String& value) { SetFileType(value); return *this;} + inline Attachment& WithFileType(Aws::String&& value) { SetFileType(std::move(value)); return *this;} + inline Attachment& WithFileType(const char* value) { SetFileType(value); return *this;} + ///@} + + ///@{ + /** + *

          Size in bytes of the Amazon Q Business attachment.

          + */ + inline int GetFileSize() const{ return m_fileSize; } + inline bool FileSizeHasBeenSet() const { return m_fileSizeHasBeenSet; } + inline void SetFileSize(int value) { m_fileSizeHasBeenSet = true; m_fileSize = value; } + inline Attachment& WithFileSize(int value) { SetFileSize(value); return *this;} + ///@} + + ///@{ + /** + *

          MD5 checksum of the Amazon Q Business attachment contents.

          + */ + inline const Aws::String& GetMd5chksum() const{ return m_md5chksum; } + inline bool Md5chksumHasBeenSet() const { return m_md5chksumHasBeenSet; } + inline void SetMd5chksum(const Aws::String& value) { m_md5chksumHasBeenSet = true; m_md5chksum = value; } + inline void SetMd5chksum(Aws::String&& value) { m_md5chksumHasBeenSet = true; m_md5chksum = std::move(value); } + inline void SetMd5chksum(const char* value) { m_md5chksumHasBeenSet = true; m_md5chksum.assign(value); } + inline Attachment& WithMd5chksum(const Aws::String& value) { SetMd5chksum(value); return *this;} + inline Attachment& WithMd5chksum(Aws::String&& value) { SetMd5chksum(std::move(value)); return *this;} + inline Attachment& WithMd5chksum(const char* value) { SetMd5chksum(value); return *this;} + ///@} + + ///@{ + /** + *

          The Unix timestamp when the Amazon Q Business attachment was created.

          + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline Attachment& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline Attachment& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          AttachmentStatus of the Amazon Q Business attachment.

          + */ + inline const AttachmentStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const AttachmentStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(AttachmentStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline Attachment& WithStatus(const AttachmentStatus& value) { SetStatus(value); return *this;} + inline Attachment& WithStatus(AttachmentStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          ErrorDetail providing information about a Amazon Q Business attachment error. + *

          + */ + inline const ErrorDetail& GetError() const{ return m_error; } + inline bool ErrorHasBeenSet() const { return m_errorHasBeenSet; } + inline void SetError(const ErrorDetail& value) { m_errorHasBeenSet = true; m_error = value; } + inline void SetError(ErrorDetail&& value) { m_errorHasBeenSet = true; m_error = std::move(value); } + inline Attachment& WithError(const ErrorDetail& value) { SetError(value); return *this;} + inline Attachment& WithError(ErrorDetail&& value) { SetError(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_attachmentId; + bool m_attachmentIdHasBeenSet = false; + + Aws::String m_conversationId; + bool m_conversationIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + CopyFromSource m_copyFrom; + bool m_copyFromHasBeenSet = false; + + Aws::String m_fileType; + bool m_fileTypeHasBeenSet = false; + + int m_fileSize; + bool m_fileSizeHasBeenSet = false; + + Aws::String m_md5chksum; + bool m_md5chksumHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + AttachmentStatus m_status; + bool m_statusHasBeenSet = false; + + ErrorDetail m_error; + bool m_errorHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentInput.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentInput.h index 3d0c90b2caa..6cddbcbfa36 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentInput.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentInput.h @@ -5,8 +5,9 @@ #pragma once #include -#include #include +#include +#include #include namespace Aws @@ -25,8 +26,9 @@ namespace Model { /** - *

          A file directly uploaded into a web experience chat.

          See Also:

          - * This is either a file directly uploaded into a web experience chat or a + * reference to an existing attachment that is part of a web experience + * chat.

          See Also:

          AWS * API Reference

          */ @@ -41,7 +43,19 @@ namespace Model ///@{ /** - *

          The name of the file.

          + *

          The contents of the attachment.

          + */ + inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::Utils::ByteBuffer& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::Utils::ByteBuffer&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline AttachmentInput& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} + inline AttachmentInput& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The filename of the attachment.

          */ inline const Aws::String& GetName() const{ return m_name; } inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } @@ -55,22 +69,25 @@ namespace Model ///@{ /** - *

          The data contained within the uploaded file.

          + *

          A reference to an existing attachment.

          */ - inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } - inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } - inline void SetData(const Aws::Utils::ByteBuffer& value) { m_dataHasBeenSet = true; m_data = value; } - inline void SetData(Aws::Utils::ByteBuffer&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } - inline AttachmentInput& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} - inline AttachmentInput& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + inline const CopyFromSource& GetCopyFrom() const{ return m_copyFrom; } + inline bool CopyFromHasBeenSet() const { return m_copyFromHasBeenSet; } + inline void SetCopyFrom(const CopyFromSource& value) { m_copyFromHasBeenSet = true; m_copyFrom = value; } + inline void SetCopyFrom(CopyFromSource&& value) { m_copyFromHasBeenSet = true; m_copyFrom = std::move(value); } + inline AttachmentInput& WithCopyFrom(const CopyFromSource& value) { SetCopyFrom(value); return *this;} + inline AttachmentInput& WithCopyFrom(CopyFromSource&& value) { SetCopyFrom(std::move(value)); return *this;} ///@} private: + Aws::Utils::ByteBuffer m_data; + bool m_dataHasBeenSet = false; + Aws::String m_name; bool m_nameHasBeenSet = false; - Aws::Utils::ByteBuffer m_data; - bool m_dataHasBeenSet = false; + CopyFromSource m_copyFrom; + bool m_copyFromHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentOutput.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentOutput.h index a7f475ba703..07890c5483a 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentOutput.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentOutput.h @@ -76,6 +76,34 @@ namespace Model inline AttachmentOutput& WithError(const ErrorDetail& value) { SetError(value); return *this;} inline AttachmentOutput& WithError(ErrorDetail&& value) { SetError(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

          The unique identifier of the Amazon Q Business attachment.

          + */ + inline const Aws::String& GetAttachmentId() const{ return m_attachmentId; } + inline bool AttachmentIdHasBeenSet() const { return m_attachmentIdHasBeenSet; } + inline void SetAttachmentId(const Aws::String& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = value; } + inline void SetAttachmentId(Aws::String&& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = std::move(value); } + inline void SetAttachmentId(const char* value) { m_attachmentIdHasBeenSet = true; m_attachmentId.assign(value); } + inline AttachmentOutput& WithAttachmentId(const Aws::String& value) { SetAttachmentId(value); return *this;} + inline AttachmentOutput& WithAttachmentId(Aws::String&& value) { SetAttachmentId(std::move(value)); return *this;} + inline AttachmentOutput& WithAttachmentId(const char* value) { SetAttachmentId(value); return *this;} + ///@} + + ///@{ + /** + *

          The unique identifier of the Amazon Q Business conversation.

          + */ + inline const Aws::String& GetConversationId() const{ return m_conversationId; } + inline bool ConversationIdHasBeenSet() const { return m_conversationIdHasBeenSet; } + inline void SetConversationId(const Aws::String& value) { m_conversationIdHasBeenSet = true; m_conversationId = value; } + inline void SetConversationId(Aws::String&& value) { m_conversationIdHasBeenSet = true; m_conversationId = std::move(value); } + inline void SetConversationId(const char* value) { m_conversationIdHasBeenSet = true; m_conversationId.assign(value); } + inline AttachmentOutput& WithConversationId(const Aws::String& value) { SetConversationId(value); return *this;} + inline AttachmentOutput& WithConversationId(Aws::String&& value) { SetConversationId(std::move(value)); return *this;} + inline AttachmentOutput& WithConversationId(const char* value) { SetConversationId(value); return *this;} + ///@} private: Aws::String m_name; @@ -86,6 +114,12 @@ namespace Model ErrorDetail m_error; bool m_errorHasBeenSet = false; + + Aws::String m_attachmentId; + bool m_attachmentIdHasBeenSet = false; + + Aws::String m_conversationId; + bool m_conversationIdHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentStatus.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentStatus.h index 701d2c82641..f75510debf0 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentStatus.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AttachmentStatus.h @@ -17,7 +17,7 @@ namespace Model { NOT_SET, FAILED, - SUCCEEDED + SUCCESS }; namespace AttachmentStatusMapper diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/BrowserExtension.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/BrowserExtension.h new file mode 100644 index 00000000000..f7c6440c353 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/BrowserExtension.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + enum class BrowserExtension + { + NOT_SET, + FIREFOX, + CHROME + }; + +namespace BrowserExtensionMapper +{ +AWS_QBUSINESS_API BrowserExtension GetBrowserExtensionForName(const Aws::String& name); + +AWS_QBUSINESS_API Aws::String GetNameForBrowserExtension(BrowserExtension value); +} // namespace BrowserExtensionMapper +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/BrowserExtensionConfiguration.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/BrowserExtensionConfiguration.h new file mode 100644 index 00000000000..619d37df867 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/BrowserExtensionConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + + /** + *

          The container for browser extension configuration for an Amazon Q Business + * web experience.

          See Also:

          AWS + * API Reference

          + */ + class BrowserExtensionConfiguration + { + public: + AWS_QBUSINESS_API BrowserExtensionConfiguration(); + AWS_QBUSINESS_API BrowserExtensionConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API BrowserExtensionConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          Specify the browser extensions allowed for your Amazon Q web experience.

          + *
          • CHROME — Enables the extension for Chromium-based + * browsers (Google Chrome, Microsoft Edge, Opera, etc.).

          • + * FIREFOX — Enables the extension for Mozilla Firefox.

          • + *

            CHROME and FIREFOX — Enable the extension for + * Chromium-based browsers and Mozilla Firefox.

          + */ + inline const Aws::Vector& GetEnabledBrowserExtensions() const{ return m_enabledBrowserExtensions; } + inline bool EnabledBrowserExtensionsHasBeenSet() const { return m_enabledBrowserExtensionsHasBeenSet; } + inline void SetEnabledBrowserExtensions(const Aws::Vector& value) { m_enabledBrowserExtensionsHasBeenSet = true; m_enabledBrowserExtensions = value; } + inline void SetEnabledBrowserExtensions(Aws::Vector&& value) { m_enabledBrowserExtensionsHasBeenSet = true; m_enabledBrowserExtensions = std::move(value); } + inline BrowserExtensionConfiguration& WithEnabledBrowserExtensions(const Aws::Vector& value) { SetEnabledBrowserExtensions(value); return *this;} + inline BrowserExtensionConfiguration& WithEnabledBrowserExtensions(Aws::Vector&& value) { SetEnabledBrowserExtensions(std::move(value)); return *this;} + inline BrowserExtensionConfiguration& AddEnabledBrowserExtensions(const BrowserExtension& value) { m_enabledBrowserExtensionsHasBeenSet = true; m_enabledBrowserExtensions.push_back(value); return *this; } + inline BrowserExtensionConfiguration& AddEnabledBrowserExtensions(BrowserExtension&& value) { m_enabledBrowserExtensionsHasBeenSet = true; m_enabledBrowserExtensions.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_enabledBrowserExtensions; + bool m_enabledBrowserExtensionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ChatSyncRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ChatSyncRequest.h index d79e4fec736..9821d138b29 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ChatSyncRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ChatSyncRequest.h @@ -187,21 +187,28 @@ namespace Model ///@{ /** - *

          The chat modes available to an Amazon Q Business end user.

          • - * RETRIEVAL_MODE - The default chat mode for an Amazon Q Business - * application. When this mode is enabled, Amazon Q Business generates responses - * only from data sources connected to an Amazon Q Business application.

          • - *
          • CREATOR_MODE - By selecting this mode, users can choose to - * generate responses only from the LLM knowledge, without consulting connected - * data sources, for a chat request.

          • PLUGIN_MODE - - * By selecting this mode, users can choose to use plugins in chat.

          - *

          For more information, see The chatMode parameter determines the chat modes available to + * Amazon Q Business users:

          • RETRIEVAL_MODE - If you + * choose this mode, Amazon Q generates responses solely from the data sources + * connected and indexed by the application. If an answer is not found in the data + * sources or there are no data sources available, Amazon Q will respond with a + * "No Answer Found" message, unless LLM knowledge has been enabled. In that + * case, Amazon Q will generate a response from the LLM knowledge

          • + *

            CREATOR_MODE - By selecting this mode, you can choose to + * generate responses only from the LLM knowledge. You can also attach files and + * have Amazon Q generate a response based on the data in those files. If the + * attached files do not contain an answer for the query, Amazon Q will + * automatically fall back to generating a response from the LLM knowledge.

            + *
          • PLUGIN_MODE - By selecting this mode, users can + * choose to use plugins in chat to get their responses.

          + *

          If none of the modes are selected, Amazon Q will only respond using the + * information from the attached files.

          For more information, see Admin * controls and guardrails, Plugins, * and Conversation - * settings.

          + * href="https://docs.aws.amazon.com/amazonq/latest/business-use-dg/using-web-experience.html#chat-source-scope">Response + * sources.

          */ inline const ChatMode& GetChatMode() const{ return m_chatMode; } inline bool ChatModeHasBeenSet() const { return m_chatModeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ConflictException.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ConflictException.h index 6939eba6fbe..7d3e86f1c16 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ConflictException.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ConflictException.h @@ -25,7 +25,7 @@ namespace Model /** *

          You are trying to perform an action that conflicts with the current status of - * your resource. Fix any inconsistences with your resources and try + * your resource. Fix any inconsistencies with your resources and try * again.

          See Also:

          AWS * API Reference

          diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ConversationSource.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ConversationSource.h new file mode 100644 index 00000000000..b24acc2d58e --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ConversationSource.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + + /** + *

          The source reference for an existing attachment in an existing + * conversation.

          See Also:

          AWS + * API Reference

          + */ + class ConversationSource + { + public: + AWS_QBUSINESS_API ConversationSource(); + AWS_QBUSINESS_API ConversationSource(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API ConversationSource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The unique identifier of the Amazon Q Business conversation.

          + */ + inline const Aws::String& GetConversationId() const{ return m_conversationId; } + inline bool ConversationIdHasBeenSet() const { return m_conversationIdHasBeenSet; } + inline void SetConversationId(const Aws::String& value) { m_conversationIdHasBeenSet = true; m_conversationId = value; } + inline void SetConversationId(Aws::String&& value) { m_conversationIdHasBeenSet = true; m_conversationId = std::move(value); } + inline void SetConversationId(const char* value) { m_conversationIdHasBeenSet = true; m_conversationId.assign(value); } + inline ConversationSource& WithConversationId(const Aws::String& value) { SetConversationId(value); return *this;} + inline ConversationSource& WithConversationId(Aws::String&& value) { SetConversationId(std::move(value)); return *this;} + inline ConversationSource& WithConversationId(const char* value) { SetConversationId(value); return *this;} + ///@} + + ///@{ + /** + *

          The unique identifier of the Amazon Q Business attachment.

          + */ + inline const Aws::String& GetAttachmentId() const{ return m_attachmentId; } + inline bool AttachmentIdHasBeenSet() const { return m_attachmentIdHasBeenSet; } + inline void SetAttachmentId(const Aws::String& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = value; } + inline void SetAttachmentId(Aws::String&& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = std::move(value); } + inline void SetAttachmentId(const char* value) { m_attachmentIdHasBeenSet = true; m_attachmentId.assign(value); } + inline ConversationSource& WithAttachmentId(const Aws::String& value) { SetAttachmentId(value); return *this;} + inline ConversationSource& WithAttachmentId(Aws::String&& value) { SetAttachmentId(std::move(value)); return *this;} + inline ConversationSource& WithAttachmentId(const char* value) { SetAttachmentId(value); return *this;} + ///@} + private: + + Aws::String m_conversationId; + bool m_conversationIdHasBeenSet = false; + + Aws::String m_attachmentId; + bool m_attachmentIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CopyFromSource.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CopyFromSource.h new file mode 100644 index 00000000000..6c5f07dcd4c --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CopyFromSource.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + + /** + *

          The source reference for an existing attachment.

          See Also:

          + * AWS + * API Reference

          + */ + class CopyFromSource + { + public: + AWS_QBUSINESS_API CopyFromSource(); + AWS_QBUSINESS_API CopyFromSource(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API CopyFromSource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          A reference to an attachment in an existing conversation.

          + */ + inline const ConversationSource& GetConversation() const{ return m_conversation; } + inline bool ConversationHasBeenSet() const { return m_conversationHasBeenSet; } + inline void SetConversation(const ConversationSource& value) { m_conversationHasBeenSet = true; m_conversation = value; } + inline void SetConversation(ConversationSource&& value) { m_conversationHasBeenSet = true; m_conversation = std::move(value); } + inline CopyFromSource& WithConversation(const ConversationSource& value) { SetConversation(value); return *this;} + inline CopyFromSource& WithConversation(ConversationSource&& value) { SetConversation(std::move(value)); return *this;} + ///@} + private: + + ConversationSource m_conversation; + bool m_conversationHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataSourceRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataSourceRequest.h index 0f3e04819a9..573197db1cb 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataSourceRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataSourceRequest.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -217,6 +218,19 @@ namespace Model inline CreateDataSourceRequest& WithDocumentEnrichmentConfiguration(const DocumentEnrichmentConfiguration& value) { SetDocumentEnrichmentConfiguration(value); return *this;} inline CreateDataSourceRequest& WithDocumentEnrichmentConfiguration(DocumentEnrichmentConfiguration&& value) { SetDocumentEnrichmentConfiguration(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

          The configuration for extracting information from media in documents during + * ingestion.

          + */ + inline const MediaExtractionConfiguration& GetMediaExtractionConfiguration() const{ return m_mediaExtractionConfiguration; } + inline bool MediaExtractionConfigurationHasBeenSet() const { return m_mediaExtractionConfigurationHasBeenSet; } + inline void SetMediaExtractionConfiguration(const MediaExtractionConfiguration& value) { m_mediaExtractionConfigurationHasBeenSet = true; m_mediaExtractionConfiguration = value; } + inline void SetMediaExtractionConfiguration(MediaExtractionConfiguration&& value) { m_mediaExtractionConfigurationHasBeenSet = true; m_mediaExtractionConfiguration = std::move(value); } + inline CreateDataSourceRequest& WithMediaExtractionConfiguration(const MediaExtractionConfiguration& value) { SetMediaExtractionConfiguration(value); return *this;} + inline CreateDataSourceRequest& WithMediaExtractionConfiguration(MediaExtractionConfiguration&& value) { SetMediaExtractionConfiguration(std::move(value)); return *this;} + ///@} private: Aws::String m_applicationId; @@ -251,6 +265,9 @@ namespace Model DocumentEnrichmentConfiguration m_documentEnrichmentConfiguration; bool m_documentEnrichmentConfigurationHasBeenSet = false; + + MediaExtractionConfiguration m_mediaExtractionConfiguration; + bool m_mediaExtractionConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateIndexRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateIndexRequest.h index 07593fdccdf..ec1f41ab24f 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateIndexRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateIndexRequest.h @@ -65,6 +65,20 @@ namespace Model inline CreateIndexRequest& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} ///@} + ///@{ + /** + *

          A description for the Amazon Q Business index.

          + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline CreateIndexRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline CreateIndexRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline CreateIndexRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + ///@{ /** *

          The index type that's suitable for your needs. For more information on what's @@ -80,20 +94,6 @@ namespace Model inline CreateIndexRequest& WithType(IndexType&& value) { SetType(std::move(value)); return *this;} ///@} - ///@{ - /** - *

          A description for the Amazon Q Business index.

          - */ - inline const Aws::String& GetDescription() const{ return m_description; } - inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } - inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } - inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } - inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } - inline CreateIndexRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} - inline CreateIndexRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} - inline CreateIndexRequest& WithDescription(const char* value) { SetDescription(value); return *this;} - ///@} - ///@{ /** *

          A list of key-value pairs that identify or categorize the index. You can also @@ -147,12 +147,12 @@ namespace Model Aws::String m_displayName; bool m_displayNameHasBeenSet = false; - IndexType m_type; - bool m_typeHasBeenSet = false; - Aws::String m_description; bool m_descriptionHasBeenSet = false; + IndexType m_type; + bool m_typeHasBeenSet = false; + Aws::Vector m_tags; bool m_tagsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateWebExperienceRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateWebExperienceRequest.h index a3d76ce7044..235f9880181 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateWebExperienceRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateWebExperienceRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -191,6 +192,24 @@ namespace Model inline CreateWebExperienceRequest& WithIdentityProviderConfiguration(const IdentityProviderConfiguration& value) { SetIdentityProviderConfiguration(value); return *this;} inline CreateWebExperienceRequest& WithIdentityProviderConfiguration(IdentityProviderConfiguration&& value) { SetIdentityProviderConfiguration(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

          The browser extension configuration for an Amazon Q Business web + * experience.

          For Amazon Q Business application using external + * OIDC-compliant identity providers (IdPs). The IdP administrator must add the + * browser extension sign-in redirect URLs to the IdP application. For more + * information, see Configure + * external OIDC identity provider for your browser extensions..

          + */ + inline const BrowserExtensionConfiguration& GetBrowserExtensionConfiguration() const{ return m_browserExtensionConfiguration; } + inline bool BrowserExtensionConfigurationHasBeenSet() const { return m_browserExtensionConfigurationHasBeenSet; } + inline void SetBrowserExtensionConfiguration(const BrowserExtensionConfiguration& value) { m_browserExtensionConfigurationHasBeenSet = true; m_browserExtensionConfiguration = value; } + inline void SetBrowserExtensionConfiguration(BrowserExtensionConfiguration&& value) { m_browserExtensionConfigurationHasBeenSet = true; m_browserExtensionConfiguration = std::move(value); } + inline CreateWebExperienceRequest& WithBrowserExtensionConfiguration(const BrowserExtensionConfiguration& value) { SetBrowserExtensionConfiguration(value); return *this;} + inline CreateWebExperienceRequest& WithBrowserExtensionConfiguration(BrowserExtensionConfiguration&& value) { SetBrowserExtensionConfiguration(std::move(value)); return *this;} + ///@} private: Aws::String m_applicationId; @@ -222,6 +241,9 @@ namespace Model IdentityProviderConfiguration m_identityProviderConfiguration; bool m_identityProviderConfigurationHasBeenSet = false; + + BrowserExtensionConfiguration m_browserExtensionConfiguration; + bool m_browserExtensionConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/Document.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/Document.h index 8074db8acd1..cf250578976 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/Document.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/Document.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -137,6 +138,18 @@ namespace Model inline Document& WithDocumentEnrichmentConfiguration(const DocumentEnrichmentConfiguration& value) { SetDocumentEnrichmentConfiguration(value); return *this;} inline Document& WithDocumentEnrichmentConfiguration(DocumentEnrichmentConfiguration&& value) { SetDocumentEnrichmentConfiguration(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

          The configuration for extracting information from media in the document.

          + */ + inline const MediaExtractionConfiguration& GetMediaExtractionConfiguration() const{ return m_mediaExtractionConfiguration; } + inline bool MediaExtractionConfigurationHasBeenSet() const { return m_mediaExtractionConfigurationHasBeenSet; } + inline void SetMediaExtractionConfiguration(const MediaExtractionConfiguration& value) { m_mediaExtractionConfigurationHasBeenSet = true; m_mediaExtractionConfiguration = value; } + inline void SetMediaExtractionConfiguration(MediaExtractionConfiguration&& value) { m_mediaExtractionConfigurationHasBeenSet = true; m_mediaExtractionConfiguration = std::move(value); } + inline Document& WithMediaExtractionConfiguration(const MediaExtractionConfiguration& value) { SetMediaExtractionConfiguration(value); return *this;} + inline Document& WithMediaExtractionConfiguration(MediaExtractionConfiguration&& value) { SetMediaExtractionConfiguration(std::move(value)); return *this;} + ///@} private: Aws::String m_id; @@ -159,6 +172,9 @@ namespace Model DocumentEnrichmentConfiguration m_documentEnrichmentConfiguration; bool m_documentEnrichmentConfigurationHasBeenSet = false; + + MediaExtractionConfiguration m_mediaExtractionConfiguration; + bool m_mediaExtractionConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ErrorDetail.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ErrorDetail.h index 067ed8de4f2..a651a208b9a 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ErrorDetail.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ErrorDetail.h @@ -25,8 +25,8 @@ namespace Model { /** - *

          Provides information about a data source sync error.

          See Also:

          - * Provides information about a Amazon Q Business request error.

          See + * Also:

          AWS * API Reference

          */ @@ -41,7 +41,7 @@ namespace Model ///@{ /** - *

          The message explaining the data source sync error.

          + *

          The message explaining the Amazon Q Business request error.

          */ inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; } inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; } @@ -55,7 +55,7 @@ namespace Model ///@{ /** - *

          The code associated with the data source sync error.

          + *

          The code associated with the Amazon Q Business request error.

          */ inline const ErrorCode& GetErrorCode() const{ return m_errorCode; } inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataSourceResult.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataSourceResult.h index 0ea0199c61d..67cc46a6f9f 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataSourceResult.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataSourceResult.h @@ -12,6 +12,7 @@ #include #include #include +#include #include namespace Aws @@ -236,6 +237,18 @@ namespace Model inline GetDataSourceResult& WithDocumentEnrichmentConfiguration(DocumentEnrichmentConfiguration&& value) { SetDocumentEnrichmentConfiguration(std::move(value)); return *this;} ///@} + ///@{ + /** + *

          The configuration for extracting information from media in documents for the + * data source.

          + */ + inline const MediaExtractionConfiguration& GetMediaExtractionConfiguration() const{ return m_mediaExtractionConfiguration; } + inline void SetMediaExtractionConfiguration(const MediaExtractionConfiguration& value) { m_mediaExtractionConfiguration = value; } + inline void SetMediaExtractionConfiguration(MediaExtractionConfiguration&& value) { m_mediaExtractionConfiguration = std::move(value); } + inline GetDataSourceResult& WithMediaExtractionConfiguration(const MediaExtractionConfiguration& value) { SetMediaExtractionConfiguration(value); return *this;} + inline GetDataSourceResult& WithMediaExtractionConfiguration(MediaExtractionConfiguration&& value) { SetMediaExtractionConfiguration(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -280,6 +293,8 @@ namespace Model DocumentEnrichmentConfiguration m_documentEnrichmentConfiguration; + MediaExtractionConfiguration m_mediaExtractionConfiguration; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetIndexResult.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetIndexResult.h index 97ab2568243..79a668d0e04 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetIndexResult.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetIndexResult.h @@ -6,8 +6,8 @@ #pragma once #include #include -#include #include +#include #include #include #include @@ -80,17 +80,6 @@ namespace Model inline GetIndexResult& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} ///@} - ///@{ - /** - *

          The type of index attached to your Amazon Q Business application.

          - */ - inline const IndexType& GetType() const{ return m_type; } - inline void SetType(const IndexType& value) { m_type = value; } - inline void SetType(IndexType&& value) { m_type = std::move(value); } - inline GetIndexResult& WithType(const IndexType& value) { SetType(value); return *this;} - inline GetIndexResult& WithType(IndexType&& value) { SetType(std::move(value)); return *this;} - ///@} - ///@{ /** *

          The Amazon Resource Name (ARN) of the Amazon Q Business index.

          @@ -118,6 +107,17 @@ namespace Model inline GetIndexResult& WithStatus(IndexStatus&& value) { SetStatus(std::move(value)); return *this;} ///@} + ///@{ + /** + *

          The type of index attached to your Amazon Q Business application.

          + */ + inline const IndexType& GetType() const{ return m_type; } + inline void SetType(const IndexType& value) { m_type = value; } + inline void SetType(IndexType&& value) { m_type = std::move(value); } + inline GetIndexResult& WithType(const IndexType& value) { SetType(value); return *this;} + inline GetIndexResult& WithType(IndexType&& value) { SetType(std::move(value)); return *this;} + ///@} + ///@{ /** *

          The description for the Amazon Q Business index.

          @@ -222,12 +222,12 @@ namespace Model Aws::String m_displayName; - IndexType m_type; - Aws::String m_indexArn; IndexStatus m_status; + IndexType m_type; + Aws::String m_description; Aws::Utils::DateTime m_createdAt; diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetMediaRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetMediaRequest.h new file mode 100644 index 00000000000..94b194b321b --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetMediaRequest.h @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + + /** + */ + class GetMediaRequest : public QBusinessRequest + { + public: + AWS_QBUSINESS_API GetMediaRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetMedia"; } + + AWS_QBUSINESS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q Business which contains the media object.

          + */ + inline const Aws::String& GetApplicationId() const{ return m_applicationId; } + inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } + inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } + inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } + inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } + inline GetMediaRequest& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} + inline GetMediaRequest& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} + inline GetMediaRequest& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q Business conversation.

          + */ + inline const Aws::String& GetConversationId() const{ return m_conversationId; } + inline bool ConversationIdHasBeenSet() const { return m_conversationIdHasBeenSet; } + inline void SetConversationId(const Aws::String& value) { m_conversationIdHasBeenSet = true; m_conversationId = value; } + inline void SetConversationId(Aws::String&& value) { m_conversationIdHasBeenSet = true; m_conversationId = std::move(value); } + inline void SetConversationId(const char* value) { m_conversationIdHasBeenSet = true; m_conversationId.assign(value); } + inline GetMediaRequest& WithConversationId(const Aws::String& value) { SetConversationId(value); return *this;} + inline GetMediaRequest& WithConversationId(Aws::String&& value) { SetConversationId(std::move(value)); return *this;} + inline GetMediaRequest& WithConversationId(const char* value) { SetConversationId(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q Business message.

          + */ + inline const Aws::String& GetMessageId() const{ return m_messageId; } + inline bool MessageIdHasBeenSet() const { return m_messageIdHasBeenSet; } + inline void SetMessageId(const Aws::String& value) { m_messageIdHasBeenSet = true; m_messageId = value; } + inline void SetMessageId(Aws::String&& value) { m_messageIdHasBeenSet = true; m_messageId = std::move(value); } + inline void SetMessageId(const char* value) { m_messageIdHasBeenSet = true; m_messageId.assign(value); } + inline GetMediaRequest& WithMessageId(const Aws::String& value) { SetMessageId(value); return *this;} + inline GetMediaRequest& WithMessageId(Aws::String&& value) { SetMessageId(std::move(value)); return *this;} + inline GetMediaRequest& WithMessageId(const char* value) { SetMessageId(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the media object. You can find this in the + * sourceAttributions returned by the Chat, + * ChatSync, and ListMessages API responses.

          + */ + inline const Aws::String& GetMediaId() const{ return m_mediaId; } + inline bool MediaIdHasBeenSet() const { return m_mediaIdHasBeenSet; } + inline void SetMediaId(const Aws::String& value) { m_mediaIdHasBeenSet = true; m_mediaId = value; } + inline void SetMediaId(Aws::String&& value) { m_mediaIdHasBeenSet = true; m_mediaId = std::move(value); } + inline void SetMediaId(const char* value) { m_mediaIdHasBeenSet = true; m_mediaId.assign(value); } + inline GetMediaRequest& WithMediaId(const Aws::String& value) { SetMediaId(value); return *this;} + inline GetMediaRequest& WithMediaId(Aws::String&& value) { SetMediaId(std::move(value)); return *this;} + inline GetMediaRequest& WithMediaId(const char* value) { SetMediaId(value); return *this;} + ///@} + private: + + Aws::String m_applicationId; + bool m_applicationIdHasBeenSet = false; + + Aws::String m_conversationId; + bool m_conversationIdHasBeenSet = false; + + Aws::String m_messageId; + bool m_messageIdHasBeenSet = false; + + Aws::String m_mediaId; + bool m_mediaIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetMediaResult.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetMediaResult.h new file mode 100644 index 00000000000..2f2e70a9fb3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetMediaResult.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + class GetMediaResult + { + public: + AWS_QBUSINESS_API GetMediaResult(); + AWS_QBUSINESS_API GetMediaResult(const Aws::AmazonWebServiceResult& result); + AWS_QBUSINESS_API GetMediaResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The base64-encoded bytes of the media object.

          + */ + inline const Aws::Utils::ByteBuffer& GetMediaBytes() const{ return m_mediaBytes; } + inline void SetMediaBytes(const Aws::Utils::ByteBuffer& value) { m_mediaBytes = value; } + inline void SetMediaBytes(Aws::Utils::ByteBuffer&& value) { m_mediaBytes = std::move(value); } + inline GetMediaResult& WithMediaBytes(const Aws::Utils::ByteBuffer& value) { SetMediaBytes(value); return *this;} + inline GetMediaResult& WithMediaBytes(Aws::Utils::ByteBuffer&& value) { SetMediaBytes(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The MIME type of the media object (image/png).

          + */ + inline const Aws::String& GetMediaMimeType() const{ return m_mediaMimeType; } + inline void SetMediaMimeType(const Aws::String& value) { m_mediaMimeType = value; } + inline void SetMediaMimeType(Aws::String&& value) { m_mediaMimeType = std::move(value); } + inline void SetMediaMimeType(const char* value) { m_mediaMimeType.assign(value); } + inline GetMediaResult& WithMediaMimeType(const Aws::String& value) { SetMediaMimeType(value); return *this;} + inline GetMediaResult& WithMediaMimeType(Aws::String&& value) { SetMediaMimeType(std::move(value)); return *this;} + inline GetMediaResult& WithMediaMimeType(const char* value) { SetMediaMimeType(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetMediaResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetMediaResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetMediaResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_mediaBytes; + + Aws::String m_mediaMimeType; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetWebExperienceResult.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetWebExperienceResult.h index 77db4968c19..9cac050d98d 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetWebExperienceResult.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetWebExperienceResult.h @@ -12,6 +12,7 @@ #include #include #include +#include #include namespace Aws @@ -239,6 +240,18 @@ namespace Model inline GetWebExperienceResult& WithError(ErrorDetail&& value) { SetError(std::move(value)); return *this;} ///@} + ///@{ + /** + *

          The browser extension configuration for an Amazon Q Business web + * experience.

          + */ + inline const BrowserExtensionConfiguration& GetBrowserExtensionConfiguration() const{ return m_browserExtensionConfiguration; } + inline void SetBrowserExtensionConfiguration(const BrowserExtensionConfiguration& value) { m_browserExtensionConfiguration = value; } + inline void SetBrowserExtensionConfiguration(BrowserExtensionConfiguration&& value) { m_browserExtensionConfiguration = std::move(value); } + inline GetWebExperienceResult& WithBrowserExtensionConfiguration(const BrowserExtensionConfiguration& value) { SetBrowserExtensionConfiguration(value); return *this;} + inline GetWebExperienceResult& WithBrowserExtensionConfiguration(BrowserExtensionConfiguration&& value) { SetBrowserExtensionConfiguration(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -281,6 +294,8 @@ namespace Model ErrorDetail m_error; + BrowserExtensionConfiguration m_browserExtensionConfiguration; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ImageExtractionConfiguration.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ImageExtractionConfiguration.h new file mode 100644 index 00000000000..0d1dd06a475 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ImageExtractionConfiguration.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + + /** + *

          The configuration for extracting semantic meaning from images in documents. + * For more information, see Extracting + * semantic meaning from images and visuals.

          See Also:

          AWS + * API Reference

          + */ + class ImageExtractionConfiguration + { + public: + AWS_QBUSINESS_API ImageExtractionConfiguration(); + AWS_QBUSINESS_API ImageExtractionConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API ImageExtractionConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          Specify whether to extract semantic meaning from images and visuals from + * documents.

          + */ + inline const ImageExtractionStatus& GetImageExtractionStatus() const{ return m_imageExtractionStatus; } + inline bool ImageExtractionStatusHasBeenSet() const { return m_imageExtractionStatusHasBeenSet; } + inline void SetImageExtractionStatus(const ImageExtractionStatus& value) { m_imageExtractionStatusHasBeenSet = true; m_imageExtractionStatus = value; } + inline void SetImageExtractionStatus(ImageExtractionStatus&& value) { m_imageExtractionStatusHasBeenSet = true; m_imageExtractionStatus = std::move(value); } + inline ImageExtractionConfiguration& WithImageExtractionStatus(const ImageExtractionStatus& value) { SetImageExtractionStatus(value); return *this;} + inline ImageExtractionConfiguration& WithImageExtractionStatus(ImageExtractionStatus&& value) { SetImageExtractionStatus(std::move(value)); return *this;} + ///@} + private: + + ImageExtractionStatus m_imageExtractionStatus; + bool m_imageExtractionStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ImageExtractionStatus.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ImageExtractionStatus.h new file mode 100644 index 00000000000..7daebccf9de --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ImageExtractionStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + enum class ImageExtractionStatus + { + NOT_SET, + ENABLED, + DISABLED + }; + +namespace ImageExtractionStatusMapper +{ +AWS_QBUSINESS_API ImageExtractionStatus GetImageExtractionStatusForName(const Aws::String& name); + +AWS_QBUSINESS_API Aws::String GetNameForImageExtractionStatus(ImageExtractionStatus value); +} // namespace ImageExtractionStatusMapper +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListAttachmentsRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListAttachmentsRequest.h new file mode 100644 index 00000000000..2e04005053d --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListAttachmentsRequest.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace QBusiness +{ +namespace Model +{ + + /** + */ + class ListAttachmentsRequest : public QBusinessRequest + { + public: + AWS_QBUSINESS_API ListAttachmentsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListAttachments"; } + + AWS_QBUSINESS_API Aws::String SerializePayload() const override; + + AWS_QBUSINESS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

          The unique identifier for the Amazon Q Business application.

          + */ + inline const Aws::String& GetApplicationId() const{ return m_applicationId; } + inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } + inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } + inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } + inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } + inline ListAttachmentsRequest& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} + inline ListAttachmentsRequest& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} + inline ListAttachmentsRequest& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} + ///@} + + ///@{ + /** + *

          The unique identifier of the Amazon Q Business web experience + * conversation.

          + */ + inline const Aws::String& GetConversationId() const{ return m_conversationId; } + inline bool ConversationIdHasBeenSet() const { return m_conversationIdHasBeenSet; } + inline void SetConversationId(const Aws::String& value) { m_conversationIdHasBeenSet = true; m_conversationId = value; } + inline void SetConversationId(Aws::String&& value) { m_conversationIdHasBeenSet = true; m_conversationId = std::move(value); } + inline void SetConversationId(const char* value) { m_conversationIdHasBeenSet = true; m_conversationId.assign(value); } + inline ListAttachmentsRequest& WithConversationId(const Aws::String& value) { SetConversationId(value); return *this;} + inline ListAttachmentsRequest& WithConversationId(Aws::String&& value) { SetConversationId(std::move(value)); return *this;} + inline ListAttachmentsRequest& WithConversationId(const char* value) { SetConversationId(value); return *this;} + ///@} + + ///@{ + /** + *

          The unique identifier of the user involved in the Amazon Q Business web + * experience conversation.

          + */ + inline const Aws::String& GetUserId() const{ return m_userId; } + inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } + inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } + inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } + inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } + inline ListAttachmentsRequest& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} + inline ListAttachmentsRequest& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} + inline ListAttachmentsRequest& WithUserId(const char* value) { SetUserId(value); return *this;} + ///@} + + ///@{ + /** + *

          If the number of attachments returned exceeds maxResults, Amazon + * Q Business returns a next token as a pagination token to retrieve the next set + * of attachments.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListAttachmentsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListAttachmentsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListAttachmentsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

          The maximum number of attachements to return.

          + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListAttachmentsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_applicationId; + bool m_applicationIdHasBeenSet = false; + + Aws::String m_conversationId; + bool m_conversationIdHasBeenSet = false; + + Aws::String m_userId; + bool m_userIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListAttachmentsResult.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListAttachmentsResult.h new file mode 100644 index 00000000000..816ad3fcd22 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListAttachmentsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + class ListAttachmentsResult + { + public: + AWS_QBUSINESS_API ListAttachmentsResult(); + AWS_QBUSINESS_API ListAttachmentsResult(const Aws::AmazonWebServiceResult& result); + AWS_QBUSINESS_API ListAttachmentsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          An array of information on one or more attachments.

          + */ + inline const Aws::Vector& GetAttachments() const{ return m_attachments; } + inline void SetAttachments(const Aws::Vector& value) { m_attachments = value; } + inline void SetAttachments(Aws::Vector&& value) { m_attachments = std::move(value); } + inline ListAttachmentsResult& WithAttachments(const Aws::Vector& value) { SetAttachments(value); return *this;} + inline ListAttachmentsResult& WithAttachments(Aws::Vector&& value) { SetAttachments(std::move(value)); return *this;} + inline ListAttachmentsResult& AddAttachments(const Attachment& value) { m_attachments.push_back(value); return *this; } + inline ListAttachmentsResult& AddAttachments(Attachment&& value) { m_attachments.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          If the response is truncated, Amazon Q Business returns this token, which you + * can use in a later request to list the next set of attachments.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListAttachmentsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListAttachmentsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListAttachmentsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListAttachmentsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListAttachmentsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListAttachmentsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_attachments; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListMessagesRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListMessagesRequest.h index 6062910ab1c..30b0e359674 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListMessagesRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListMessagesRequest.h @@ -83,9 +83,9 @@ namespace Model ///@{ /** - *

          If the number of retrievers returned exceeds maxResults, Amazon - * Q Business returns a next token as a pagination token to retrieve the next set - * of messages.

          + *

          If the number of messages returned exceeds maxResults, Amazon Q + * Business returns a next token as a pagination token to retrieve the next set of + * messages.

          */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/MediaExtractionConfiguration.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/MediaExtractionConfiguration.h new file mode 100644 index 00000000000..e84b543f1c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/MediaExtractionConfiguration.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + + /** + *

          The configuration for extracting information from media in + * documents.

          See Also:

          AWS + * API Reference

          + */ + class MediaExtractionConfiguration + { + public: + AWS_QBUSINESS_API MediaExtractionConfiguration(); + AWS_QBUSINESS_API MediaExtractionConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API MediaExtractionConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The configuration for extracting semantic meaning from images in documents. + * For more information, see Extracting + * semantic meaning from images and visuals.

          + */ + inline const ImageExtractionConfiguration& GetImageExtractionConfiguration() const{ return m_imageExtractionConfiguration; } + inline bool ImageExtractionConfigurationHasBeenSet() const { return m_imageExtractionConfigurationHasBeenSet; } + inline void SetImageExtractionConfiguration(const ImageExtractionConfiguration& value) { m_imageExtractionConfigurationHasBeenSet = true; m_imageExtractionConfiguration = value; } + inline void SetImageExtractionConfiguration(ImageExtractionConfiguration&& value) { m_imageExtractionConfigurationHasBeenSet = true; m_imageExtractionConfiguration = std::move(value); } + inline MediaExtractionConfiguration& WithImageExtractionConfiguration(const ImageExtractionConfiguration& value) { SetImageExtractionConfiguration(value); return *this;} + inline MediaExtractionConfiguration& WithImageExtractionConfiguration(ImageExtractionConfiguration&& value) { SetImageExtractionConfiguration(std::move(value)); return *this;} + ///@} + private: + + ImageExtractionConfiguration m_imageExtractionConfiguration; + bool m_imageExtractionConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/TextSegment.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/TextSegment.h index 0c9a225d2fc..bfec0eb2e29 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/TextSegment.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/TextSegment.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -72,6 +73,36 @@ namespace Model inline TextSegment& WithSnippetExcerpt(const SnippetExcerpt& value) { SetSnippetExcerpt(value); return *this;} inline TextSegment& WithSnippetExcerpt(SnippetExcerpt&& value) { SetSnippetExcerpt(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

          The identifier of the media object associated with the text segment in the + * source attribution.

          + */ + inline const Aws::String& GetMediaId() const{ return m_mediaId; } + inline bool MediaIdHasBeenSet() const { return m_mediaIdHasBeenSet; } + inline void SetMediaId(const Aws::String& value) { m_mediaIdHasBeenSet = true; m_mediaId = value; } + inline void SetMediaId(Aws::String&& value) { m_mediaIdHasBeenSet = true; m_mediaId = std::move(value); } + inline void SetMediaId(const char* value) { m_mediaIdHasBeenSet = true; m_mediaId.assign(value); } + inline TextSegment& WithMediaId(const Aws::String& value) { SetMediaId(value); return *this;} + inline TextSegment& WithMediaId(Aws::String&& value) { SetMediaId(std::move(value)); return *this;} + inline TextSegment& WithMediaId(const char* value) { SetMediaId(value); return *this;} + ///@} + + ///@{ + /** + *

          The MIME type (image/png) of the media object associated with the text + * segment in the source attribution.

          + */ + inline const Aws::String& GetMediaMimeType() const{ return m_mediaMimeType; } + inline bool MediaMimeTypeHasBeenSet() const { return m_mediaMimeTypeHasBeenSet; } + inline void SetMediaMimeType(const Aws::String& value) { m_mediaMimeTypeHasBeenSet = true; m_mediaMimeType = value; } + inline void SetMediaMimeType(Aws::String&& value) { m_mediaMimeTypeHasBeenSet = true; m_mediaMimeType = std::move(value); } + inline void SetMediaMimeType(const char* value) { m_mediaMimeTypeHasBeenSet = true; m_mediaMimeType.assign(value); } + inline TextSegment& WithMediaMimeType(const Aws::String& value) { SetMediaMimeType(value); return *this;} + inline TextSegment& WithMediaMimeType(Aws::String&& value) { SetMediaMimeType(std::move(value)); return *this;} + inline TextSegment& WithMediaMimeType(const char* value) { SetMediaMimeType(value); return *this;} + ///@} private: int m_beginOffset; @@ -82,6 +113,12 @@ namespace Model SnippetExcerpt m_snippetExcerpt; bool m_snippetExcerptHasBeenSet = false; + + Aws::String m_mediaId; + bool m_mediaIdHasBeenSet = false; + + Aws::String m_mediaMimeType; + bool m_mediaMimeTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateDataSourceRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateDataSourceRequest.h index c2d9ff49d39..42a7d1dc1ed 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateDataSourceRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateDataSourceRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -164,6 +165,19 @@ namespace Model inline UpdateDataSourceRequest& WithDocumentEnrichmentConfiguration(const DocumentEnrichmentConfiguration& value) { SetDocumentEnrichmentConfiguration(value); return *this;} inline UpdateDataSourceRequest& WithDocumentEnrichmentConfiguration(DocumentEnrichmentConfiguration&& value) { SetDocumentEnrichmentConfiguration(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

          The configuration for extracting information from media in documents for your + * data source.

          + */ + inline const MediaExtractionConfiguration& GetMediaExtractionConfiguration() const{ return m_mediaExtractionConfiguration; } + inline bool MediaExtractionConfigurationHasBeenSet() const { return m_mediaExtractionConfigurationHasBeenSet; } + inline void SetMediaExtractionConfiguration(const MediaExtractionConfiguration& value) { m_mediaExtractionConfigurationHasBeenSet = true; m_mediaExtractionConfiguration = value; } + inline void SetMediaExtractionConfiguration(MediaExtractionConfiguration&& value) { m_mediaExtractionConfigurationHasBeenSet = true; m_mediaExtractionConfiguration = std::move(value); } + inline UpdateDataSourceRequest& WithMediaExtractionConfiguration(const MediaExtractionConfiguration& value) { SetMediaExtractionConfiguration(value); return *this;} + inline UpdateDataSourceRequest& WithMediaExtractionConfiguration(MediaExtractionConfiguration&& value) { SetMediaExtractionConfiguration(std::move(value)); return *this;} + ///@} private: Aws::String m_applicationId; @@ -195,6 +209,9 @@ namespace Model DocumentEnrichmentConfiguration m_documentEnrichmentConfiguration; bool m_documentEnrichmentConfigurationHasBeenSet = false; + + MediaExtractionConfiguration m_mediaExtractionConfiguration; + bool m_mediaExtractionConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateWebExperienceRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateWebExperienceRequest.h index cb232878ef6..63f65732a93 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateWebExperienceRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateWebExperienceRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -171,6 +172,24 @@ namespace Model inline UpdateWebExperienceRequest& AddOrigins(Aws::String&& value) { m_originsHasBeenSet = true; m_origins.push_back(std::move(value)); return *this; } inline UpdateWebExperienceRequest& AddOrigins(const char* value) { m_originsHasBeenSet = true; m_origins.push_back(value); return *this; } ///@} + + ///@{ + /** + *

          The browser extension configuration for an Amazon Q Business web + * experience.

          For Amazon Q Business application using external + * OIDC-compliant identity providers (IdPs). The IdP administrator must add the + * browser extension sign-in redirect URLs to the IdP application. For more + * information, see Configure + * external OIDC identity provider for your browser extensions..

          + */ + inline const BrowserExtensionConfiguration& GetBrowserExtensionConfiguration() const{ return m_browserExtensionConfiguration; } + inline bool BrowserExtensionConfigurationHasBeenSet() const { return m_browserExtensionConfigurationHasBeenSet; } + inline void SetBrowserExtensionConfiguration(const BrowserExtensionConfiguration& value) { m_browserExtensionConfigurationHasBeenSet = true; m_browserExtensionConfiguration = value; } + inline void SetBrowserExtensionConfiguration(BrowserExtensionConfiguration&& value) { m_browserExtensionConfigurationHasBeenSet = true; m_browserExtensionConfiguration = std::move(value); } + inline UpdateWebExperienceRequest& WithBrowserExtensionConfiguration(const BrowserExtensionConfiguration& value) { SetBrowserExtensionConfiguration(value); return *this;} + inline UpdateWebExperienceRequest& WithBrowserExtensionConfiguration(BrowserExtensionConfiguration&& value) { SetBrowserExtensionConfiguration(std::move(value)); return *this;} + ///@} private: Aws::String m_applicationId; @@ -199,6 +218,9 @@ namespace Model Aws::Vector m_origins; bool m_originsHasBeenSet = false; + + BrowserExtensionConfiguration m_browserExtensionConfiguration; + bool m_browserExtensionConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp index 2e96b86d436..ca1598a528f 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp @@ -48,11 +48,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -1236,6 +1238,60 @@ GetIndexOutcome QBusinessClient::GetIndex(const GetIndexRequest& request) const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetMediaOutcome QBusinessClient::GetMedia(const GetMediaRequest& request) const +{ + AWS_OPERATION_GUARD(GetMedia); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetMedia, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApplicationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetMedia", "Required field: ApplicationId, is not set"); + return GetMediaOutcome(Aws::Client::AWSError(QBusinessErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationId]", false)); + } + if (!request.ConversationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetMedia", "Required field: ConversationId, is not set"); + return GetMediaOutcome(Aws::Client::AWSError(QBusinessErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ConversationId]", false)); + } + if (!request.MessageIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetMedia", "Required field: MessageId, is not set"); + return GetMediaOutcome(Aws::Client::AWSError(QBusinessErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MessageId]", false)); + } + if (!request.MediaIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetMedia", "Required field: MediaId, is not set"); + return GetMediaOutcome(Aws::Client::AWSError(QBusinessErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MediaId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetMedia, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetMedia, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetMedia", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetMediaOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetMedia, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/applications/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApplicationId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/conversations/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetConversationId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/messages/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMessageId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/media/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMediaId()); + return GetMediaOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetPluginOutcome QBusinessClient::GetPlugin(const GetPluginRequest& request) const { AWS_OPERATION_GUARD(GetPlugin); @@ -1423,6 +1479,40 @@ ListApplicationsOutcome QBusinessClient::ListApplications(const ListApplications {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListAttachmentsOutcome QBusinessClient::ListAttachments(const ListAttachmentsRequest& request) const +{ + AWS_OPERATION_GUARD(ListAttachments); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAttachments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApplicationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListAttachments", "Required field: ApplicationId, is not set"); + return ListAttachmentsOutcome(Aws::Client::AWSError(QBusinessErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAttachments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAttachments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListAttachments", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListAttachmentsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListAttachments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/applications/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApplicationId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/attachments"); + return ListAttachmentsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListConversationsOutcome QBusinessClient::ListConversations(const ListConversationsRequest& request) const { AWS_OPERATION_GUARD(ListConversations); diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessErrors.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessErrors.cpp index fdca95f14d0..15afb92dcf8 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessErrors.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessErrors.cpp @@ -51,6 +51,8 @@ static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); static const int LICENSE_NOT_FOUND_HASH = HashingUtils::HashString("LicenseNotFoundException"); +static const int MEDIA_TOO_LARGE_HASH = HashingUtils::HashString("MediaTooLargeException"); +static const int EXTERNAL_RESOURCE_HASH = HashingUtils::HashString("ExternalResourceException"); AWSError GetErrorForName(const char* errorName) @@ -73,6 +75,14 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(QBusinessErrors::LICENSE_NOT_FOUND), RetryableType::NOT_RETRYABLE); } + else if (hashCode == MEDIA_TOO_LARGE_HASH) + { + return AWSError(static_cast(QBusinessErrors::MEDIA_TOO_LARGE), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == EXTERNAL_RESOURCE_HASH) + { + return AWSError(static_cast(QBusinessErrors::EXTERNAL_RESOURCE), RetryableType::NOT_RETRYABLE); + } return AWSError(CoreErrors::UNKNOWN, false); } diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/Attachment.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/Attachment.cpp new file mode 100644 index 00000000000..21547aa456a --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/Attachment.cpp @@ -0,0 +1,185 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + +Attachment::Attachment() : + m_attachmentIdHasBeenSet(false), + m_conversationIdHasBeenSet(false), + m_nameHasBeenSet(false), + m_copyFromHasBeenSet(false), + m_fileTypeHasBeenSet(false), + m_fileSize(0), + m_fileSizeHasBeenSet(false), + m_md5chksumHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_status(AttachmentStatus::NOT_SET), + m_statusHasBeenSet(false), + m_errorHasBeenSet(false) +{ +} + +Attachment::Attachment(JsonView jsonValue) + : Attachment() +{ + *this = jsonValue; +} + +Attachment& Attachment::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("attachmentId")) + { + m_attachmentId = jsonValue.GetString("attachmentId"); + + m_attachmentIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("conversationId")) + { + m_conversationId = jsonValue.GetString("conversationId"); + + m_conversationIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("copyFrom")) + { + m_copyFrom = jsonValue.GetObject("copyFrom"); + + m_copyFromHasBeenSet = true; + } + + if(jsonValue.ValueExists("fileType")) + { + m_fileType = jsonValue.GetString("fileType"); + + m_fileTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("fileSize")) + { + m_fileSize = jsonValue.GetInteger("fileSize"); + + m_fileSizeHasBeenSet = true; + } + + if(jsonValue.ValueExists("md5chksum")) + { + m_md5chksum = jsonValue.GetString("md5chksum"); + + m_md5chksumHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = AttachmentStatusMapper::GetAttachmentStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("error")) + { + m_error = jsonValue.GetObject("error"); + + m_errorHasBeenSet = true; + } + + return *this; +} + +JsonValue Attachment::Jsonize() const +{ + JsonValue payload; + + if(m_attachmentIdHasBeenSet) + { + payload.WithString("attachmentId", m_attachmentId); + + } + + if(m_conversationIdHasBeenSet) + { + payload.WithString("conversationId", m_conversationId); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_copyFromHasBeenSet) + { + payload.WithObject("copyFrom", m_copyFrom.Jsonize()); + + } + + if(m_fileTypeHasBeenSet) + { + payload.WithString("fileType", m_fileType); + + } + + if(m_fileSizeHasBeenSet) + { + payload.WithInteger("fileSize", m_fileSize); + + } + + if(m_md5chksumHasBeenSet) + { + payload.WithString("md5chksum", m_md5chksum); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", AttachmentStatusMapper::GetNameForAttachmentStatus(m_status)); + } + + if(m_errorHasBeenSet) + { + payload.WithObject("error", m_error.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentInput.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentInput.cpp index ccac47b1c34..c31c09f6ca0 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentInput.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentInput.cpp @@ -20,8 +20,9 @@ namespace Model { AttachmentInput::AttachmentInput() : + m_dataHasBeenSet(false), m_nameHasBeenSet(false), - m_dataHasBeenSet(false) + m_copyFromHasBeenSet(false) { } @@ -33,6 +34,12 @@ AttachmentInput::AttachmentInput(JsonView jsonValue) AttachmentInput& AttachmentInput::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("data")) + { + m_data = HashingUtils::Base64Decode(jsonValue.GetString("data")); + m_dataHasBeenSet = true; + } + if(jsonValue.ValueExists("name")) { m_name = jsonValue.GetString("name"); @@ -40,10 +47,11 @@ AttachmentInput& AttachmentInput::operator =(JsonView jsonValue) m_nameHasBeenSet = true; } - if(jsonValue.ValueExists("data")) + if(jsonValue.ValueExists("copyFrom")) { - m_data = HashingUtils::Base64Decode(jsonValue.GetString("data")); - m_dataHasBeenSet = true; + m_copyFrom = jsonValue.GetObject("copyFrom"); + + m_copyFromHasBeenSet = true; } return *this; @@ -53,15 +61,21 @@ JsonValue AttachmentInput::Jsonize() const { JsonValue payload; + if(m_dataHasBeenSet) + { + payload.WithString("data", HashingUtils::Base64Encode(m_data)); + } + if(m_nameHasBeenSet) { payload.WithString("name", m_name); } - if(m_dataHasBeenSet) + if(m_copyFromHasBeenSet) { - payload.WithString("data", HashingUtils::Base64Encode(m_data)); + payload.WithObject("copyFrom", m_copyFrom.Jsonize()); + } return payload; diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentOutput.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentOutput.cpp index 64d196a09f5..fe236b5b294 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentOutput.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentOutput.cpp @@ -22,7 +22,9 @@ AttachmentOutput::AttachmentOutput() : m_nameHasBeenSet(false), m_status(AttachmentStatus::NOT_SET), m_statusHasBeenSet(false), - m_errorHasBeenSet(false) + m_errorHasBeenSet(false), + m_attachmentIdHasBeenSet(false), + m_conversationIdHasBeenSet(false) { } @@ -55,6 +57,20 @@ AttachmentOutput& AttachmentOutput::operator =(JsonView jsonValue) m_errorHasBeenSet = true; } + if(jsonValue.ValueExists("attachmentId")) + { + m_attachmentId = jsonValue.GetString("attachmentId"); + + m_attachmentIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("conversationId")) + { + m_conversationId = jsonValue.GetString("conversationId"); + + m_conversationIdHasBeenSet = true; + } + return *this; } @@ -79,6 +95,18 @@ JsonValue AttachmentOutput::Jsonize() const } + if(m_attachmentIdHasBeenSet) + { + payload.WithString("attachmentId", m_attachmentId); + + } + + if(m_conversationIdHasBeenSet) + { + payload.WithString("conversationId", m_conversationId); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentStatus.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentStatus.cpp index 7cd08d69502..8fed7b71352 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentStatus.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/AttachmentStatus.cpp @@ -21,7 +21,7 @@ namespace Aws { static const int FAILED_HASH = HashingUtils::HashString("FAILED"); - static const int SUCCEEDED_HASH = HashingUtils::HashString("SUCCEEDED"); + static const int SUCCESS_HASH = HashingUtils::HashString("SUCCESS"); AttachmentStatus GetAttachmentStatusForName(const Aws::String& name) @@ -31,9 +31,9 @@ namespace Aws { return AttachmentStatus::FAILED; } - else if (hashCode == SUCCEEDED_HASH) + else if (hashCode == SUCCESS_HASH) { - return AttachmentStatus::SUCCEEDED; + return AttachmentStatus::SUCCESS; } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) @@ -53,8 +53,8 @@ namespace Aws return {}; case AttachmentStatus::FAILED: return "FAILED"; - case AttachmentStatus::SUCCEEDED: - return "SUCCEEDED"; + case AttachmentStatus::SUCCESS: + return "SUCCESS"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/BrowserExtension.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/BrowserExtension.cpp new file mode 100644 index 00000000000..e5ffe8221dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/BrowserExtension.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QBusiness + { + namespace Model + { + namespace BrowserExtensionMapper + { + + static const int FIREFOX_HASH = HashingUtils::HashString("FIREFOX"); + static const int CHROME_HASH = HashingUtils::HashString("CHROME"); + + + BrowserExtension GetBrowserExtensionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FIREFOX_HASH) + { + return BrowserExtension::FIREFOX; + } + else if (hashCode == CHROME_HASH) + { + return BrowserExtension::CHROME; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return BrowserExtension::NOT_SET; + } + + Aws::String GetNameForBrowserExtension(BrowserExtension enumValue) + { + switch(enumValue) + { + case BrowserExtension::NOT_SET: + return {}; + case BrowserExtension::FIREFOX: + return "FIREFOX"; + case BrowserExtension::CHROME: + return "CHROME"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace BrowserExtensionMapper + } // namespace Model + } // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/BrowserExtensionConfiguration.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/BrowserExtensionConfiguration.cpp new file mode 100644 index 00000000000..fc305754077 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/BrowserExtensionConfiguration.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + +BrowserExtensionConfiguration::BrowserExtensionConfiguration() : + m_enabledBrowserExtensionsHasBeenSet(false) +{ +} + +BrowserExtensionConfiguration::BrowserExtensionConfiguration(JsonView jsonValue) + : BrowserExtensionConfiguration() +{ + *this = jsonValue; +} + +BrowserExtensionConfiguration& BrowserExtensionConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabledBrowserExtensions")) + { + Aws::Utils::Array enabledBrowserExtensionsJsonList = jsonValue.GetArray("enabledBrowserExtensions"); + for(unsigned enabledBrowserExtensionsIndex = 0; enabledBrowserExtensionsIndex < enabledBrowserExtensionsJsonList.GetLength(); ++enabledBrowserExtensionsIndex) + { + m_enabledBrowserExtensions.push_back(BrowserExtensionMapper::GetBrowserExtensionForName(enabledBrowserExtensionsJsonList[enabledBrowserExtensionsIndex].AsString())); + } + m_enabledBrowserExtensionsHasBeenSet = true; + } + + return *this; +} + +JsonValue BrowserExtensionConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_enabledBrowserExtensionsHasBeenSet) + { + Aws::Utils::Array enabledBrowserExtensionsJsonList(m_enabledBrowserExtensions.size()); + for(unsigned enabledBrowserExtensionsIndex = 0; enabledBrowserExtensionsIndex < enabledBrowserExtensionsJsonList.GetLength(); ++enabledBrowserExtensionsIndex) + { + enabledBrowserExtensionsJsonList[enabledBrowserExtensionsIndex].AsString(BrowserExtensionMapper::GetNameForBrowserExtension(m_enabledBrowserExtensions[enabledBrowserExtensionsIndex])); + } + payload.WithArray("enabledBrowserExtensions", std::move(enabledBrowserExtensionsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/ConversationSource.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/ConversationSource.cpp new file mode 100644 index 00000000000..8ffd12416d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/ConversationSource.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + +ConversationSource::ConversationSource() : + m_conversationIdHasBeenSet(false), + m_attachmentIdHasBeenSet(false) +{ +} + +ConversationSource::ConversationSource(JsonView jsonValue) + : ConversationSource() +{ + *this = jsonValue; +} + +ConversationSource& ConversationSource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("conversationId")) + { + m_conversationId = jsonValue.GetString("conversationId"); + + m_conversationIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("attachmentId")) + { + m_attachmentId = jsonValue.GetString("attachmentId"); + + m_attachmentIdHasBeenSet = true; + } + + return *this; +} + +JsonValue ConversationSource::Jsonize() const +{ + JsonValue payload; + + if(m_conversationIdHasBeenSet) + { + payload.WithString("conversationId", m_conversationId); + + } + + if(m_attachmentIdHasBeenSet) + { + payload.WithString("attachmentId", m_attachmentId); + + } + + return payload; +} + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/CopyFromSource.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/CopyFromSource.cpp new file mode 100644 index 00000000000..15dc78527bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/CopyFromSource.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + +CopyFromSource::CopyFromSource() : + m_conversationHasBeenSet(false) +{ +} + +CopyFromSource::CopyFromSource(JsonView jsonValue) + : CopyFromSource() +{ + *this = jsonValue; +} + +CopyFromSource& CopyFromSource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("conversation")) + { + m_conversation = jsonValue.GetObject("conversation"); + + m_conversationHasBeenSet = true; + } + + return *this; +} + +JsonValue CopyFromSource::Jsonize() const +{ + JsonValue payload; + + if(m_conversationHasBeenSet) + { + payload.WithObject("conversation", m_conversation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateDataSourceRequest.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateDataSourceRequest.cpp index d12a7a1d387..cd87d356aea 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateDataSourceRequest.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateDataSourceRequest.cpp @@ -24,7 +24,8 @@ CreateDataSourceRequest::CreateDataSourceRequest() : m_roleArnHasBeenSet(false), m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), m_clientTokenHasBeenSet(true), - m_documentEnrichmentConfigurationHasBeenSet(false) + m_documentEnrichmentConfigurationHasBeenSet(false), + m_mediaExtractionConfigurationHasBeenSet(false) { } @@ -93,6 +94,12 @@ Aws::String CreateDataSourceRequest::SerializePayload() const } + if(m_mediaExtractionConfigurationHasBeenSet) + { + payload.WithObject("mediaExtractionConfiguration", m_mediaExtractionConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateIndexRequest.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateIndexRequest.cpp index 32656c5a540..b179b3b026f 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateIndexRequest.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateIndexRequest.cpp @@ -15,9 +15,9 @@ using namespace Aws::Utils; CreateIndexRequest::CreateIndexRequest() : m_applicationIdHasBeenSet(false), m_displayNameHasBeenSet(false), + m_descriptionHasBeenSet(false), m_type(IndexType::NOT_SET), m_typeHasBeenSet(false), - m_descriptionHasBeenSet(false), m_tagsHasBeenSet(false), m_capacityConfigurationHasBeenSet(false), m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), @@ -35,17 +35,17 @@ Aws::String CreateIndexRequest::SerializePayload() const } - if(m_typeHasBeenSet) - { - payload.WithString("type", IndexTypeMapper::GetNameForIndexType(m_type)); - } - if(m_descriptionHasBeenSet) { payload.WithString("description", m_description); } + if(m_typeHasBeenSet) + { + payload.WithString("type", IndexTypeMapper::GetNameForIndexType(m_type)); + } + if(m_tagsHasBeenSet) { Aws::Utils::Array tagsJsonList(m_tags.size()); diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateWebExperienceRequest.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateWebExperienceRequest.cpp index 9a83454102c..d5f761ec5ae 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateWebExperienceRequest.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateWebExperienceRequest.cpp @@ -24,7 +24,8 @@ CreateWebExperienceRequest::CreateWebExperienceRequest() : m_tagsHasBeenSet(false), m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), m_clientTokenHasBeenSet(true), - m_identityProviderConfigurationHasBeenSet(false) + m_identityProviderConfigurationHasBeenSet(false), + m_browserExtensionConfigurationHasBeenSet(false) { } @@ -95,6 +96,12 @@ Aws::String CreateWebExperienceRequest::SerializePayload() const } + if(m_browserExtensionConfigurationHasBeenSet) + { + payload.WithObject("browserExtensionConfiguration", m_browserExtensionConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/Document.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/Document.cpp index 7e27b3d83cb..90db43160cb 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/Document.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/Document.cpp @@ -26,7 +26,8 @@ Document::Document() : m_contentTypeHasBeenSet(false), m_titleHasBeenSet(false), m_accessConfigurationHasBeenSet(false), - m_documentEnrichmentConfigurationHasBeenSet(false) + m_documentEnrichmentConfigurationHasBeenSet(false), + m_mediaExtractionConfigurationHasBeenSet(false) { } @@ -90,6 +91,13 @@ Document& Document::operator =(JsonView jsonValue) m_documentEnrichmentConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("mediaExtractionConfiguration")) + { + m_mediaExtractionConfiguration = jsonValue.GetObject("mediaExtractionConfiguration"); + + m_mediaExtractionConfigurationHasBeenSet = true; + } + return *this; } @@ -143,6 +151,12 @@ JsonValue Document::Jsonize() const } + if(m_mediaExtractionConfigurationHasBeenSet) + { + payload.WithObject("mediaExtractionConfiguration", m_mediaExtractionConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/GetDataSourceResult.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/GetDataSourceResult.cpp index 849a16be011..97e2195bf2c 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/GetDataSourceResult.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/GetDataSourceResult.cpp @@ -127,6 +127,12 @@ GetDataSourceResult& GetDataSourceResult::operator =(const Aws::AmazonWebService } + if(jsonValue.ValueExists("mediaExtractionConfiguration")) + { + m_mediaExtractionConfiguration = jsonValue.GetObject("mediaExtractionConfiguration"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/GetIndexResult.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/GetIndexResult.cpp index 73478259b98..024f73ac279 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/GetIndexResult.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/GetIndexResult.cpp @@ -18,8 +18,8 @@ using namespace Aws::Utils; using namespace Aws; GetIndexResult::GetIndexResult() : - m_type(IndexType::NOT_SET), - m_status(IndexStatus::NOT_SET) + m_status(IndexStatus::NOT_SET), + m_type(IndexType::NOT_SET) { } @@ -50,12 +50,6 @@ GetIndexResult& GetIndexResult::operator =(const Aws::AmazonWebServiceResult +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetMediaRequest::GetMediaRequest() : + m_applicationIdHasBeenSet(false), + m_conversationIdHasBeenSet(false), + m_messageIdHasBeenSet(false), + m_mediaIdHasBeenSet(false) +{ +} + +Aws::String GetMediaRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/GetMediaResult.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/GetMediaResult.cpp new file mode 100644 index 00000000000..17b35fb3961 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/GetMediaResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetMediaResult::GetMediaResult() +{ +} + +GetMediaResult::GetMediaResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetMediaResult& GetMediaResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("mediaBytes")) + { + m_mediaBytes = HashingUtils::Base64Decode(jsonValue.GetString("mediaBytes")); + } + + if(jsonValue.ValueExists("mediaMimeType")) + { + m_mediaMimeType = jsonValue.GetString("mediaMimeType"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/GetWebExperienceResult.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/GetWebExperienceResult.cpp index c11ad86d725..81321b1b41b 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/GetWebExperienceResult.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/GetWebExperienceResult.cpp @@ -125,6 +125,12 @@ GetWebExperienceResult& GetWebExperienceResult::operator =(const Aws::AmazonWebS } + if(jsonValue.ValueExists("browserExtensionConfiguration")) + { + m_browserExtensionConfiguration = jsonValue.GetObject("browserExtensionConfiguration"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/ImageExtractionConfiguration.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/ImageExtractionConfiguration.cpp new file mode 100644 index 00000000000..89e4d4ce2e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/ImageExtractionConfiguration.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + +ImageExtractionConfiguration::ImageExtractionConfiguration() : + m_imageExtractionStatus(ImageExtractionStatus::NOT_SET), + m_imageExtractionStatusHasBeenSet(false) +{ +} + +ImageExtractionConfiguration::ImageExtractionConfiguration(JsonView jsonValue) + : ImageExtractionConfiguration() +{ + *this = jsonValue; +} + +ImageExtractionConfiguration& ImageExtractionConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("imageExtractionStatus")) + { + m_imageExtractionStatus = ImageExtractionStatusMapper::GetImageExtractionStatusForName(jsonValue.GetString("imageExtractionStatus")); + + m_imageExtractionStatusHasBeenSet = true; + } + + return *this; +} + +JsonValue ImageExtractionConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_imageExtractionStatusHasBeenSet) + { + payload.WithString("imageExtractionStatus", ImageExtractionStatusMapper::GetNameForImageExtractionStatus(m_imageExtractionStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/ImageExtractionStatus.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/ImageExtractionStatus.cpp new file mode 100644 index 00000000000..8bccd063662 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/ImageExtractionStatus.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QBusiness + { + namespace Model + { + namespace ImageExtractionStatusMapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + ImageExtractionStatus GetImageExtractionStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return ImageExtractionStatus::ENABLED; + } + else if (hashCode == DISABLED_HASH) + { + return ImageExtractionStatus::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ImageExtractionStatus::NOT_SET; + } + + Aws::String GetNameForImageExtractionStatus(ImageExtractionStatus enumValue) + { + switch(enumValue) + { + case ImageExtractionStatus::NOT_SET: + return {}; + case ImageExtractionStatus::ENABLED: + return "ENABLED"; + case ImageExtractionStatus::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ImageExtractionStatusMapper + } // namespace Model + } // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/ListAttachmentsRequest.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/ListAttachmentsRequest.cpp new file mode 100644 index 00000000000..d29bf0f9cfb --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/ListAttachmentsRequest.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListAttachmentsRequest::ListAttachmentsRequest() : + m_applicationIdHasBeenSet(false), + m_conversationIdHasBeenSet(false), + m_userIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListAttachmentsRequest::SerializePayload() const +{ + return {}; +} + +void ListAttachmentsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_conversationIdHasBeenSet) + { + ss << m_conversationId; + uri.AddQueryStringParameter("conversationId", ss.str()); + ss.str(""); + } + + if(m_userIdHasBeenSet) + { + ss << m_userId; + uri.AddQueryStringParameter("userId", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/ListAttachmentsResult.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/ListAttachmentsResult.cpp new file mode 100644 index 00000000000..5edfa2873be --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/ListAttachmentsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListAttachmentsResult::ListAttachmentsResult() +{ +} + +ListAttachmentsResult::ListAttachmentsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAttachmentsResult& ListAttachmentsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("attachments")) + { + Aws::Utils::Array attachmentsJsonList = jsonValue.GetArray("attachments"); + for(unsigned attachmentsIndex = 0; attachmentsIndex < attachmentsJsonList.GetLength(); ++attachmentsIndex) + { + m_attachments.push_back(attachmentsJsonList[attachmentsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/MediaExtractionConfiguration.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/MediaExtractionConfiguration.cpp new file mode 100644 index 00000000000..2505a9eb02b --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/MediaExtractionConfiguration.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + +MediaExtractionConfiguration::MediaExtractionConfiguration() : + m_imageExtractionConfigurationHasBeenSet(false) +{ +} + +MediaExtractionConfiguration::MediaExtractionConfiguration(JsonView jsonValue) + : MediaExtractionConfiguration() +{ + *this = jsonValue; +} + +MediaExtractionConfiguration& MediaExtractionConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("imageExtractionConfiguration")) + { + m_imageExtractionConfiguration = jsonValue.GetObject("imageExtractionConfiguration"); + + m_imageExtractionConfigurationHasBeenSet = true; + } + + return *this; +} + +JsonValue MediaExtractionConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_imageExtractionConfigurationHasBeenSet) + { + payload.WithObject("imageExtractionConfiguration", m_imageExtractionConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/TextSegment.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/TextSegment.cpp index 1569288f460..2ca9cf4e56e 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/TextSegment.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/TextSegment.cpp @@ -23,7 +23,9 @@ TextSegment::TextSegment() : m_beginOffsetHasBeenSet(false), m_endOffset(0), m_endOffsetHasBeenSet(false), - m_snippetExcerptHasBeenSet(false) + m_snippetExcerptHasBeenSet(false), + m_mediaIdHasBeenSet(false), + m_mediaMimeTypeHasBeenSet(false) { } @@ -56,6 +58,20 @@ TextSegment& TextSegment::operator =(JsonView jsonValue) m_snippetExcerptHasBeenSet = true; } + if(jsonValue.ValueExists("mediaId")) + { + m_mediaId = jsonValue.GetString("mediaId"); + + m_mediaIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("mediaMimeType")) + { + m_mediaMimeType = jsonValue.GetString("mediaMimeType"); + + m_mediaMimeTypeHasBeenSet = true; + } + return *this; } @@ -81,6 +97,18 @@ JsonValue TextSegment::Jsonize() const } + if(m_mediaIdHasBeenSet) + { + payload.WithString("mediaId", m_mediaId); + + } + + if(m_mediaMimeTypeHasBeenSet) + { + payload.WithString("mediaMimeType", m_mediaMimeType); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateDataSourceRequest.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateDataSourceRequest.cpp index 364c9b5580a..4ca91e9827d 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateDataSourceRequest.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateDataSourceRequest.cpp @@ -22,7 +22,8 @@ UpdateDataSourceRequest::UpdateDataSourceRequest() : m_descriptionHasBeenSet(false), m_syncScheduleHasBeenSet(false), m_roleArnHasBeenSet(false), - m_documentEnrichmentConfigurationHasBeenSet(false) + m_documentEnrichmentConfigurationHasBeenSet(false), + m_mediaExtractionConfigurationHasBeenSet(false) { } @@ -74,6 +75,12 @@ Aws::String UpdateDataSourceRequest::SerializePayload() const } + if(m_mediaExtractionConfigurationHasBeenSet) + { + payload.WithObject("mediaExtractionConfiguration", m_mediaExtractionConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateWebExperienceRequest.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateWebExperienceRequest.cpp index 3586f183eb3..0f23987d8a6 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateWebExperienceRequest.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateWebExperienceRequest.cpp @@ -22,7 +22,8 @@ UpdateWebExperienceRequest::UpdateWebExperienceRequest() : m_samplePromptsControlMode(WebExperienceSamplePromptsControlMode::NOT_SET), m_samplePromptsControlModeHasBeenSet(false), m_identityProviderConfigurationHasBeenSet(false), - m_originsHasBeenSet(false) + m_originsHasBeenSet(false), + m_browserExtensionConfigurationHasBeenSet(false) { } @@ -76,6 +77,12 @@ Aws::String UpdateWebExperienceRequest::SerializePayload() const } + if(m_browserExtensionConfigurationHasBeenSet) + { + payload.WithObject("browserExtensionConfiguration", m_browserExtensionConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClient.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClient.h index 37f2fad6a40..eba07400a03 100644 --- a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClient.h +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClient.h @@ -179,6 +179,57 @@ namespace QConnect return SubmitAsync(&QConnectClient::CreateAIAgentVersion, request, handler, context); } + /** + *

          Creates an Amazon Q in Connect AI Guardrail.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::CreateAIGuardrailOutcome CreateAIGuardrail(const Model::CreateAIGuardrailRequest& request) const; + + /** + * A Callable wrapper for CreateAIGuardrail that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateAIGuardrailOutcomeCallable CreateAIGuardrailCallable(const CreateAIGuardrailRequestT& request) const + { + return SubmitCallable(&QConnectClient::CreateAIGuardrail, request); + } + + /** + * An Async wrapper for CreateAIGuardrail that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateAIGuardrailAsync(const CreateAIGuardrailRequestT& request, const CreateAIGuardrailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QConnectClient::CreateAIGuardrail, request, handler, context); + } + + /** + *

          Creates an Amazon Q in Connect AI Guardrail version.

          See Also:

          + * AWS + * API Reference

          + */ + virtual Model::CreateAIGuardrailVersionOutcome CreateAIGuardrailVersion(const Model::CreateAIGuardrailVersionRequest& request) const; + + /** + * A Callable wrapper for CreateAIGuardrailVersion that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateAIGuardrailVersionOutcomeCallable CreateAIGuardrailVersionCallable(const CreateAIGuardrailVersionRequestT& request) const + { + return SubmitCallable(&QConnectClient::CreateAIGuardrailVersion, request); + } + + /** + * An Async wrapper for CreateAIGuardrailVersion that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateAIGuardrailVersionAsync(const CreateAIGuardrailVersionRequestT& request, const CreateAIGuardrailVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QConnectClient::CreateAIGuardrailVersion, request, handler, context); + } + /** *

          Creates an Amazon Q in Connect AI Prompt.

          See Also:

          AWS @@ -616,6 +667,57 @@ namespace QConnect return SubmitAsync(&QConnectClient::DeleteAIAgentVersion, request, handler, context); } + /** + *

          Deletes an Amazon Q in Connect AI Guardrail.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::DeleteAIGuardrailOutcome DeleteAIGuardrail(const Model::DeleteAIGuardrailRequest& request) const; + + /** + * A Callable wrapper for DeleteAIGuardrail that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteAIGuardrailOutcomeCallable DeleteAIGuardrailCallable(const DeleteAIGuardrailRequestT& request) const + { + return SubmitCallable(&QConnectClient::DeleteAIGuardrail, request); + } + + /** + * An Async wrapper for DeleteAIGuardrail that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteAIGuardrailAsync(const DeleteAIGuardrailRequestT& request, const DeleteAIGuardrailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QConnectClient::DeleteAIGuardrail, request, handler, context); + } + + /** + *

          Delete and Amazon Q in Connect AI Guardrail version.

          See Also:

          + * AWS + * API Reference

          + */ + virtual Model::DeleteAIGuardrailVersionOutcome DeleteAIGuardrailVersion(const Model::DeleteAIGuardrailVersionRequest& request) const; + + /** + * A Callable wrapper for DeleteAIGuardrailVersion that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteAIGuardrailVersionOutcomeCallable DeleteAIGuardrailVersionCallable(const DeleteAIGuardrailVersionRequestT& request) const + { + return SubmitCallable(&QConnectClient::DeleteAIGuardrailVersion, request); + } + + /** + * An Async wrapper for DeleteAIGuardrailVersion that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteAIGuardrailVersionAsync(const DeleteAIGuardrailVersionRequestT& request, const DeleteAIGuardrailVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QConnectClient::DeleteAIGuardrailVersion, request, handler, context); + } + /** *

          Deletes an Amazon Q in Connect AI Prompt.

          See Also:

          AWS @@ -940,6 +1042,31 @@ namespace QConnect return SubmitAsync(&QConnectClient::GetAIAgent, request, handler, context); } + /** + *

          Gets the Amazon Q in Connect AI Guardrail.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::GetAIGuardrailOutcome GetAIGuardrail(const Model::GetAIGuardrailRequest& request) const; + + /** + * A Callable wrapper for GetAIGuardrail that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAIGuardrailOutcomeCallable GetAIGuardrailCallable(const GetAIGuardrailRequestT& request) const + { + return SubmitCallable(&QConnectClient::GetAIGuardrail, request); + } + + /** + * An Async wrapper for GetAIGuardrail that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAIGuardrailAsync(const GetAIGuardrailRequestT& request, const GetAIGuardrailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QConnectClient::GetAIGuardrail, request, handler, context); + } + /** *

          Gets and Amazon Q in Connect AI Prompt.

          See Also:

          AWS @@ -1177,6 +1304,32 @@ namespace QConnect return SubmitAsync(&QConnectClient::GetMessageTemplate, request, handler, context); } + /** + *

          Retrieves next message on an Amazon Q in Connect session.

          See + * Also:

          AWS + * API Reference

          + */ + virtual Model::GetNextMessageOutcome GetNextMessage(const Model::GetNextMessageRequest& request) const; + + /** + * A Callable wrapper for GetNextMessage that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetNextMessageOutcomeCallable GetNextMessageCallable(const GetNextMessageRequestT& request) const + { + return SubmitCallable(&QConnectClient::GetNextMessage, request); + } + + /** + * An Async wrapper for GetNextMessage that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetNextMessageAsync(const GetNextMessageRequestT& request, const GetNextMessageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QConnectClient::GetNextMessage, request, handler, context); + } + /** *

          Retrieves the quick response.

          See Also:

          AWS @@ -1277,6 +1430,57 @@ namespace QConnect return SubmitAsync(&QConnectClient::ListAIAgents, request, handler, context); } + /** + *

          Lists AI Guardrail versions.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::ListAIGuardrailVersionsOutcome ListAIGuardrailVersions(const Model::ListAIGuardrailVersionsRequest& request) const; + + /** + * A Callable wrapper for ListAIGuardrailVersions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAIGuardrailVersionsOutcomeCallable ListAIGuardrailVersionsCallable(const ListAIGuardrailVersionsRequestT& request) const + { + return SubmitCallable(&QConnectClient::ListAIGuardrailVersions, request); + } + + /** + * An Async wrapper for ListAIGuardrailVersions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAIGuardrailVersionsAsync(const ListAIGuardrailVersionsRequestT& request, const ListAIGuardrailVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QConnectClient::ListAIGuardrailVersions, request, handler, context); + } + + /** + *

          Lists the AI Guardrails available on the Amazon Q in Connect + * assistant.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::ListAIGuardrailsOutcome ListAIGuardrails(const Model::ListAIGuardrailsRequest& request) const; + + /** + * A Callable wrapper for ListAIGuardrails that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAIGuardrailsOutcomeCallable ListAIGuardrailsCallable(const ListAIGuardrailsRequestT& request) const + { + return SubmitCallable(&QConnectClient::ListAIGuardrails, request); + } + + /** + * An Async wrapper for ListAIGuardrails that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAIGuardrailsAsync(const ListAIGuardrailsRequestT& request, const ListAIGuardrailsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QConnectClient::ListAIGuardrails, request, handler, context); + } + /** *

          Lists AI Prompt versions.

          See Also:

          AWS @@ -1534,6 +1738,32 @@ namespace QConnect return SubmitAsync(&QConnectClient::ListMessageTemplates, request, handler, context); } + /** + *

          Lists messages on an Amazon Q in Connect session.

          See Also:

          + *
          AWS + * API Reference

          + */ + virtual Model::ListMessagesOutcome ListMessages(const Model::ListMessagesRequest& request) const; + + /** + * A Callable wrapper for ListMessages that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListMessagesOutcomeCallable ListMessagesCallable(const ListMessagesRequestT& request) const + { + return SubmitCallable(&QConnectClient::ListMessages, request); + } + + /** + * An Async wrapper for ListMessages that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListMessagesAsync(const ListMessagesRequestT& request, const ListMessagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QConnectClient::ListMessages, request, handler, context); + } + /** *

          Lists information about quick response.

          See Also:

          AWS @@ -1823,6 +2053,32 @@ namespace QConnect return SubmitAsync(&QConnectClient::SearchSessions, request, handler, context); } + /** + *

          Submits a message to the Amazon Q in Connect session.

          See + * Also:

          AWS + * API Reference

          + */ + virtual Model::SendMessageOutcome SendMessage(const Model::SendMessageRequest& request) const; + + /** + * A Callable wrapper for SendMessage that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SendMessageOutcomeCallable SendMessageCallable(const SendMessageRequestT& request) const + { + return SubmitCallable(&QConnectClient::SendMessage, request); + } + + /** + * An Async wrapper for SendMessage that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SendMessageAsync(const SendMessageRequestT& request, const SendMessageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QConnectClient::SendMessage, request, handler, context); + } + /** *

          Get a URL to upload content to a knowledge base. To upload content, first * make a PUT request to the returned URL with your file, making sure to include @@ -1965,6 +2221,31 @@ namespace QConnect return SubmitAsync(&QConnectClient::UpdateAIAgent, request, handler, context); } + /** + *

          Updates an AI Guardrail.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::UpdateAIGuardrailOutcome UpdateAIGuardrail(const Model::UpdateAIGuardrailRequest& request) const; + + /** + * A Callable wrapper for UpdateAIGuardrail that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateAIGuardrailOutcomeCallable UpdateAIGuardrailCallable(const UpdateAIGuardrailRequestT& request) const + { + return SubmitCallable(&QConnectClient::UpdateAIGuardrail, request); + } + + /** + * An Async wrapper for UpdateAIGuardrail that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateAIGuardrailAsync(const UpdateAIGuardrailRequestT& request, const UpdateAIGuardrailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QConnectClient::UpdateAIGuardrail, request, handler, context); + } + /** *

          Updates an AI Prompt.

          See Also:

          AWS diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectServiceClientModel.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectServiceClientModel.h index 0e2d1ed72a6..5f355a6e745 100644 --- a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectServiceClientModel.h @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include #include @@ -36,6 +38,8 @@ #include #include #include +#include +#include #include #include #include @@ -48,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -57,10 +62,13 @@ #include #include #include +#include #include #include #include #include +#include +#include #include #include #include @@ -71,6 +79,7 @@ #include #include #include +#include #include #include #include @@ -82,11 +91,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -141,6 +152,8 @@ namespace Aws class ActivateMessageTemplateRequest; class CreateAIAgentRequest; class CreateAIAgentVersionRequest; + class CreateAIGuardrailRequest; + class CreateAIGuardrailVersionRequest; class CreateAIPromptRequest; class CreateAIPromptVersionRequest; class CreateAssistantRequest; @@ -156,6 +169,8 @@ namespace Aws class DeactivateMessageTemplateRequest; class DeleteAIAgentRequest; class DeleteAIAgentVersionRequest; + class DeleteAIGuardrailRequest; + class DeleteAIGuardrailVersionRequest; class DeleteAIPromptRequest; class DeleteAIPromptVersionRequest; class DeleteAssistantRequest; @@ -168,6 +183,7 @@ namespace Aws class DeleteMessageTemplateAttachmentRequest; class DeleteQuickResponseRequest; class GetAIAgentRequest; + class GetAIGuardrailRequest; class GetAIPromptRequest; class GetAssistantRequest; class GetAssistantAssociationRequest; @@ -177,10 +193,13 @@ namespace Aws class GetImportJobRequest; class GetKnowledgeBaseRequest; class GetMessageTemplateRequest; + class GetNextMessageRequest; class GetQuickResponseRequest; class GetSessionRequest; class ListAIAgentVersionsRequest; class ListAIAgentsRequest; + class ListAIGuardrailVersionsRequest; + class ListAIGuardrailsRequest; class ListAIPromptVersionsRequest; class ListAIPromptsRequest; class ListAssistantAssociationsRequest; @@ -191,6 +210,7 @@ namespace Aws class ListKnowledgeBasesRequest; class ListMessageTemplateVersionsRequest; class ListMessageTemplatesRequest; + class ListMessagesRequest; class ListQuickResponsesRequest; class ListTagsForResourceRequest; class NotifyRecommendationsReceivedRequest; @@ -202,11 +222,13 @@ namespace Aws class SearchMessageTemplatesRequest; class SearchQuickResponsesRequest; class SearchSessionsRequest; + class SendMessageRequest; class StartContentUploadRequest; class StartImportJobRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateAIAgentRequest; + class UpdateAIGuardrailRequest; class UpdateAIPromptRequest; class UpdateAssistantAIAgentRequest; class UpdateContentRequest; @@ -222,6 +244,8 @@ namespace Aws typedef Aws::Utils::Outcome ActivateMessageTemplateOutcome; typedef Aws::Utils::Outcome CreateAIAgentOutcome; typedef Aws::Utils::Outcome CreateAIAgentVersionOutcome; + typedef Aws::Utils::Outcome CreateAIGuardrailOutcome; + typedef Aws::Utils::Outcome CreateAIGuardrailVersionOutcome; typedef Aws::Utils::Outcome CreateAIPromptOutcome; typedef Aws::Utils::Outcome CreateAIPromptVersionOutcome; typedef Aws::Utils::Outcome CreateAssistantOutcome; @@ -237,6 +261,8 @@ namespace Aws typedef Aws::Utils::Outcome DeactivateMessageTemplateOutcome; typedef Aws::Utils::Outcome DeleteAIAgentOutcome; typedef Aws::Utils::Outcome DeleteAIAgentVersionOutcome; + typedef Aws::Utils::Outcome DeleteAIGuardrailOutcome; + typedef Aws::Utils::Outcome DeleteAIGuardrailVersionOutcome; typedef Aws::Utils::Outcome DeleteAIPromptOutcome; typedef Aws::Utils::Outcome DeleteAIPromptVersionOutcome; typedef Aws::Utils::Outcome DeleteAssistantOutcome; @@ -249,6 +275,7 @@ namespace Aws typedef Aws::Utils::Outcome DeleteMessageTemplateAttachmentOutcome; typedef Aws::Utils::Outcome DeleteQuickResponseOutcome; typedef Aws::Utils::Outcome GetAIAgentOutcome; + typedef Aws::Utils::Outcome GetAIGuardrailOutcome; typedef Aws::Utils::Outcome GetAIPromptOutcome; typedef Aws::Utils::Outcome GetAssistantOutcome; typedef Aws::Utils::Outcome GetAssistantAssociationOutcome; @@ -258,10 +285,13 @@ namespace Aws typedef Aws::Utils::Outcome GetImportJobOutcome; typedef Aws::Utils::Outcome GetKnowledgeBaseOutcome; typedef Aws::Utils::Outcome GetMessageTemplateOutcome; + typedef Aws::Utils::Outcome GetNextMessageOutcome; typedef Aws::Utils::Outcome GetQuickResponseOutcome; typedef Aws::Utils::Outcome GetSessionOutcome; typedef Aws::Utils::Outcome ListAIAgentVersionsOutcome; typedef Aws::Utils::Outcome ListAIAgentsOutcome; + typedef Aws::Utils::Outcome ListAIGuardrailVersionsOutcome; + typedef Aws::Utils::Outcome ListAIGuardrailsOutcome; typedef Aws::Utils::Outcome ListAIPromptVersionsOutcome; typedef Aws::Utils::Outcome ListAIPromptsOutcome; typedef Aws::Utils::Outcome ListAssistantAssociationsOutcome; @@ -272,6 +302,7 @@ namespace Aws typedef Aws::Utils::Outcome ListKnowledgeBasesOutcome; typedef Aws::Utils::Outcome ListMessageTemplateVersionsOutcome; typedef Aws::Utils::Outcome ListMessageTemplatesOutcome; + typedef Aws::Utils::Outcome ListMessagesOutcome; typedef Aws::Utils::Outcome ListQuickResponsesOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome NotifyRecommendationsReceivedOutcome; @@ -283,11 +314,13 @@ namespace Aws typedef Aws::Utils::Outcome SearchMessageTemplatesOutcome; typedef Aws::Utils::Outcome SearchQuickResponsesOutcome; typedef Aws::Utils::Outcome SearchSessionsOutcome; + typedef Aws::Utils::Outcome SendMessageOutcome; typedef Aws::Utils::Outcome StartContentUploadOutcome; typedef Aws::Utils::Outcome StartImportJobOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateAIAgentOutcome; + typedef Aws::Utils::Outcome UpdateAIGuardrailOutcome; typedef Aws::Utils::Outcome UpdateAIPromptOutcome; typedef Aws::Utils::Outcome UpdateAssistantAIAgentOutcome; typedef Aws::Utils::Outcome UpdateContentOutcome; @@ -303,6 +336,8 @@ namespace Aws typedef std::future ActivateMessageTemplateOutcomeCallable; typedef std::future CreateAIAgentOutcomeCallable; typedef std::future CreateAIAgentVersionOutcomeCallable; + typedef std::future CreateAIGuardrailOutcomeCallable; + typedef std::future CreateAIGuardrailVersionOutcomeCallable; typedef std::future CreateAIPromptOutcomeCallable; typedef std::future CreateAIPromptVersionOutcomeCallable; typedef std::future CreateAssistantOutcomeCallable; @@ -318,6 +353,8 @@ namespace Aws typedef std::future DeactivateMessageTemplateOutcomeCallable; typedef std::future DeleteAIAgentOutcomeCallable; typedef std::future DeleteAIAgentVersionOutcomeCallable; + typedef std::future DeleteAIGuardrailOutcomeCallable; + typedef std::future DeleteAIGuardrailVersionOutcomeCallable; typedef std::future DeleteAIPromptOutcomeCallable; typedef std::future DeleteAIPromptVersionOutcomeCallable; typedef std::future DeleteAssistantOutcomeCallable; @@ -330,6 +367,7 @@ namespace Aws typedef std::future DeleteMessageTemplateAttachmentOutcomeCallable; typedef std::future DeleteQuickResponseOutcomeCallable; typedef std::future GetAIAgentOutcomeCallable; + typedef std::future GetAIGuardrailOutcomeCallable; typedef std::future GetAIPromptOutcomeCallable; typedef std::future GetAssistantOutcomeCallable; typedef std::future GetAssistantAssociationOutcomeCallable; @@ -339,10 +377,13 @@ namespace Aws typedef std::future GetImportJobOutcomeCallable; typedef std::future GetKnowledgeBaseOutcomeCallable; typedef std::future GetMessageTemplateOutcomeCallable; + typedef std::future GetNextMessageOutcomeCallable; typedef std::future GetQuickResponseOutcomeCallable; typedef std::future GetSessionOutcomeCallable; typedef std::future ListAIAgentVersionsOutcomeCallable; typedef std::future ListAIAgentsOutcomeCallable; + typedef std::future ListAIGuardrailVersionsOutcomeCallable; + typedef std::future ListAIGuardrailsOutcomeCallable; typedef std::future ListAIPromptVersionsOutcomeCallable; typedef std::future ListAIPromptsOutcomeCallable; typedef std::future ListAssistantAssociationsOutcomeCallable; @@ -353,6 +394,7 @@ namespace Aws typedef std::future ListKnowledgeBasesOutcomeCallable; typedef std::future ListMessageTemplateVersionsOutcomeCallable; typedef std::future ListMessageTemplatesOutcomeCallable; + typedef std::future ListMessagesOutcomeCallable; typedef std::future ListQuickResponsesOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future NotifyRecommendationsReceivedOutcomeCallable; @@ -364,11 +406,13 @@ namespace Aws typedef std::future SearchMessageTemplatesOutcomeCallable; typedef std::future SearchQuickResponsesOutcomeCallable; typedef std::future SearchSessionsOutcomeCallable; + typedef std::future SendMessageOutcomeCallable; typedef std::future StartContentUploadOutcomeCallable; typedef std::future StartImportJobOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateAIAgentOutcomeCallable; + typedef std::future UpdateAIGuardrailOutcomeCallable; typedef std::future UpdateAIPromptOutcomeCallable; typedef std::future UpdateAssistantAIAgentOutcomeCallable; typedef std::future UpdateContentOutcomeCallable; @@ -387,6 +431,8 @@ namespace Aws typedef std::function&) > ActivateMessageTemplateResponseReceivedHandler; typedef std::function&) > CreateAIAgentResponseReceivedHandler; typedef std::function&) > CreateAIAgentVersionResponseReceivedHandler; + typedef std::function&) > CreateAIGuardrailResponseReceivedHandler; + typedef std::function&) > CreateAIGuardrailVersionResponseReceivedHandler; typedef std::function&) > CreateAIPromptResponseReceivedHandler; typedef std::function&) > CreateAIPromptVersionResponseReceivedHandler; typedef std::function&) > CreateAssistantResponseReceivedHandler; @@ -402,6 +448,8 @@ namespace Aws typedef std::function&) > DeactivateMessageTemplateResponseReceivedHandler; typedef std::function&) > DeleteAIAgentResponseReceivedHandler; typedef std::function&) > DeleteAIAgentVersionResponseReceivedHandler; + typedef std::function&) > DeleteAIGuardrailResponseReceivedHandler; + typedef std::function&) > DeleteAIGuardrailVersionResponseReceivedHandler; typedef std::function&) > DeleteAIPromptResponseReceivedHandler; typedef std::function&) > DeleteAIPromptVersionResponseReceivedHandler; typedef std::function&) > DeleteAssistantResponseReceivedHandler; @@ -414,6 +462,7 @@ namespace Aws typedef std::function&) > DeleteMessageTemplateAttachmentResponseReceivedHandler; typedef std::function&) > DeleteQuickResponseResponseReceivedHandler; typedef std::function&) > GetAIAgentResponseReceivedHandler; + typedef std::function&) > GetAIGuardrailResponseReceivedHandler; typedef std::function&) > GetAIPromptResponseReceivedHandler; typedef std::function&) > GetAssistantResponseReceivedHandler; typedef std::function&) > GetAssistantAssociationResponseReceivedHandler; @@ -423,10 +472,13 @@ namespace Aws typedef std::function&) > GetImportJobResponseReceivedHandler; typedef std::function&) > GetKnowledgeBaseResponseReceivedHandler; typedef std::function&) > GetMessageTemplateResponseReceivedHandler; + typedef std::function&) > GetNextMessageResponseReceivedHandler; typedef std::function&) > GetQuickResponseResponseReceivedHandler; typedef std::function&) > GetSessionResponseReceivedHandler; typedef std::function&) > ListAIAgentVersionsResponseReceivedHandler; typedef std::function&) > ListAIAgentsResponseReceivedHandler; + typedef std::function&) > ListAIGuardrailVersionsResponseReceivedHandler; + typedef std::function&) > ListAIGuardrailsResponseReceivedHandler; typedef std::function&) > ListAIPromptVersionsResponseReceivedHandler; typedef std::function&) > ListAIPromptsResponseReceivedHandler; typedef std::function&) > ListAssistantAssociationsResponseReceivedHandler; @@ -437,6 +489,7 @@ namespace Aws typedef std::function&) > ListKnowledgeBasesResponseReceivedHandler; typedef std::function&) > ListMessageTemplateVersionsResponseReceivedHandler; typedef std::function&) > ListMessageTemplatesResponseReceivedHandler; + typedef std::function&) > ListMessagesResponseReceivedHandler; typedef std::function&) > ListQuickResponsesResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > NotifyRecommendationsReceivedResponseReceivedHandler; @@ -448,11 +501,13 @@ namespace Aws typedef std::function&) > SearchMessageTemplatesResponseReceivedHandler; typedef std::function&) > SearchQuickResponsesResponseReceivedHandler; typedef std::function&) > SearchSessionsResponseReceivedHandler; + typedef std::function&) > SendMessageResponseReceivedHandler; typedef std::function&) > StartContentUploadResponseReceivedHandler; typedef std::function&) > StartImportJobResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateAIAgentResponseReceivedHandler; + typedef std::function&) > UpdateAIGuardrailResponseReceivedHandler; typedef std::function&) > UpdateAIPromptResponseReceivedHandler; typedef std::function&) > UpdateAssistantAIAgentResponseReceivedHandler; typedef std::function&) > UpdateContentResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIAgentConfiguration.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIAgentConfiguration.h index 0a1013409db..58f488a4e4f 100644 --- a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIAgentConfiguration.h +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIAgentConfiguration.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -63,6 +64,18 @@ namespace Model inline AIAgentConfiguration& WithManualSearchAIAgentConfiguration(const ManualSearchAIAgentConfiguration& value) { SetManualSearchAIAgentConfiguration(value); return *this;} inline AIAgentConfiguration& WithManualSearchAIAgentConfiguration(ManualSearchAIAgentConfiguration&& value) { SetManualSearchAIAgentConfiguration(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

          The configuration for AI Agents of type SELF_SERVICE.

          + */ + inline const SelfServiceAIAgentConfiguration& GetSelfServiceAIAgentConfiguration() const{ return m_selfServiceAIAgentConfiguration; } + inline bool SelfServiceAIAgentConfigurationHasBeenSet() const { return m_selfServiceAIAgentConfigurationHasBeenSet; } + inline void SetSelfServiceAIAgentConfiguration(const SelfServiceAIAgentConfiguration& value) { m_selfServiceAIAgentConfigurationHasBeenSet = true; m_selfServiceAIAgentConfiguration = value; } + inline void SetSelfServiceAIAgentConfiguration(SelfServiceAIAgentConfiguration&& value) { m_selfServiceAIAgentConfigurationHasBeenSet = true; m_selfServiceAIAgentConfiguration = std::move(value); } + inline AIAgentConfiguration& WithSelfServiceAIAgentConfiguration(const SelfServiceAIAgentConfiguration& value) { SetSelfServiceAIAgentConfiguration(value); return *this;} + inline AIAgentConfiguration& WithSelfServiceAIAgentConfiguration(SelfServiceAIAgentConfiguration&& value) { SetSelfServiceAIAgentConfiguration(std::move(value)); return *this;} + ///@} private: AnswerRecommendationAIAgentConfiguration m_answerRecommendationAIAgentConfiguration; @@ -70,6 +83,9 @@ namespace Model ManualSearchAIAgentConfiguration m_manualSearchAIAgentConfiguration; bool m_manualSearchAIAgentConfigurationHasBeenSet = false; + + SelfServiceAIAgentConfiguration m_selfServiceAIAgentConfiguration; + bool m_selfServiceAIAgentConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIAgentType.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIAgentType.h index d3d5b8e38ed..50602a6f279 100644 --- a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIAgentType.h +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIAgentType.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, MANUAL_SEARCH, - ANSWER_RECOMMENDATION + ANSWER_RECOMMENDATION, + SELF_SERVICE }; namespace AIAgentTypeMapper diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailContentPolicyConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailContentPolicyConfig.h new file mode 100644 index 00000000000..289ff033a3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailContentPolicyConfig.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          Contains details about how to handle harmful content.

          See + * Also:

          AWS + * API Reference

          + */ + class AIGuardrailContentPolicyConfig + { + public: + AWS_QCONNECT_API AIGuardrailContentPolicyConfig(); + AWS_QCONNECT_API AIGuardrailContentPolicyConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API AIGuardrailContentPolicyConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          Contains the type of the content filter and how strongly it should apply to + * prompts and model responses.

          + */ + inline const Aws::Vector& GetFiltersConfig() const{ return m_filtersConfig; } + inline bool FiltersConfigHasBeenSet() const { return m_filtersConfigHasBeenSet; } + inline void SetFiltersConfig(const Aws::Vector& value) { m_filtersConfigHasBeenSet = true; m_filtersConfig = value; } + inline void SetFiltersConfig(Aws::Vector&& value) { m_filtersConfigHasBeenSet = true; m_filtersConfig = std::move(value); } + inline AIGuardrailContentPolicyConfig& WithFiltersConfig(const Aws::Vector& value) { SetFiltersConfig(value); return *this;} + inline AIGuardrailContentPolicyConfig& WithFiltersConfig(Aws::Vector&& value) { SetFiltersConfig(std::move(value)); return *this;} + inline AIGuardrailContentPolicyConfig& AddFiltersConfig(const GuardrailContentFilterConfig& value) { m_filtersConfigHasBeenSet = true; m_filtersConfig.push_back(value); return *this; } + inline AIGuardrailContentPolicyConfig& AddFiltersConfig(GuardrailContentFilterConfig&& value) { m_filtersConfigHasBeenSet = true; m_filtersConfig.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_filtersConfig; + bool m_filtersConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailContextualGroundingPolicyConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailContextualGroundingPolicyConfig.h new file mode 100644 index 00000000000..9def13feef1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailContextualGroundingPolicyConfig.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The policy configuration details for the AI Guardrail's contextual grounding + * policy.

          See Also:

          AWS + * API Reference

          + */ + class AIGuardrailContextualGroundingPolicyConfig + { + public: + AWS_QCONNECT_API AIGuardrailContextualGroundingPolicyConfig(); + AWS_QCONNECT_API AIGuardrailContextualGroundingPolicyConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API AIGuardrailContextualGroundingPolicyConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The filter configuration details for the AI Guardrails contextual grounding + * policy.

          + */ + inline const Aws::Vector& GetFiltersConfig() const{ return m_filtersConfig; } + inline bool FiltersConfigHasBeenSet() const { return m_filtersConfigHasBeenSet; } + inline void SetFiltersConfig(const Aws::Vector& value) { m_filtersConfigHasBeenSet = true; m_filtersConfig = value; } + inline void SetFiltersConfig(Aws::Vector&& value) { m_filtersConfigHasBeenSet = true; m_filtersConfig = std::move(value); } + inline AIGuardrailContextualGroundingPolicyConfig& WithFiltersConfig(const Aws::Vector& value) { SetFiltersConfig(value); return *this;} + inline AIGuardrailContextualGroundingPolicyConfig& WithFiltersConfig(Aws::Vector&& value) { SetFiltersConfig(std::move(value)); return *this;} + inline AIGuardrailContextualGroundingPolicyConfig& AddFiltersConfig(const GuardrailContextualGroundingFilterConfig& value) { m_filtersConfigHasBeenSet = true; m_filtersConfig.push_back(value); return *this; } + inline AIGuardrailContextualGroundingPolicyConfig& AddFiltersConfig(GuardrailContextualGroundingFilterConfig&& value) { m_filtersConfigHasBeenSet = true; m_filtersConfig.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_filtersConfig; + bool m_filtersConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailData.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailData.h new file mode 100644 index 00000000000..72514d4d051 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailData.h @@ -0,0 +1,336 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The data for the AI Guardrail

          See Also:

          AWS + * API Reference

          + */ + class AIGuardrailData + { + public: + AWS_QCONNECT_API AIGuardrailData(); + AWS_QCONNECT_API AIGuardrailData(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API AIGuardrailData& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The Amazon Resource Name (ARN) of the AI Guardrail.

          + */ + inline const Aws::String& GetAiGuardrailArn() const{ return m_aiGuardrailArn; } + inline bool AiGuardrailArnHasBeenSet() const { return m_aiGuardrailArnHasBeenSet; } + inline void SetAiGuardrailArn(const Aws::String& value) { m_aiGuardrailArnHasBeenSet = true; m_aiGuardrailArn = value; } + inline void SetAiGuardrailArn(Aws::String&& value) { m_aiGuardrailArnHasBeenSet = true; m_aiGuardrailArn = std::move(value); } + inline void SetAiGuardrailArn(const char* value) { m_aiGuardrailArnHasBeenSet = true; m_aiGuardrailArn.assign(value); } + inline AIGuardrailData& WithAiGuardrailArn(const Aws::String& value) { SetAiGuardrailArn(value); return *this;} + inline AIGuardrailData& WithAiGuardrailArn(Aws::String&& value) { SetAiGuardrailArn(std::move(value)); return *this;} + inline AIGuardrailData& WithAiGuardrailArn(const char* value) { SetAiGuardrailArn(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect AI Guardrail.

          + */ + inline const Aws::String& GetAiGuardrailId() const{ return m_aiGuardrailId; } + inline bool AiGuardrailIdHasBeenSet() const { return m_aiGuardrailIdHasBeenSet; } + inline void SetAiGuardrailId(const Aws::String& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = value; } + inline void SetAiGuardrailId(Aws::String&& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = std::move(value); } + inline void SetAiGuardrailId(const char* value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId.assign(value); } + inline AIGuardrailData& WithAiGuardrailId(const Aws::String& value) { SetAiGuardrailId(value); return *this;} + inline AIGuardrailData& WithAiGuardrailId(Aws::String&& value) { SetAiGuardrailId(std::move(value)); return *this;} + inline AIGuardrailData& WithAiGuardrailId(const char* value) { SetAiGuardrailId(value); return *this;} + ///@} + + ///@{ + /** + *

          The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

          + */ + inline const Aws::String& GetAssistantArn() const{ return m_assistantArn; } + inline bool AssistantArnHasBeenSet() const { return m_assistantArnHasBeenSet; } + inline void SetAssistantArn(const Aws::String& value) { m_assistantArnHasBeenSet = true; m_assistantArn = value; } + inline void SetAssistantArn(Aws::String&& value) { m_assistantArnHasBeenSet = true; m_assistantArn = std::move(value); } + inline void SetAssistantArn(const char* value) { m_assistantArnHasBeenSet = true; m_assistantArn.assign(value); } + inline AIGuardrailData& WithAssistantArn(const Aws::String& value) { SetAssistantArn(value); return *this;} + inline AIGuardrailData& WithAssistantArn(Aws::String&& value) { SetAssistantArn(std::move(value)); return *this;} + inline AIGuardrailData& WithAssistantArn(const char* value) { SetAssistantArn(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant. Can be either the ID or + * the ARN. URLs cannot contain the ARN.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline AIGuardrailData& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline AIGuardrailData& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline AIGuardrailData& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + + ///@{ + /** + *

          The message to return when the AI Guardrail blocks a prompt.

          + */ + inline const Aws::String& GetBlockedInputMessaging() const{ return m_blockedInputMessaging; } + inline bool BlockedInputMessagingHasBeenSet() const { return m_blockedInputMessagingHasBeenSet; } + inline void SetBlockedInputMessaging(const Aws::String& value) { m_blockedInputMessagingHasBeenSet = true; m_blockedInputMessaging = value; } + inline void SetBlockedInputMessaging(Aws::String&& value) { m_blockedInputMessagingHasBeenSet = true; m_blockedInputMessaging = std::move(value); } + inline void SetBlockedInputMessaging(const char* value) { m_blockedInputMessagingHasBeenSet = true; m_blockedInputMessaging.assign(value); } + inline AIGuardrailData& WithBlockedInputMessaging(const Aws::String& value) { SetBlockedInputMessaging(value); return *this;} + inline AIGuardrailData& WithBlockedInputMessaging(Aws::String&& value) { SetBlockedInputMessaging(std::move(value)); return *this;} + inline AIGuardrailData& WithBlockedInputMessaging(const char* value) { SetBlockedInputMessaging(value); return *this;} + ///@} + + ///@{ + /** + *

          The message to return when the AI Guardrail blocks a model response.

          + */ + inline const Aws::String& GetBlockedOutputsMessaging() const{ return m_blockedOutputsMessaging; } + inline bool BlockedOutputsMessagingHasBeenSet() const { return m_blockedOutputsMessagingHasBeenSet; } + inline void SetBlockedOutputsMessaging(const Aws::String& value) { m_blockedOutputsMessagingHasBeenSet = true; m_blockedOutputsMessaging = value; } + inline void SetBlockedOutputsMessaging(Aws::String&& value) { m_blockedOutputsMessagingHasBeenSet = true; m_blockedOutputsMessaging = std::move(value); } + inline void SetBlockedOutputsMessaging(const char* value) { m_blockedOutputsMessagingHasBeenSet = true; m_blockedOutputsMessaging.assign(value); } + inline AIGuardrailData& WithBlockedOutputsMessaging(const Aws::String& value) { SetBlockedOutputsMessaging(value); return *this;} + inline AIGuardrailData& WithBlockedOutputsMessaging(Aws::String&& value) { SetBlockedOutputsMessaging(std::move(value)); return *this;} + inline AIGuardrailData& WithBlockedOutputsMessaging(const char* value) { SetBlockedOutputsMessaging(value); return *this;} + ///@} + + ///@{ + /** + *

          Contains details about how to handle harmful content.

          + */ + inline const AIGuardrailContentPolicyConfig& GetContentPolicyConfig() const{ return m_contentPolicyConfig; } + inline bool ContentPolicyConfigHasBeenSet() const { return m_contentPolicyConfigHasBeenSet; } + inline void SetContentPolicyConfig(const AIGuardrailContentPolicyConfig& value) { m_contentPolicyConfigHasBeenSet = true; m_contentPolicyConfig = value; } + inline void SetContentPolicyConfig(AIGuardrailContentPolicyConfig&& value) { m_contentPolicyConfigHasBeenSet = true; m_contentPolicyConfig = std::move(value); } + inline AIGuardrailData& WithContentPolicyConfig(const AIGuardrailContentPolicyConfig& value) { SetContentPolicyConfig(value); return *this;} + inline AIGuardrailData& WithContentPolicyConfig(AIGuardrailContentPolicyConfig&& value) { SetContentPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The policy configuration details for the AI Guardrail's contextual grounding + * policy.

          + */ + inline const AIGuardrailContextualGroundingPolicyConfig& GetContextualGroundingPolicyConfig() const{ return m_contextualGroundingPolicyConfig; } + inline bool ContextualGroundingPolicyConfigHasBeenSet() const { return m_contextualGroundingPolicyConfigHasBeenSet; } + inline void SetContextualGroundingPolicyConfig(const AIGuardrailContextualGroundingPolicyConfig& value) { m_contextualGroundingPolicyConfigHasBeenSet = true; m_contextualGroundingPolicyConfig = value; } + inline void SetContextualGroundingPolicyConfig(AIGuardrailContextualGroundingPolicyConfig&& value) { m_contextualGroundingPolicyConfigHasBeenSet = true; m_contextualGroundingPolicyConfig = std::move(value); } + inline AIGuardrailData& WithContextualGroundingPolicyConfig(const AIGuardrailContextualGroundingPolicyConfig& value) { SetContextualGroundingPolicyConfig(value); return *this;} + inline AIGuardrailData& WithContextualGroundingPolicyConfig(AIGuardrailContextualGroundingPolicyConfig&& value) { SetContextualGroundingPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          A description of the AI Guardrail.

          + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline AIGuardrailData& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline AIGuardrailData& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline AIGuardrailData& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

          The time the AI Guardrail was last modified.

          + */ + inline const Aws::Utils::DateTime& GetModifiedTime() const{ return m_modifiedTime; } + inline bool ModifiedTimeHasBeenSet() const { return m_modifiedTimeHasBeenSet; } + inline void SetModifiedTime(const Aws::Utils::DateTime& value) { m_modifiedTimeHasBeenSet = true; m_modifiedTime = value; } + inline void SetModifiedTime(Aws::Utils::DateTime&& value) { m_modifiedTimeHasBeenSet = true; m_modifiedTime = std::move(value); } + inline AIGuardrailData& WithModifiedTime(const Aws::Utils::DateTime& value) { SetModifiedTime(value); return *this;} + inline AIGuardrailData& WithModifiedTime(Aws::Utils::DateTime&& value) { SetModifiedTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The name of the AI Guardrail.

          + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline AIGuardrailData& WithName(const Aws::String& value) { SetName(value); return *this;} + inline AIGuardrailData& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline AIGuardrailData& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

          Contains details about PII entities and regular expressions to configure for + * the AI Guardrail.

          + */ + inline const AIGuardrailSensitiveInformationPolicyConfig& GetSensitiveInformationPolicyConfig() const{ return m_sensitiveInformationPolicyConfig; } + inline bool SensitiveInformationPolicyConfigHasBeenSet() const { return m_sensitiveInformationPolicyConfigHasBeenSet; } + inline void SetSensitiveInformationPolicyConfig(const AIGuardrailSensitiveInformationPolicyConfig& value) { m_sensitiveInformationPolicyConfigHasBeenSet = true; m_sensitiveInformationPolicyConfig = value; } + inline void SetSensitiveInformationPolicyConfig(AIGuardrailSensitiveInformationPolicyConfig&& value) { m_sensitiveInformationPolicyConfigHasBeenSet = true; m_sensitiveInformationPolicyConfig = std::move(value); } + inline AIGuardrailData& WithSensitiveInformationPolicyConfig(const AIGuardrailSensitiveInformationPolicyConfig& value) { SetSensitiveInformationPolicyConfig(value); return *this;} + inline AIGuardrailData& WithSensitiveInformationPolicyConfig(AIGuardrailSensitiveInformationPolicyConfig&& value) { SetSensitiveInformationPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The status of the AI Guardrail.

          + */ + inline const Status& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const Status& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(Status&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline AIGuardrailData& WithStatus(const Status& value) { SetStatus(value); return *this;} + inline AIGuardrailData& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The tags used to organize, track, or control access for this resource.

          + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline AIGuardrailData& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline AIGuardrailData& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline AIGuardrailData& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline AIGuardrailData& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline AIGuardrailData& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline AIGuardrailData& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline AIGuardrailData& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline AIGuardrailData& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline AIGuardrailData& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

          Contains details about topics that the AI Guardrail should identify and + * deny.

          + */ + inline const AIGuardrailTopicPolicyConfig& GetTopicPolicyConfig() const{ return m_topicPolicyConfig; } + inline bool TopicPolicyConfigHasBeenSet() const { return m_topicPolicyConfigHasBeenSet; } + inline void SetTopicPolicyConfig(const AIGuardrailTopicPolicyConfig& value) { m_topicPolicyConfigHasBeenSet = true; m_topicPolicyConfig = value; } + inline void SetTopicPolicyConfig(AIGuardrailTopicPolicyConfig&& value) { m_topicPolicyConfigHasBeenSet = true; m_topicPolicyConfig = std::move(value); } + inline AIGuardrailData& WithTopicPolicyConfig(const AIGuardrailTopicPolicyConfig& value) { SetTopicPolicyConfig(value); return *this;} + inline AIGuardrailData& WithTopicPolicyConfig(AIGuardrailTopicPolicyConfig&& value) { SetTopicPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The visibility status of the AI Guardrail.

          + */ + inline const VisibilityStatus& GetVisibilityStatus() const{ return m_visibilityStatus; } + inline bool VisibilityStatusHasBeenSet() const { return m_visibilityStatusHasBeenSet; } + inline void SetVisibilityStatus(const VisibilityStatus& value) { m_visibilityStatusHasBeenSet = true; m_visibilityStatus = value; } + inline void SetVisibilityStatus(VisibilityStatus&& value) { m_visibilityStatusHasBeenSet = true; m_visibilityStatus = std::move(value); } + inline AIGuardrailData& WithVisibilityStatus(const VisibilityStatus& value) { SetVisibilityStatus(value); return *this;} + inline AIGuardrailData& WithVisibilityStatus(VisibilityStatus&& value) { SetVisibilityStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          Contains details about the word policy to configured for the AI + * Guardrail.

          + */ + inline const AIGuardrailWordPolicyConfig& GetWordPolicyConfig() const{ return m_wordPolicyConfig; } + inline bool WordPolicyConfigHasBeenSet() const { return m_wordPolicyConfigHasBeenSet; } + inline void SetWordPolicyConfig(const AIGuardrailWordPolicyConfig& value) { m_wordPolicyConfigHasBeenSet = true; m_wordPolicyConfig = value; } + inline void SetWordPolicyConfig(AIGuardrailWordPolicyConfig&& value) { m_wordPolicyConfigHasBeenSet = true; m_wordPolicyConfig = std::move(value); } + inline AIGuardrailData& WithWordPolicyConfig(const AIGuardrailWordPolicyConfig& value) { SetWordPolicyConfig(value); return *this;} + inline AIGuardrailData& WithWordPolicyConfig(AIGuardrailWordPolicyConfig&& value) { SetWordPolicyConfig(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_aiGuardrailArn; + bool m_aiGuardrailArnHasBeenSet = false; + + Aws::String m_aiGuardrailId; + bool m_aiGuardrailIdHasBeenSet = false; + + Aws::String m_assistantArn; + bool m_assistantArnHasBeenSet = false; + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + + Aws::String m_blockedInputMessaging; + bool m_blockedInputMessagingHasBeenSet = false; + + Aws::String m_blockedOutputsMessaging; + bool m_blockedOutputsMessagingHasBeenSet = false; + + AIGuardrailContentPolicyConfig m_contentPolicyConfig; + bool m_contentPolicyConfigHasBeenSet = false; + + AIGuardrailContextualGroundingPolicyConfig m_contextualGroundingPolicyConfig; + bool m_contextualGroundingPolicyConfigHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Utils::DateTime m_modifiedTime; + bool m_modifiedTimeHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + AIGuardrailSensitiveInformationPolicyConfig m_sensitiveInformationPolicyConfig; + bool m_sensitiveInformationPolicyConfigHasBeenSet = false; + + Status m_status; + bool m_statusHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + AIGuardrailTopicPolicyConfig m_topicPolicyConfig; + bool m_topicPolicyConfigHasBeenSet = false; + + VisibilityStatus m_visibilityStatus; + bool m_visibilityStatusHasBeenSet = false; + + AIGuardrailWordPolicyConfig m_wordPolicyConfig; + bool m_wordPolicyConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailSensitiveInformationPolicyConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailSensitiveInformationPolicyConfig.h new file mode 100644 index 00000000000..d3a15acca76 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailSensitiveInformationPolicyConfig.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          Contains details about PII entities and regular expressions to configure for + * the AI Guardrail.

          See Also:

          AWS + * API Reference

          + */ + class AIGuardrailSensitiveInformationPolicyConfig + { + public: + AWS_QCONNECT_API AIGuardrailSensitiveInformationPolicyConfig(); + AWS_QCONNECT_API AIGuardrailSensitiveInformationPolicyConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API AIGuardrailSensitiveInformationPolicyConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          A list of PII entities to configure to the AI Guardrail.

          + */ + inline const Aws::Vector& GetPiiEntitiesConfig() const{ return m_piiEntitiesConfig; } + inline bool PiiEntitiesConfigHasBeenSet() const { return m_piiEntitiesConfigHasBeenSet; } + inline void SetPiiEntitiesConfig(const Aws::Vector& value) { m_piiEntitiesConfigHasBeenSet = true; m_piiEntitiesConfig = value; } + inline void SetPiiEntitiesConfig(Aws::Vector&& value) { m_piiEntitiesConfigHasBeenSet = true; m_piiEntitiesConfig = std::move(value); } + inline AIGuardrailSensitiveInformationPolicyConfig& WithPiiEntitiesConfig(const Aws::Vector& value) { SetPiiEntitiesConfig(value); return *this;} + inline AIGuardrailSensitiveInformationPolicyConfig& WithPiiEntitiesConfig(Aws::Vector&& value) { SetPiiEntitiesConfig(std::move(value)); return *this;} + inline AIGuardrailSensitiveInformationPolicyConfig& AddPiiEntitiesConfig(const GuardrailPiiEntityConfig& value) { m_piiEntitiesConfigHasBeenSet = true; m_piiEntitiesConfig.push_back(value); return *this; } + inline AIGuardrailSensitiveInformationPolicyConfig& AddPiiEntitiesConfig(GuardrailPiiEntityConfig&& value) { m_piiEntitiesConfigHasBeenSet = true; m_piiEntitiesConfig.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          A list of regular expressions to configure to the AI Guardrail.

          + */ + inline const Aws::Vector& GetRegexesConfig() const{ return m_regexesConfig; } + inline bool RegexesConfigHasBeenSet() const { return m_regexesConfigHasBeenSet; } + inline void SetRegexesConfig(const Aws::Vector& value) { m_regexesConfigHasBeenSet = true; m_regexesConfig = value; } + inline void SetRegexesConfig(Aws::Vector&& value) { m_regexesConfigHasBeenSet = true; m_regexesConfig = std::move(value); } + inline AIGuardrailSensitiveInformationPolicyConfig& WithRegexesConfig(const Aws::Vector& value) { SetRegexesConfig(value); return *this;} + inline AIGuardrailSensitiveInformationPolicyConfig& WithRegexesConfig(Aws::Vector&& value) { SetRegexesConfig(std::move(value)); return *this;} + inline AIGuardrailSensitiveInformationPolicyConfig& AddRegexesConfig(const GuardrailRegexConfig& value) { m_regexesConfigHasBeenSet = true; m_regexesConfig.push_back(value); return *this; } + inline AIGuardrailSensitiveInformationPolicyConfig& AddRegexesConfig(GuardrailRegexConfig&& value) { m_regexesConfigHasBeenSet = true; m_regexesConfig.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_piiEntitiesConfig; + bool m_piiEntitiesConfigHasBeenSet = false; + + Aws::Vector m_regexesConfig; + bool m_regexesConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailSummary.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailSummary.h new file mode 100644 index 00000000000..134b012884e --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailSummary.h @@ -0,0 +1,218 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The summary of the AI Guardrail.

          See Also:

          AWS + * API Reference

          + */ + class AIGuardrailSummary + { + public: + AWS_QCONNECT_API AIGuardrailSummary(); + AWS_QCONNECT_API AIGuardrailSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API AIGuardrailSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The Amazon Resource Name (ARN) of the AI Guardrail.

          + */ + inline const Aws::String& GetAiGuardrailArn() const{ return m_aiGuardrailArn; } + inline bool AiGuardrailArnHasBeenSet() const { return m_aiGuardrailArnHasBeenSet; } + inline void SetAiGuardrailArn(const Aws::String& value) { m_aiGuardrailArnHasBeenSet = true; m_aiGuardrailArn = value; } + inline void SetAiGuardrailArn(Aws::String&& value) { m_aiGuardrailArnHasBeenSet = true; m_aiGuardrailArn = std::move(value); } + inline void SetAiGuardrailArn(const char* value) { m_aiGuardrailArnHasBeenSet = true; m_aiGuardrailArn.assign(value); } + inline AIGuardrailSummary& WithAiGuardrailArn(const Aws::String& value) { SetAiGuardrailArn(value); return *this;} + inline AIGuardrailSummary& WithAiGuardrailArn(Aws::String&& value) { SetAiGuardrailArn(std::move(value)); return *this;} + inline AIGuardrailSummary& WithAiGuardrailArn(const char* value) { SetAiGuardrailArn(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect AI Guardrail.

          + */ + inline const Aws::String& GetAiGuardrailId() const{ return m_aiGuardrailId; } + inline bool AiGuardrailIdHasBeenSet() const { return m_aiGuardrailIdHasBeenSet; } + inline void SetAiGuardrailId(const Aws::String& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = value; } + inline void SetAiGuardrailId(Aws::String&& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = std::move(value); } + inline void SetAiGuardrailId(const char* value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId.assign(value); } + inline AIGuardrailSummary& WithAiGuardrailId(const Aws::String& value) { SetAiGuardrailId(value); return *this;} + inline AIGuardrailSummary& WithAiGuardrailId(Aws::String&& value) { SetAiGuardrailId(std::move(value)); return *this;} + inline AIGuardrailSummary& WithAiGuardrailId(const char* value) { SetAiGuardrailId(value); return *this;} + ///@} + + ///@{ + /** + *

          The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

          + */ + inline const Aws::String& GetAssistantArn() const{ return m_assistantArn; } + inline bool AssistantArnHasBeenSet() const { return m_assistantArnHasBeenSet; } + inline void SetAssistantArn(const Aws::String& value) { m_assistantArnHasBeenSet = true; m_assistantArn = value; } + inline void SetAssistantArn(Aws::String&& value) { m_assistantArnHasBeenSet = true; m_assistantArn = std::move(value); } + inline void SetAssistantArn(const char* value) { m_assistantArnHasBeenSet = true; m_assistantArn.assign(value); } + inline AIGuardrailSummary& WithAssistantArn(const Aws::String& value) { SetAssistantArn(value); return *this;} + inline AIGuardrailSummary& WithAssistantArn(Aws::String&& value) { SetAssistantArn(std::move(value)); return *this;} + inline AIGuardrailSummary& WithAssistantArn(const char* value) { SetAssistantArn(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant. Can be either the ID or + * the ARN. URLs cannot contain the ARN.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline AIGuardrailSummary& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline AIGuardrailSummary& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline AIGuardrailSummary& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + + ///@{ + /** + *

          A description of the AI Guardrail.

          + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline AIGuardrailSummary& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline AIGuardrailSummary& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline AIGuardrailSummary& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

          The time the AI Guardrail was last modified.

          + */ + inline const Aws::Utils::DateTime& GetModifiedTime() const{ return m_modifiedTime; } + inline bool ModifiedTimeHasBeenSet() const { return m_modifiedTimeHasBeenSet; } + inline void SetModifiedTime(const Aws::Utils::DateTime& value) { m_modifiedTimeHasBeenSet = true; m_modifiedTime = value; } + inline void SetModifiedTime(Aws::Utils::DateTime&& value) { m_modifiedTimeHasBeenSet = true; m_modifiedTime = std::move(value); } + inline AIGuardrailSummary& WithModifiedTime(const Aws::Utils::DateTime& value) { SetModifiedTime(value); return *this;} + inline AIGuardrailSummary& WithModifiedTime(Aws::Utils::DateTime&& value) { SetModifiedTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The name of the AI Guardrail.

          + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline AIGuardrailSummary& WithName(const Aws::String& value) { SetName(value); return *this;} + inline AIGuardrailSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline AIGuardrailSummary& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

          The status of the AI Guardrail.

          + */ + inline const Status& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const Status& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(Status&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline AIGuardrailSummary& WithStatus(const Status& value) { SetStatus(value); return *this;} + inline AIGuardrailSummary& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The tags used to organize, track, or control access for this resource.

          + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline AIGuardrailSummary& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline AIGuardrailSummary& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline AIGuardrailSummary& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline AIGuardrailSummary& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline AIGuardrailSummary& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline AIGuardrailSummary& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline AIGuardrailSummary& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline AIGuardrailSummary& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline AIGuardrailSummary& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

          The visibility status of the AI Guardrail.

          + */ + inline const VisibilityStatus& GetVisibilityStatus() const{ return m_visibilityStatus; } + inline bool VisibilityStatusHasBeenSet() const { return m_visibilityStatusHasBeenSet; } + inline void SetVisibilityStatus(const VisibilityStatus& value) { m_visibilityStatusHasBeenSet = true; m_visibilityStatus = value; } + inline void SetVisibilityStatus(VisibilityStatus&& value) { m_visibilityStatusHasBeenSet = true; m_visibilityStatus = std::move(value); } + inline AIGuardrailSummary& WithVisibilityStatus(const VisibilityStatus& value) { SetVisibilityStatus(value); return *this;} + inline AIGuardrailSummary& WithVisibilityStatus(VisibilityStatus&& value) { SetVisibilityStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_aiGuardrailArn; + bool m_aiGuardrailArnHasBeenSet = false; + + Aws::String m_aiGuardrailId; + bool m_aiGuardrailIdHasBeenSet = false; + + Aws::String m_assistantArn; + bool m_assistantArnHasBeenSet = false; + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Utils::DateTime m_modifiedTime; + bool m_modifiedTimeHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Status m_status; + bool m_statusHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + VisibilityStatus m_visibilityStatus; + bool m_visibilityStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailTopicPolicyConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailTopicPolicyConfig.h new file mode 100644 index 00000000000..2a27b1b89ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailTopicPolicyConfig.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          Contains details about topics that the AI Guardrail should identify and + * deny.

          See Also:

          AWS + * API Reference

          + */ + class AIGuardrailTopicPolicyConfig + { + public: + AWS_QCONNECT_API AIGuardrailTopicPolicyConfig(); + AWS_QCONNECT_API AIGuardrailTopicPolicyConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API AIGuardrailTopicPolicyConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          A list of policies related to topics that the AI Guardrail should deny.

          + */ + inline const Aws::Vector& GetTopicsConfig() const{ return m_topicsConfig; } + inline bool TopicsConfigHasBeenSet() const { return m_topicsConfigHasBeenSet; } + inline void SetTopicsConfig(const Aws::Vector& value) { m_topicsConfigHasBeenSet = true; m_topicsConfig = value; } + inline void SetTopicsConfig(Aws::Vector&& value) { m_topicsConfigHasBeenSet = true; m_topicsConfig = std::move(value); } + inline AIGuardrailTopicPolicyConfig& WithTopicsConfig(const Aws::Vector& value) { SetTopicsConfig(value); return *this;} + inline AIGuardrailTopicPolicyConfig& WithTopicsConfig(Aws::Vector&& value) { SetTopicsConfig(std::move(value)); return *this;} + inline AIGuardrailTopicPolicyConfig& AddTopicsConfig(const GuardrailTopicConfig& value) { m_topicsConfigHasBeenSet = true; m_topicsConfig.push_back(value); return *this; } + inline AIGuardrailTopicPolicyConfig& AddTopicsConfig(GuardrailTopicConfig&& value) { m_topicsConfigHasBeenSet = true; m_topicsConfig.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_topicsConfig; + bool m_topicsConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailVersionSummary.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailVersionSummary.h new file mode 100644 index 00000000000..582544e3d32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailVersionSummary.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The summary of the AI Guardrail version.

          See Also:

          AWS + * API Reference

          + */ + class AIGuardrailVersionSummary + { + public: + AWS_QCONNECT_API AIGuardrailVersionSummary(); + AWS_QCONNECT_API AIGuardrailVersionSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API AIGuardrailVersionSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The data for the summary of the AI Guardrail version.

          + */ + inline const AIGuardrailSummary& GetAiGuardrailSummary() const{ return m_aiGuardrailSummary; } + inline bool AiGuardrailSummaryHasBeenSet() const { return m_aiGuardrailSummaryHasBeenSet; } + inline void SetAiGuardrailSummary(const AIGuardrailSummary& value) { m_aiGuardrailSummaryHasBeenSet = true; m_aiGuardrailSummary = value; } + inline void SetAiGuardrailSummary(AIGuardrailSummary&& value) { m_aiGuardrailSummaryHasBeenSet = true; m_aiGuardrailSummary = std::move(value); } + inline AIGuardrailVersionSummary& WithAiGuardrailSummary(const AIGuardrailSummary& value) { SetAiGuardrailSummary(value); return *this;} + inline AIGuardrailVersionSummary& WithAiGuardrailSummary(AIGuardrailSummary&& value) { SetAiGuardrailSummary(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The version number for this AI Guardrail version.

          + */ + inline long long GetVersionNumber() const{ return m_versionNumber; } + inline bool VersionNumberHasBeenSet() const { return m_versionNumberHasBeenSet; } + inline void SetVersionNumber(long long value) { m_versionNumberHasBeenSet = true; m_versionNumber = value; } + inline AIGuardrailVersionSummary& WithVersionNumber(long long value) { SetVersionNumber(value); return *this;} + ///@} + private: + + AIGuardrailSummary m_aiGuardrailSummary; + bool m_aiGuardrailSummaryHasBeenSet = false; + + long long m_versionNumber; + bool m_versionNumberHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailWordPolicyConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailWordPolicyConfig.h new file mode 100644 index 00000000000..4dd3f6a234b --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIGuardrailWordPolicyConfig.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          Contains details about the word policy to configured for the AI + * Guardrail.

          See Also:

          AWS + * API Reference

          + */ + class AIGuardrailWordPolicyConfig + { + public: + AWS_QCONNECT_API AIGuardrailWordPolicyConfig(); + AWS_QCONNECT_API AIGuardrailWordPolicyConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API AIGuardrailWordPolicyConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          A list of managed words to configure for the AI Guardrail.

          + */ + inline const Aws::Vector& GetManagedWordListsConfig() const{ return m_managedWordListsConfig; } + inline bool ManagedWordListsConfigHasBeenSet() const { return m_managedWordListsConfigHasBeenSet; } + inline void SetManagedWordListsConfig(const Aws::Vector& value) { m_managedWordListsConfigHasBeenSet = true; m_managedWordListsConfig = value; } + inline void SetManagedWordListsConfig(Aws::Vector&& value) { m_managedWordListsConfigHasBeenSet = true; m_managedWordListsConfig = std::move(value); } + inline AIGuardrailWordPolicyConfig& WithManagedWordListsConfig(const Aws::Vector& value) { SetManagedWordListsConfig(value); return *this;} + inline AIGuardrailWordPolicyConfig& WithManagedWordListsConfig(Aws::Vector&& value) { SetManagedWordListsConfig(std::move(value)); return *this;} + inline AIGuardrailWordPolicyConfig& AddManagedWordListsConfig(const GuardrailManagedWordsConfig& value) { m_managedWordListsConfigHasBeenSet = true; m_managedWordListsConfig.push_back(value); return *this; } + inline AIGuardrailWordPolicyConfig& AddManagedWordListsConfig(GuardrailManagedWordsConfig&& value) { m_managedWordListsConfigHasBeenSet = true; m_managedWordListsConfig.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          A list of words to configure for the AI Guardrail.

          + */ + inline const Aws::Vector& GetWordsConfig() const{ return m_wordsConfig; } + inline bool WordsConfigHasBeenSet() const { return m_wordsConfigHasBeenSet; } + inline void SetWordsConfig(const Aws::Vector& value) { m_wordsConfigHasBeenSet = true; m_wordsConfig = value; } + inline void SetWordsConfig(Aws::Vector&& value) { m_wordsConfigHasBeenSet = true; m_wordsConfig = std::move(value); } + inline AIGuardrailWordPolicyConfig& WithWordsConfig(const Aws::Vector& value) { SetWordsConfig(value); return *this;} + inline AIGuardrailWordPolicyConfig& WithWordsConfig(Aws::Vector&& value) { SetWordsConfig(std::move(value)); return *this;} + inline AIGuardrailWordPolicyConfig& AddWordsConfig(const GuardrailWordConfig& value) { m_wordsConfigHasBeenSet = true; m_wordsConfig.push_back(value); return *this; } + inline AIGuardrailWordPolicyConfig& AddWordsConfig(GuardrailWordConfig&& value) { m_wordsConfigHasBeenSet = true; m_wordsConfig.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_managedWordListsConfig; + bool m_managedWordListsConfigHasBeenSet = false; + + Aws::Vector m_wordsConfig; + bool m_wordsConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIPromptType.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIPromptType.h index 0b986dece11..4841accf0a5 100644 --- a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIPromptType.h +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AIPromptType.h @@ -18,7 +18,9 @@ namespace Model NOT_SET, ANSWER_GENERATION, INTENT_LABELING_GENERATION, - QUERY_REFORMULATION + QUERY_REFORMULATION, + SELF_SERVICE_PRE_PROCESSING, + SELF_SERVICE_ANSWER_GENERATION }; namespace AIPromptTypeMapper diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AnswerRecommendationAIAgentConfiguration.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AnswerRecommendationAIAgentConfiguration.h index fde9e3741ff..4aa55518324 100644 --- a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AnswerRecommendationAIAgentConfiguration.h +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/AnswerRecommendationAIAgentConfiguration.h @@ -40,6 +40,21 @@ namespace Model AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

          The AI Guardrail identifier for the Answer Generation Guardrail used by the + * ANSWER_RECOMMENDATION AI Agent.

          + */ + inline const Aws::String& GetAnswerGenerationAIGuardrailId() const{ return m_answerGenerationAIGuardrailId; } + inline bool AnswerGenerationAIGuardrailIdHasBeenSet() const { return m_answerGenerationAIGuardrailIdHasBeenSet; } + inline void SetAnswerGenerationAIGuardrailId(const Aws::String& value) { m_answerGenerationAIGuardrailIdHasBeenSet = true; m_answerGenerationAIGuardrailId = value; } + inline void SetAnswerGenerationAIGuardrailId(Aws::String&& value) { m_answerGenerationAIGuardrailIdHasBeenSet = true; m_answerGenerationAIGuardrailId = std::move(value); } + inline void SetAnswerGenerationAIGuardrailId(const char* value) { m_answerGenerationAIGuardrailIdHasBeenSet = true; m_answerGenerationAIGuardrailId.assign(value); } + inline AnswerRecommendationAIAgentConfiguration& WithAnswerGenerationAIGuardrailId(const Aws::String& value) { SetAnswerGenerationAIGuardrailId(value); return *this;} + inline AnswerRecommendationAIAgentConfiguration& WithAnswerGenerationAIGuardrailId(Aws::String&& value) { SetAnswerGenerationAIGuardrailId(std::move(value)); return *this;} + inline AnswerRecommendationAIAgentConfiguration& WithAnswerGenerationAIGuardrailId(const char* value) { SetAnswerGenerationAIGuardrailId(value); return *this;} + ///@} + ///@{ /** *

          The AI Prompt identifier for the Answer Generation prompt used by the @@ -100,6 +115,9 @@ namespace Model ///@} private: + Aws::String m_answerGenerationAIGuardrailId; + bool m_answerGenerationAIGuardrailIdHasBeenSet = false; + Aws::String m_answerGenerationAIPromptId; bool m_answerGenerationAIPromptIdHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationContext.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationContext.h new file mode 100644 index 00000000000..4d84d4899f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationContext.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The conversation context to include in SendMessage.

          See Also:

          + * AWS + * API Reference

          + */ + class ConversationContext + { + public: + AWS_QCONNECT_API ConversationContext(); + AWS_QCONNECT_API ConversationContext(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API ConversationContext& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The self service conversation history before the Amazon Q in Connect + * session.

          + */ + inline const Aws::Vector& GetSelfServiceConversationHistory() const{ return m_selfServiceConversationHistory; } + inline bool SelfServiceConversationHistoryHasBeenSet() const { return m_selfServiceConversationHistoryHasBeenSet; } + inline void SetSelfServiceConversationHistory(const Aws::Vector& value) { m_selfServiceConversationHistoryHasBeenSet = true; m_selfServiceConversationHistory = value; } + inline void SetSelfServiceConversationHistory(Aws::Vector&& value) { m_selfServiceConversationHistoryHasBeenSet = true; m_selfServiceConversationHistory = std::move(value); } + inline ConversationContext& WithSelfServiceConversationHistory(const Aws::Vector& value) { SetSelfServiceConversationHistory(value); return *this;} + inline ConversationContext& WithSelfServiceConversationHistory(Aws::Vector&& value) { SetSelfServiceConversationHistory(std::move(value)); return *this;} + inline ConversationContext& AddSelfServiceConversationHistory(const SelfServiceConversationHistory& value) { m_selfServiceConversationHistoryHasBeenSet = true; m_selfServiceConversationHistory.push_back(value); return *this; } + inline ConversationContext& AddSelfServiceConversationHistory(SelfServiceConversationHistory&& value) { m_selfServiceConversationHistoryHasBeenSet = true; m_selfServiceConversationHistory.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_selfServiceConversationHistory; + bool m_selfServiceConversationHistoryHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationState.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationState.h new file mode 100644 index 00000000000..ec25d18f302 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationState.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The conversation state associated to a message.

          See Also:

          AWS + * API Reference

          + */ + class ConversationState + { + public: + AWS_QCONNECT_API ConversationState(); + AWS_QCONNECT_API ConversationState(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API ConversationState& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The reason of the conversation state.

          + */ + inline const ConversationStatusReason& GetReason() const{ return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(const ConversationStatusReason& value) { m_reasonHasBeenSet = true; m_reason = value; } + inline void SetReason(ConversationStatusReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + inline ConversationState& WithReason(const ConversationStatusReason& value) { SetReason(value); return *this;} + inline ConversationState& WithReason(ConversationStatusReason&& value) { SetReason(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The status of the conversation state.

          + */ + inline const ConversationStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ConversationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ConversationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ConversationState& WithStatus(const ConversationStatus& value) { SetStatus(value); return *this;} + inline ConversationState& WithStatus(ConversationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + ConversationStatusReason m_reason; + bool m_reasonHasBeenSet = false; + + ConversationStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationStatus.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationStatus.h new file mode 100644 index 00000000000..0e5dd55b67d --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationStatus.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + enum class ConversationStatus + { + NOT_SET, + CLOSED, + READY, + PROCESSING + }; + +namespace ConversationStatusMapper +{ +AWS_QCONNECT_API ConversationStatus GetConversationStatusForName(const Aws::String& name); + +AWS_QCONNECT_API Aws::String GetNameForConversationStatus(ConversationStatus value); +} // namespace ConversationStatusMapper +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationStatusReason.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationStatusReason.h new file mode 100644 index 00000000000..08b20fb3e3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ConversationStatusReason.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + enum class ConversationStatusReason + { + NOT_SET, + SUCCESS, + FAILED, + REJECTED + }; + +namespace ConversationStatusReasonMapper +{ +AWS_QCONNECT_API ConversationStatusReason GetConversationStatusReasonForName(const Aws::String& name); + +AWS_QCONNECT_API Aws::String GetNameForConversationStatusReason(ConversationStatusReason value); +} // namespace ConversationStatusReasonMapper +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailRequest.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailRequest.h new file mode 100644 index 00000000000..b3a0a5b6525 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailRequest.h @@ -0,0 +1,267 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + + /** + */ + class CreateAIGuardrailRequest : public QConnectRequest + { + public: + AWS_QCONNECT_API CreateAIGuardrailRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateAIGuardrail"; } + + AWS_QCONNECT_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant. Can be either the ID or + * the ARN. URLs cannot contain the ARN.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline CreateAIGuardrailRequest& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline CreateAIGuardrailRequest& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline CreateAIGuardrailRequest& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + + ///@{ + /** + *

          The message to return when the AI Guardrail blocks a prompt.

          + */ + inline const Aws::String& GetBlockedInputMessaging() const{ return m_blockedInputMessaging; } + inline bool BlockedInputMessagingHasBeenSet() const { return m_blockedInputMessagingHasBeenSet; } + inline void SetBlockedInputMessaging(const Aws::String& value) { m_blockedInputMessagingHasBeenSet = true; m_blockedInputMessaging = value; } + inline void SetBlockedInputMessaging(Aws::String&& value) { m_blockedInputMessagingHasBeenSet = true; m_blockedInputMessaging = std::move(value); } + inline void SetBlockedInputMessaging(const char* value) { m_blockedInputMessagingHasBeenSet = true; m_blockedInputMessaging.assign(value); } + inline CreateAIGuardrailRequest& WithBlockedInputMessaging(const Aws::String& value) { SetBlockedInputMessaging(value); return *this;} + inline CreateAIGuardrailRequest& WithBlockedInputMessaging(Aws::String&& value) { SetBlockedInputMessaging(std::move(value)); return *this;} + inline CreateAIGuardrailRequest& WithBlockedInputMessaging(const char* value) { SetBlockedInputMessaging(value); return *this;} + ///@} + + ///@{ + /** + *

          The message to return when the AI Guardrail blocks a model response.

          + */ + inline const Aws::String& GetBlockedOutputsMessaging() const{ return m_blockedOutputsMessaging; } + inline bool BlockedOutputsMessagingHasBeenSet() const { return m_blockedOutputsMessagingHasBeenSet; } + inline void SetBlockedOutputsMessaging(const Aws::String& value) { m_blockedOutputsMessagingHasBeenSet = true; m_blockedOutputsMessaging = value; } + inline void SetBlockedOutputsMessaging(Aws::String&& value) { m_blockedOutputsMessagingHasBeenSet = true; m_blockedOutputsMessaging = std::move(value); } + inline void SetBlockedOutputsMessaging(const char* value) { m_blockedOutputsMessagingHasBeenSet = true; m_blockedOutputsMessaging.assign(value); } + inline CreateAIGuardrailRequest& WithBlockedOutputsMessaging(const Aws::String& value) { SetBlockedOutputsMessaging(value); return *this;} + inline CreateAIGuardrailRequest& WithBlockedOutputsMessaging(Aws::String&& value) { SetBlockedOutputsMessaging(std::move(value)); return *this;} + inline CreateAIGuardrailRequest& WithBlockedOutputsMessaging(const char* value) { SetBlockedOutputsMessaging(value); return *this;} + ///@} + + ///@{ + /** + *

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

          + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateAIGuardrailRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateAIGuardrailRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateAIGuardrailRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

          The content filter policies to configure for the AI Guardrail.

          + */ + inline const AIGuardrailContentPolicyConfig& GetContentPolicyConfig() const{ return m_contentPolicyConfig; } + inline bool ContentPolicyConfigHasBeenSet() const { return m_contentPolicyConfigHasBeenSet; } + inline void SetContentPolicyConfig(const AIGuardrailContentPolicyConfig& value) { m_contentPolicyConfigHasBeenSet = true; m_contentPolicyConfig = value; } + inline void SetContentPolicyConfig(AIGuardrailContentPolicyConfig&& value) { m_contentPolicyConfigHasBeenSet = true; m_contentPolicyConfig = std::move(value); } + inline CreateAIGuardrailRequest& WithContentPolicyConfig(const AIGuardrailContentPolicyConfig& value) { SetContentPolicyConfig(value); return *this;} + inline CreateAIGuardrailRequest& WithContentPolicyConfig(AIGuardrailContentPolicyConfig&& value) { SetContentPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The contextual grounding policy configuration used to create an AI + * Guardrail.

          + */ + inline const AIGuardrailContextualGroundingPolicyConfig& GetContextualGroundingPolicyConfig() const{ return m_contextualGroundingPolicyConfig; } + inline bool ContextualGroundingPolicyConfigHasBeenSet() const { return m_contextualGroundingPolicyConfigHasBeenSet; } + inline void SetContextualGroundingPolicyConfig(const AIGuardrailContextualGroundingPolicyConfig& value) { m_contextualGroundingPolicyConfigHasBeenSet = true; m_contextualGroundingPolicyConfig = value; } + inline void SetContextualGroundingPolicyConfig(AIGuardrailContextualGroundingPolicyConfig&& value) { m_contextualGroundingPolicyConfigHasBeenSet = true; m_contextualGroundingPolicyConfig = std::move(value); } + inline CreateAIGuardrailRequest& WithContextualGroundingPolicyConfig(const AIGuardrailContextualGroundingPolicyConfig& value) { SetContextualGroundingPolicyConfig(value); return *this;} + inline CreateAIGuardrailRequest& WithContextualGroundingPolicyConfig(AIGuardrailContextualGroundingPolicyConfig&& value) { SetContextualGroundingPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          A description of the AI Guardrail.

          + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline CreateAIGuardrailRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline CreateAIGuardrailRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline CreateAIGuardrailRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

          The name of the AI Guardrail.

          + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline CreateAIGuardrailRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateAIGuardrailRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateAIGuardrailRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

          The sensitive information policy to configure for the AI Guardrail.

          + */ + inline const AIGuardrailSensitiveInformationPolicyConfig& GetSensitiveInformationPolicyConfig() const{ return m_sensitiveInformationPolicyConfig; } + inline bool SensitiveInformationPolicyConfigHasBeenSet() const { return m_sensitiveInformationPolicyConfigHasBeenSet; } + inline void SetSensitiveInformationPolicyConfig(const AIGuardrailSensitiveInformationPolicyConfig& value) { m_sensitiveInformationPolicyConfigHasBeenSet = true; m_sensitiveInformationPolicyConfig = value; } + inline void SetSensitiveInformationPolicyConfig(AIGuardrailSensitiveInformationPolicyConfig&& value) { m_sensitiveInformationPolicyConfigHasBeenSet = true; m_sensitiveInformationPolicyConfig = std::move(value); } + inline CreateAIGuardrailRequest& WithSensitiveInformationPolicyConfig(const AIGuardrailSensitiveInformationPolicyConfig& value) { SetSensitiveInformationPolicyConfig(value); return *this;} + inline CreateAIGuardrailRequest& WithSensitiveInformationPolicyConfig(AIGuardrailSensitiveInformationPolicyConfig&& value) { SetSensitiveInformationPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The tags used to organize, track, or control access for this resource.

          + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateAIGuardrailRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateAIGuardrailRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateAIGuardrailRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateAIGuardrailRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateAIGuardrailRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateAIGuardrailRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateAIGuardrailRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateAIGuardrailRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateAIGuardrailRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

          The topic policies to configure for the AI Guardrail.

          + */ + inline const AIGuardrailTopicPolicyConfig& GetTopicPolicyConfig() const{ return m_topicPolicyConfig; } + inline bool TopicPolicyConfigHasBeenSet() const { return m_topicPolicyConfigHasBeenSet; } + inline void SetTopicPolicyConfig(const AIGuardrailTopicPolicyConfig& value) { m_topicPolicyConfigHasBeenSet = true; m_topicPolicyConfig = value; } + inline void SetTopicPolicyConfig(AIGuardrailTopicPolicyConfig&& value) { m_topicPolicyConfigHasBeenSet = true; m_topicPolicyConfig = std::move(value); } + inline CreateAIGuardrailRequest& WithTopicPolicyConfig(const AIGuardrailTopicPolicyConfig& value) { SetTopicPolicyConfig(value); return *this;} + inline CreateAIGuardrailRequest& WithTopicPolicyConfig(AIGuardrailTopicPolicyConfig&& value) { SetTopicPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The visibility status of the AI Guardrail.

          + */ + inline const VisibilityStatus& GetVisibilityStatus() const{ return m_visibilityStatus; } + inline bool VisibilityStatusHasBeenSet() const { return m_visibilityStatusHasBeenSet; } + inline void SetVisibilityStatus(const VisibilityStatus& value) { m_visibilityStatusHasBeenSet = true; m_visibilityStatus = value; } + inline void SetVisibilityStatus(VisibilityStatus&& value) { m_visibilityStatusHasBeenSet = true; m_visibilityStatus = std::move(value); } + inline CreateAIGuardrailRequest& WithVisibilityStatus(const VisibilityStatus& value) { SetVisibilityStatus(value); return *this;} + inline CreateAIGuardrailRequest& WithVisibilityStatus(VisibilityStatus&& value) { SetVisibilityStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The word policy you configure for the AI Guardrail.

          + */ + inline const AIGuardrailWordPolicyConfig& GetWordPolicyConfig() const{ return m_wordPolicyConfig; } + inline bool WordPolicyConfigHasBeenSet() const { return m_wordPolicyConfigHasBeenSet; } + inline void SetWordPolicyConfig(const AIGuardrailWordPolicyConfig& value) { m_wordPolicyConfigHasBeenSet = true; m_wordPolicyConfig = value; } + inline void SetWordPolicyConfig(AIGuardrailWordPolicyConfig&& value) { m_wordPolicyConfigHasBeenSet = true; m_wordPolicyConfig = std::move(value); } + inline CreateAIGuardrailRequest& WithWordPolicyConfig(const AIGuardrailWordPolicyConfig& value) { SetWordPolicyConfig(value); return *this;} + inline CreateAIGuardrailRequest& WithWordPolicyConfig(AIGuardrailWordPolicyConfig&& value) { SetWordPolicyConfig(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + + Aws::String m_blockedInputMessaging; + bool m_blockedInputMessagingHasBeenSet = false; + + Aws::String m_blockedOutputsMessaging; + bool m_blockedOutputsMessagingHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + AIGuardrailContentPolicyConfig m_contentPolicyConfig; + bool m_contentPolicyConfigHasBeenSet = false; + + AIGuardrailContextualGroundingPolicyConfig m_contextualGroundingPolicyConfig; + bool m_contextualGroundingPolicyConfigHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + AIGuardrailSensitiveInformationPolicyConfig m_sensitiveInformationPolicyConfig; + bool m_sensitiveInformationPolicyConfigHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + AIGuardrailTopicPolicyConfig m_topicPolicyConfig; + bool m_topicPolicyConfigHasBeenSet = false; + + VisibilityStatus m_visibilityStatus; + bool m_visibilityStatusHasBeenSet = false; + + AIGuardrailWordPolicyConfig m_wordPolicyConfig; + bool m_wordPolicyConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailResult.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailResult.h new file mode 100644 index 00000000000..f4d5857e8dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + class CreateAIGuardrailResult + { + public: + AWS_QCONNECT_API CreateAIGuardrailResult(); + AWS_QCONNECT_API CreateAIGuardrailResult(const Aws::AmazonWebServiceResult& result); + AWS_QCONNECT_API CreateAIGuardrailResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The data of the AI Guardrail.

          + */ + inline const AIGuardrailData& GetAiGuardrail() const{ return m_aiGuardrail; } + inline void SetAiGuardrail(const AIGuardrailData& value) { m_aiGuardrail = value; } + inline void SetAiGuardrail(AIGuardrailData&& value) { m_aiGuardrail = std::move(value); } + inline CreateAIGuardrailResult& WithAiGuardrail(const AIGuardrailData& value) { SetAiGuardrail(value); return *this;} + inline CreateAIGuardrailResult& WithAiGuardrail(AIGuardrailData&& value) { SetAiGuardrail(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateAIGuardrailResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateAIGuardrailResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateAIGuardrailResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + AIGuardrailData m_aiGuardrail; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailVersionRequest.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailVersionRequest.h new file mode 100644 index 00000000000..7b57c890c26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailVersionRequest.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + + /** + */ + class CreateAIGuardrailVersionRequest : public QConnectRequest + { + public: + AWS_QCONNECT_API CreateAIGuardrailVersionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateAIGuardrailVersion"; } + + AWS_QCONNECT_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect AI Guardrail.

          + */ + inline const Aws::String& GetAiGuardrailId() const{ return m_aiGuardrailId; } + inline bool AiGuardrailIdHasBeenSet() const { return m_aiGuardrailIdHasBeenSet; } + inline void SetAiGuardrailId(const Aws::String& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = value; } + inline void SetAiGuardrailId(Aws::String&& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = std::move(value); } + inline void SetAiGuardrailId(const char* value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId.assign(value); } + inline CreateAIGuardrailVersionRequest& WithAiGuardrailId(const Aws::String& value) { SetAiGuardrailId(value); return *this;} + inline CreateAIGuardrailVersionRequest& WithAiGuardrailId(Aws::String&& value) { SetAiGuardrailId(std::move(value)); return *this;} + inline CreateAIGuardrailVersionRequest& WithAiGuardrailId(const char* value) { SetAiGuardrailId(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant. Can be either the ID or + * the ARN. URLs cannot contain the ARN.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline CreateAIGuardrailVersionRequest& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline CreateAIGuardrailVersionRequest& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline CreateAIGuardrailVersionRequest& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + + ///@{ + /** + *

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

          + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateAIGuardrailVersionRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateAIGuardrailVersionRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateAIGuardrailVersionRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

          The time the AI Guardrail was last modified.

          + */ + inline const Aws::Utils::DateTime& GetModifiedTime() const{ return m_modifiedTime; } + inline bool ModifiedTimeHasBeenSet() const { return m_modifiedTimeHasBeenSet; } + inline void SetModifiedTime(const Aws::Utils::DateTime& value) { m_modifiedTimeHasBeenSet = true; m_modifiedTime = value; } + inline void SetModifiedTime(Aws::Utils::DateTime&& value) { m_modifiedTimeHasBeenSet = true; m_modifiedTime = std::move(value); } + inline CreateAIGuardrailVersionRequest& WithModifiedTime(const Aws::Utils::DateTime& value) { SetModifiedTime(value); return *this;} + inline CreateAIGuardrailVersionRequest& WithModifiedTime(Aws::Utils::DateTime&& value) { SetModifiedTime(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_aiGuardrailId; + bool m_aiGuardrailIdHasBeenSet = false; + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::Utils::DateTime m_modifiedTime; + bool m_modifiedTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailVersionResult.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailVersionResult.h new file mode 100644 index 00000000000..80bc3c68630 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/CreateAIGuardrailVersionResult.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + class CreateAIGuardrailVersionResult + { + public: + AWS_QCONNECT_API CreateAIGuardrailVersionResult(); + AWS_QCONNECT_API CreateAIGuardrailVersionResult(const Aws::AmazonWebServiceResult& result); + AWS_QCONNECT_API CreateAIGuardrailVersionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The data of the AI Guardrail version.

          + */ + inline const AIGuardrailData& GetAiGuardrail() const{ return m_aiGuardrail; } + inline void SetAiGuardrail(const AIGuardrailData& value) { m_aiGuardrail = value; } + inline void SetAiGuardrail(AIGuardrailData&& value) { m_aiGuardrail = std::move(value); } + inline CreateAIGuardrailVersionResult& WithAiGuardrail(const AIGuardrailData& value) { SetAiGuardrail(value); return *this;} + inline CreateAIGuardrailVersionResult& WithAiGuardrail(AIGuardrailData&& value) { SetAiGuardrail(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The version number of the AI Guardrail version.

          + */ + inline long long GetVersionNumber() const{ return m_versionNumber; } + inline void SetVersionNumber(long long value) { m_versionNumber = value; } + inline CreateAIGuardrailVersionResult& WithVersionNumber(long long value) { SetVersionNumber(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateAIGuardrailVersionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateAIGuardrailVersionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateAIGuardrailVersionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + AIGuardrailData m_aiGuardrail; + + long long m_versionNumber; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailRequest.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailRequest.h new file mode 100644 index 00000000000..337ccef1d81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + + /** + */ + class DeleteAIGuardrailRequest : public QConnectRequest + { + public: + AWS_QCONNECT_API DeleteAIGuardrailRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteAIGuardrail"; } + + AWS_QCONNECT_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect AI Guardrail. Can be either the ID + * or the ARN. URLs cannot contain the ARN.

          + */ + inline const Aws::String& GetAiGuardrailId() const{ return m_aiGuardrailId; } + inline bool AiGuardrailIdHasBeenSet() const { return m_aiGuardrailIdHasBeenSet; } + inline void SetAiGuardrailId(const Aws::String& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = value; } + inline void SetAiGuardrailId(Aws::String&& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = std::move(value); } + inline void SetAiGuardrailId(const char* value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId.assign(value); } + inline DeleteAIGuardrailRequest& WithAiGuardrailId(const Aws::String& value) { SetAiGuardrailId(value); return *this;} + inline DeleteAIGuardrailRequest& WithAiGuardrailId(Aws::String&& value) { SetAiGuardrailId(std::move(value)); return *this;} + inline DeleteAIGuardrailRequest& WithAiGuardrailId(const char* value) { SetAiGuardrailId(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant. Can be either the ID or + * the ARN. URLs cannot contain the ARN.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline DeleteAIGuardrailRequest& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline DeleteAIGuardrailRequest& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline DeleteAIGuardrailRequest& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + private: + + Aws::String m_aiGuardrailId; + bool m_aiGuardrailIdHasBeenSet = false; + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailResult.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailResult.h new file mode 100644 index 00000000000..ef8077c8467 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + class DeleteAIGuardrailResult + { + public: + AWS_QCONNECT_API DeleteAIGuardrailResult(); + AWS_QCONNECT_API DeleteAIGuardrailResult(const Aws::AmazonWebServiceResult& result); + AWS_QCONNECT_API DeleteAIGuardrailResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteAIGuardrailResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteAIGuardrailResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteAIGuardrailResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailVersionRequest.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailVersionRequest.h new file mode 100644 index 00000000000..48e55a3e087 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailVersionRequest.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + + /** + */ + class DeleteAIGuardrailVersionRequest : public QConnectRequest + { + public: + AWS_QCONNECT_API DeleteAIGuardrailVersionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteAIGuardrailVersion"; } + + AWS_QCONNECT_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect AI Guardrail.

          + */ + inline const Aws::String& GetAiGuardrailId() const{ return m_aiGuardrailId; } + inline bool AiGuardrailIdHasBeenSet() const { return m_aiGuardrailIdHasBeenSet; } + inline void SetAiGuardrailId(const Aws::String& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = value; } + inline void SetAiGuardrailId(Aws::String&& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = std::move(value); } + inline void SetAiGuardrailId(const char* value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId.assign(value); } + inline DeleteAIGuardrailVersionRequest& WithAiGuardrailId(const Aws::String& value) { SetAiGuardrailId(value); return *this;} + inline DeleteAIGuardrailVersionRequest& WithAiGuardrailId(Aws::String&& value) { SetAiGuardrailId(std::move(value)); return *this;} + inline DeleteAIGuardrailVersionRequest& WithAiGuardrailId(const char* value) { SetAiGuardrailId(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant. Can be either the ID or + * the ARN. URLs cannot contain the ARN.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline DeleteAIGuardrailVersionRequest& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline DeleteAIGuardrailVersionRequest& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline DeleteAIGuardrailVersionRequest& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + + ///@{ + /** + *

          The version number of the AI Guardrail version to be deleted.

          + */ + inline long long GetVersionNumber() const{ return m_versionNumber; } + inline bool VersionNumberHasBeenSet() const { return m_versionNumberHasBeenSet; } + inline void SetVersionNumber(long long value) { m_versionNumberHasBeenSet = true; m_versionNumber = value; } + inline DeleteAIGuardrailVersionRequest& WithVersionNumber(long long value) { SetVersionNumber(value); return *this;} + ///@} + private: + + Aws::String m_aiGuardrailId; + bool m_aiGuardrailIdHasBeenSet = false; + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + + long long m_versionNumber; + bool m_versionNumberHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailVersionResult.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailVersionResult.h new file mode 100644 index 00000000000..1db7a853134 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/DeleteAIGuardrailVersionResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + class DeleteAIGuardrailVersionResult + { + public: + AWS_QCONNECT_API DeleteAIGuardrailVersionResult(); + AWS_QCONNECT_API DeleteAIGuardrailVersionResult(const Aws::AmazonWebServiceResult& result); + AWS_QCONNECT_API DeleteAIGuardrailVersionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteAIGuardrailVersionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteAIGuardrailVersionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteAIGuardrailVersionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetAIGuardrailRequest.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetAIGuardrailRequest.h new file mode 100644 index 00000000000..aef34ee3ad7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetAIGuardrailRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + + /** + */ + class GetAIGuardrailRequest : public QConnectRequest + { + public: + AWS_QCONNECT_API GetAIGuardrailRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetAIGuardrail"; } + + AWS_QCONNECT_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect AI Guardrail.

          + */ + inline const Aws::String& GetAiGuardrailId() const{ return m_aiGuardrailId; } + inline bool AiGuardrailIdHasBeenSet() const { return m_aiGuardrailIdHasBeenSet; } + inline void SetAiGuardrailId(const Aws::String& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = value; } + inline void SetAiGuardrailId(Aws::String&& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = std::move(value); } + inline void SetAiGuardrailId(const char* value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId.assign(value); } + inline GetAIGuardrailRequest& WithAiGuardrailId(const Aws::String& value) { SetAiGuardrailId(value); return *this;} + inline GetAIGuardrailRequest& WithAiGuardrailId(Aws::String&& value) { SetAiGuardrailId(std::move(value)); return *this;} + inline GetAIGuardrailRequest& WithAiGuardrailId(const char* value) { SetAiGuardrailId(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant. Can be either the ID or + * the ARN. URLs cannot contain the ARN.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline GetAIGuardrailRequest& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline GetAIGuardrailRequest& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline GetAIGuardrailRequest& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + private: + + Aws::String m_aiGuardrailId; + bool m_aiGuardrailIdHasBeenSet = false; + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetAIGuardrailResult.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetAIGuardrailResult.h new file mode 100644 index 00000000000..64aad363b20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetAIGuardrailResult.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + class GetAIGuardrailResult + { + public: + AWS_QCONNECT_API GetAIGuardrailResult(); + AWS_QCONNECT_API GetAIGuardrailResult(const Aws::AmazonWebServiceResult& result); + AWS_QCONNECT_API GetAIGuardrailResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The data of the AI Guardrail.

          + */ + inline const AIGuardrailData& GetAiGuardrail() const{ return m_aiGuardrail; } + inline void SetAiGuardrail(const AIGuardrailData& value) { m_aiGuardrail = value; } + inline void SetAiGuardrail(AIGuardrailData&& value) { m_aiGuardrail = std::move(value); } + inline GetAIGuardrailResult& WithAiGuardrail(const AIGuardrailData& value) { SetAiGuardrail(value); return *this;} + inline GetAIGuardrailResult& WithAiGuardrail(AIGuardrailData&& value) { SetAiGuardrail(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The version number of the AI Guardrail version (returned if an AI Guardrail + * version was specified via use of a qualifier for the aiGuardrailId + * on the request).

          + */ + inline long long GetVersionNumber() const{ return m_versionNumber; } + inline void SetVersionNumber(long long value) { m_versionNumber = value; } + inline GetAIGuardrailResult& WithVersionNumber(long long value) { SetVersionNumber(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetAIGuardrailResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetAIGuardrailResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetAIGuardrailResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + AIGuardrailData m_aiGuardrail; + + long long m_versionNumber; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetNextMessageRequest.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetNextMessageRequest.h new file mode 100644 index 00000000000..9ddddfec995 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetNextMessageRequest.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace QConnect +{ +namespace Model +{ + + /** + */ + class GetNextMessageRequest : public QConnectRequest + { + public: + AWS_QCONNECT_API GetNextMessageRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetNextMessage"; } + + AWS_QCONNECT_API Aws::String SerializePayload() const override; + + AWS_QCONNECT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline GetNextMessageRequest& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline GetNextMessageRequest& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline GetNextMessageRequest& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + + ///@{ + /** + *

          The token for the next message. Use the value returned in the SendMessage or + * previous response in the next request to retrieve the next message.

          + */ + inline const Aws::String& GetNextMessageToken() const{ return m_nextMessageToken; } + inline bool NextMessageTokenHasBeenSet() const { return m_nextMessageTokenHasBeenSet; } + inline void SetNextMessageToken(const Aws::String& value) { m_nextMessageTokenHasBeenSet = true; m_nextMessageToken = value; } + inline void SetNextMessageToken(Aws::String&& value) { m_nextMessageTokenHasBeenSet = true; m_nextMessageToken = std::move(value); } + inline void SetNextMessageToken(const char* value) { m_nextMessageTokenHasBeenSet = true; m_nextMessageToken.assign(value); } + inline GetNextMessageRequest& WithNextMessageToken(const Aws::String& value) { SetNextMessageToken(value); return *this;} + inline GetNextMessageRequest& WithNextMessageToken(Aws::String&& value) { SetNextMessageToken(std::move(value)); return *this;} + inline GetNextMessageRequest& WithNextMessageToken(const char* value) { SetNextMessageToken(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect session.

          + */ + inline const Aws::String& GetSessionId() const{ return m_sessionId; } + inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } + inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } + inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } + inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } + inline GetNextMessageRequest& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} + inline GetNextMessageRequest& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} + inline GetNextMessageRequest& WithSessionId(const char* value) { SetSessionId(value); return *this;} + ///@} + private: + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + + Aws::String m_nextMessageToken; + bool m_nextMessageTokenHasBeenSet = false; + + Aws::String m_sessionId; + bool m_sessionIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetNextMessageResult.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetNextMessageResult.h new file mode 100644 index 00000000000..d67d3153879 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GetNextMessageResult.h @@ -0,0 +1,141 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + class GetNextMessageResult + { + public: + AWS_QCONNECT_API GetNextMessageResult(); + AWS_QCONNECT_API GetNextMessageResult(const Aws::AmazonWebServiceResult& result); + AWS_QCONNECT_API GetNextMessageResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The conversation data stored on an Amazon Q in Connect Session.

          + */ + inline const Aws::Vector& GetConversationSessionData() const{ return m_conversationSessionData; } + inline void SetConversationSessionData(const Aws::Vector& value) { m_conversationSessionData = value; } + inline void SetConversationSessionData(Aws::Vector&& value) { m_conversationSessionData = std::move(value); } + inline GetNextMessageResult& WithConversationSessionData(const Aws::Vector& value) { SetConversationSessionData(value); return *this;} + inline GetNextMessageResult& WithConversationSessionData(Aws::Vector&& value) { SetConversationSessionData(std::move(value)); return *this;} + inline GetNextMessageResult& AddConversationSessionData(const RuntimeSessionData& value) { m_conversationSessionData.push_back(value); return *this; } + inline GetNextMessageResult& AddConversationSessionData(RuntimeSessionData&& value) { m_conversationSessionData.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          The state of current conversation.

          + */ + inline const ConversationState& GetConversationState() const{ return m_conversationState; } + inline void SetConversationState(const ConversationState& value) { m_conversationState = value; } + inline void SetConversationState(ConversationState&& value) { m_conversationState = std::move(value); } + inline GetNextMessageResult& WithConversationState(const ConversationState& value) { SetConversationState(value); return *this;} + inline GetNextMessageResult& WithConversationState(ConversationState&& value) { SetConversationState(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The token for the next message.

          + */ + inline const Aws::String& GetNextMessageToken() const{ return m_nextMessageToken; } + inline void SetNextMessageToken(const Aws::String& value) { m_nextMessageToken = value; } + inline void SetNextMessageToken(Aws::String&& value) { m_nextMessageToken = std::move(value); } + inline void SetNextMessageToken(const char* value) { m_nextMessageToken.assign(value); } + inline GetNextMessageResult& WithNextMessageToken(const Aws::String& value) { SetNextMessageToken(value); return *this;} + inline GetNextMessageResult& WithNextMessageToken(Aws::String&& value) { SetNextMessageToken(std::move(value)); return *this;} + inline GetNextMessageResult& WithNextMessageToken(const char* value) { SetNextMessageToken(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the submitted message.

          + */ + inline const Aws::String& GetRequestMessageId() const{ return m_requestMessageId; } + inline void SetRequestMessageId(const Aws::String& value) { m_requestMessageId = value; } + inline void SetRequestMessageId(Aws::String&& value) { m_requestMessageId = std::move(value); } + inline void SetRequestMessageId(const char* value) { m_requestMessageId.assign(value); } + inline GetNextMessageResult& WithRequestMessageId(const Aws::String& value) { SetRequestMessageId(value); return *this;} + inline GetNextMessageResult& WithRequestMessageId(Aws::String&& value) { SetRequestMessageId(std::move(value)); return *this;} + inline GetNextMessageResult& WithRequestMessageId(const char* value) { SetRequestMessageId(value); return *this;} + ///@} + + ///@{ + /** + *

          The message response to the requested message.

          + */ + inline const MessageOutput& GetResponse() const{ return m_response; } + inline void SetResponse(const MessageOutput& value) { m_response = value; } + inline void SetResponse(MessageOutput&& value) { m_response = std::move(value); } + inline GetNextMessageResult& WithResponse(const MessageOutput& value) { SetResponse(value); return *this;} + inline GetNextMessageResult& WithResponse(MessageOutput&& value) { SetResponse(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The type of message response.

          + */ + inline const MessageType& GetType() const{ return m_type; } + inline void SetType(const MessageType& value) { m_type = value; } + inline void SetType(MessageType&& value) { m_type = std::move(value); } + inline GetNextMessageResult& WithType(const MessageType& value) { SetType(value); return *this;} + inline GetNextMessageResult& WithType(MessageType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetNextMessageResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetNextMessageResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetNextMessageResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_conversationSessionData; + + ConversationState m_conversationState; + + Aws::String m_nextMessageToken; + + Aws::String m_requestMessageId; + + MessageOutput m_response; + + MessageType m_type; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContentFilterConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContentFilterConfig.h new file mode 100644 index 00000000000..a40f2bbd4f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContentFilterConfig.h @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          Contains filter strengths for harmful content. AI Guardrail's support the + * following content filters to detect and filter harmful user inputs and + * FM-generated outputs.

          • Hate: Describes input prompts and + * model responses that discriminate, criticize, insult, denounce, or dehumanize a + * person or group on the basis of an identity (such as race, ethnicity, gender, + * religion, sexual orientation, ability, and national origin).

          • + * Insults: Describes input prompts and model responses that includes + * demeaning, humiliating, mocking, insulting, or belittling language. This type of + * language is also labeled as bullying.

          • Sexual: + * Describes input prompts and model responses that indicates sexual interest, + * activity, or arousal using direct or indirect references to body parts, physical + * traits, or sex.

          • Violence: Describes input prompts and + * model responses that includes glorification of, or threats to inflict physical + * pain, hurt, or injury toward a person, group, or thing.

          + *

          Content filtering depends on the confidence classification of user inputs and + * FM responses across each of the four harmful categories. All input and output + * statements are classified into one of four confidence levels (NONE, LOW, MEDIUM, + * HIGH) for each harmful category. For example, if a statement is classified as + * Hate with HIGH confidence, the likelihood of the statement representing + * hateful content is high. A single statement can be classified across multiple + * categories with varying confidence levels. For example, a single statement can + * be classified as Hate with HIGH confidence, Insults with LOW + * confidence, Sexual with NONE confidence, and Violence with MEDIUM + * confidence.

          See Also:

          AWS + * API Reference

          + */ + class GuardrailContentFilterConfig + { + public: + AWS_QCONNECT_API GuardrailContentFilterConfig(); + AWS_QCONNECT_API GuardrailContentFilterConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API GuardrailContentFilterConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The strength of the content filter to apply to prompts. As you increase the + * filter strength, the likelihood of filtering harmful content increases and the + * probability of seeing harmful content in your application reduces.

          + */ + inline const GuardrailFilterStrength& GetInputStrength() const{ return m_inputStrength; } + inline bool InputStrengthHasBeenSet() const { return m_inputStrengthHasBeenSet; } + inline void SetInputStrength(const GuardrailFilterStrength& value) { m_inputStrengthHasBeenSet = true; m_inputStrength = value; } + inline void SetInputStrength(GuardrailFilterStrength&& value) { m_inputStrengthHasBeenSet = true; m_inputStrength = std::move(value); } + inline GuardrailContentFilterConfig& WithInputStrength(const GuardrailFilterStrength& value) { SetInputStrength(value); return *this;} + inline GuardrailContentFilterConfig& WithInputStrength(GuardrailFilterStrength&& value) { SetInputStrength(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The strength of the content filter to apply to model responses. As you + * increase the filter strength, the likelihood of filtering harmful content + * increases and the probability of seeing harmful content in your application + * reduces.

          + */ + inline const GuardrailFilterStrength& GetOutputStrength() const{ return m_outputStrength; } + inline bool OutputStrengthHasBeenSet() const { return m_outputStrengthHasBeenSet; } + inline void SetOutputStrength(const GuardrailFilterStrength& value) { m_outputStrengthHasBeenSet = true; m_outputStrength = value; } + inline void SetOutputStrength(GuardrailFilterStrength&& value) { m_outputStrengthHasBeenSet = true; m_outputStrength = std::move(value); } + inline GuardrailContentFilterConfig& WithOutputStrength(const GuardrailFilterStrength& value) { SetOutputStrength(value); return *this;} + inline GuardrailContentFilterConfig& WithOutputStrength(GuardrailFilterStrength&& value) { SetOutputStrength(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The harmful category that the content filter is applied to.

          + */ + inline const GuardrailContentFilterType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const GuardrailContentFilterType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(GuardrailContentFilterType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline GuardrailContentFilterConfig& WithType(const GuardrailContentFilterType& value) { SetType(value); return *this;} + inline GuardrailContentFilterConfig& WithType(GuardrailContentFilterType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + GuardrailFilterStrength m_inputStrength; + bool m_inputStrengthHasBeenSet = false; + + GuardrailFilterStrength m_outputStrength; + bool m_outputStrengthHasBeenSet = false; + + GuardrailContentFilterType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContentFilterType.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContentFilterType.h new file mode 100644 index 00000000000..530f19e8739 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContentFilterType.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + enum class GuardrailContentFilterType + { + NOT_SET, + SEXUAL, + VIOLENCE, + HATE, + INSULTS, + MISCONDUCT, + PROMPT_ATTACK + }; + +namespace GuardrailContentFilterTypeMapper +{ +AWS_QCONNECT_API GuardrailContentFilterType GetGuardrailContentFilterTypeForName(const Aws::String& name); + +AWS_QCONNECT_API Aws::String GetNameForGuardrailContentFilterType(GuardrailContentFilterType value); +} // namespace GuardrailContentFilterTypeMapper +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContextualGroundingFilterConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContextualGroundingFilterConfig.h new file mode 100644 index 00000000000..fab788c9a35 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContextualGroundingFilterConfig.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The filter configuration details for the AI Guardrail's contextual grounding + * filter.

          See Also:

          AWS + * API Reference

          + */ + class GuardrailContextualGroundingFilterConfig + { + public: + AWS_QCONNECT_API GuardrailContextualGroundingFilterConfig(); + AWS_QCONNECT_API GuardrailContextualGroundingFilterConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API GuardrailContextualGroundingFilterConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The threshold details for the AI Guardrail's contextual grounding filter.

          + */ + inline double GetThreshold() const{ return m_threshold; } + inline bool ThresholdHasBeenSet() const { return m_thresholdHasBeenSet; } + inline void SetThreshold(double value) { m_thresholdHasBeenSet = true; m_threshold = value; } + inline GuardrailContextualGroundingFilterConfig& WithThreshold(double value) { SetThreshold(value); return *this;} + ///@} + + ///@{ + /** + *

          The filter type for the AI Guardrail's contextual grounding filter.

          + */ + inline const GuardrailContextualGroundingFilterType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const GuardrailContextualGroundingFilterType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(GuardrailContextualGroundingFilterType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline GuardrailContextualGroundingFilterConfig& WithType(const GuardrailContextualGroundingFilterType& value) { SetType(value); return *this;} + inline GuardrailContextualGroundingFilterConfig& WithType(GuardrailContextualGroundingFilterType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + double m_threshold; + bool m_thresholdHasBeenSet = false; + + GuardrailContextualGroundingFilterType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContextualGroundingFilterType.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContextualGroundingFilterType.h new file mode 100644 index 00000000000..cbf33afb505 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailContextualGroundingFilterType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + enum class GuardrailContextualGroundingFilterType + { + NOT_SET, + GROUNDING, + RELEVANCE + }; + +namespace GuardrailContextualGroundingFilterTypeMapper +{ +AWS_QCONNECT_API GuardrailContextualGroundingFilterType GetGuardrailContextualGroundingFilterTypeForName(const Aws::String& name); + +AWS_QCONNECT_API Aws::String GetNameForGuardrailContextualGroundingFilterType(GuardrailContextualGroundingFilterType value); +} // namespace GuardrailContextualGroundingFilterTypeMapper +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailFilterStrength.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailFilterStrength.h new file mode 100644 index 00000000000..f738be45609 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailFilterStrength.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + enum class GuardrailFilterStrength + { + NOT_SET, + NONE, + LOW, + MEDIUM, + HIGH + }; + +namespace GuardrailFilterStrengthMapper +{ +AWS_QCONNECT_API GuardrailFilterStrength GetGuardrailFilterStrengthForName(const Aws::String& name); + +AWS_QCONNECT_API Aws::String GetNameForGuardrailFilterStrength(GuardrailFilterStrength value); +} // namespace GuardrailFilterStrengthMapper +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailManagedWordsConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailManagedWordsConfig.h new file mode 100644 index 00000000000..a26ea42b543 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailManagedWordsConfig.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The managed word list to configure for the AI Guardrail.

          See + * Also:

          AWS + * API Reference

          + */ + class GuardrailManagedWordsConfig + { + public: + AWS_QCONNECT_API GuardrailManagedWordsConfig(); + AWS_QCONNECT_API GuardrailManagedWordsConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API GuardrailManagedWordsConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The managed word type to configure for the AI Guardrail.

          + */ + inline const GuardrailManagedWordsType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const GuardrailManagedWordsType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(GuardrailManagedWordsType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline GuardrailManagedWordsConfig& WithType(const GuardrailManagedWordsType& value) { SetType(value); return *this;} + inline GuardrailManagedWordsConfig& WithType(GuardrailManagedWordsType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + GuardrailManagedWordsType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailManagedWordsType.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailManagedWordsType.h new file mode 100644 index 00000000000..d8a710c2aa2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailManagedWordsType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + enum class GuardrailManagedWordsType + { + NOT_SET, + PROFANITY + }; + +namespace GuardrailManagedWordsTypeMapper +{ +AWS_QCONNECT_API GuardrailManagedWordsType GetGuardrailManagedWordsTypeForName(const Aws::String& name); + +AWS_QCONNECT_API Aws::String GetNameForGuardrailManagedWordsType(GuardrailManagedWordsType value); +} // namespace GuardrailManagedWordsTypeMapper +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailPiiEntityConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailPiiEntityConfig.h new file mode 100644 index 00000000000..5018d629667 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailPiiEntityConfig.h @@ -0,0 +1,178 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The PII entity to configure for the AI Guardrail.

          See Also:

          + * AWS + * API Reference

          + */ + class GuardrailPiiEntityConfig + { + public: + AWS_QCONNECT_API GuardrailPiiEntityConfig(); + AWS_QCONNECT_API GuardrailPiiEntityConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API GuardrailPiiEntityConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          Configure AI Guardrail's action when the PII entity is detected.

          + */ + inline const GuardrailSensitiveInformationAction& GetAction() const{ return m_action; } + inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } + inline void SetAction(const GuardrailSensitiveInformationAction& value) { m_actionHasBeenSet = true; m_action = value; } + inline void SetAction(GuardrailSensitiveInformationAction&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } + inline GuardrailPiiEntityConfig& WithAction(const GuardrailSensitiveInformationAction& value) { SetAction(value); return *this;} + inline GuardrailPiiEntityConfig& WithAction(GuardrailSensitiveInformationAction&& value) { SetAction(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          Configure AI Guardrail type when the PII entity is detected.

          The + * following PIIs are used to block or mask sensitive information:

          • + *

            General

            • ADDRESS

              A physical address, + * such as "100 Main Street, Anytown, USA" or "Suite #12, Building 123". An address + * can include information such as the street, building, location, city, state, + * country, county, zip code, precinct, and neighborhood.

            • + * AGE

              An individual's age, including the quantity and unit of time. + * For example, in the phrase "I am 40 years old," Guarrails recognizes "40 years" + * as an age.

            • NAME

              An individual's name. This + * entity type does not include titles, such as Dr., Mr., Mrs., or Miss. AI + * Guardrail doesn't apply this entity type to names that are part of organizations + * or addresses. For example, AI Guardrail recognizes the "John Doe Organization" + * as an organization, and it recognizes "Jane Doe Street" as an address.

              + *
            • EMAIL

              An email address, such as + * marymajor@email.com.

            • PHONE

              A phone + * number. This entity type also includes fax and pager numbers.

            • + *

              USERNAME

              A user name that identifies an account, such as a + * login name, screen name, nick name, or handle.

            • + * PASSWORD

              An alphanumeric string that is used as a password, such + * as "* very20special#pass*".

            • DRIVER_ID

              + *

              The number assigned to a driver's license, which is an official document + * permitting an individual to operate one or more motorized vehicles on a public + * road. A driver's license number consists of alphanumeric characters.

            • + *
            • LICENSE_PLATE

              A license plate for a vehicle is issued by + * the state or country where the vehicle is registered. The format for passenger + * vehicles is typically five to eight digits, consisting of upper-case letters and + * numbers. The format varies depending on the location of the issuing state or + * country.

            • VEHICLE_IDENTIFICATION_NUMBER

              A + * Vehicle Identification Number (VIN) uniquely identifies a vehicle. VIN content + * and format are defined in the ISO 3779 specification. Each country has + * specific codes and formats for VINs.

          • + * Finance

            • REDIT_DEBIT_CARD_CVV

              A + * three-digit card verification code (CVV) that is present on VISA, MasterCard, + * and Discover credit and debit cards. For American Express credit or debit cards, + * the CVV is a four-digit numeric code.

            • + * CREDIT_DEBIT_CARD_EXPIRY

              The expiration date for a credit or + * debit card. This number is usually four digits long and is often formatted as + * month/year or MM/YY. AI Guardrail recognizes expiration dates such + * as 01/21, 01/2021, and Jan 2021.

            • + * CREDIT_DEBIT_CARD_NUMBER

              The number for a credit or debit card. + * These numbers can vary from 13 to 16 digits in length. However, Amazon + * Comprehend also recognizes credit or debit card numbers when only the last four + * digits are present.

            • PIN

              A four-digit personal + * identification number (PIN) with which you can access your bank account.

              + *
            • INTERNATIONAL_BANK_ACCOUNT_NUMBER

              An International + * Bank Account Number has specific formats in each country. For more information, + * see www.iban.com/structure.

              + *
            • SWIFT_CODE

              A SWIFT code is a standard format of + * Bank Identifier Code (BIC) used to specify a particular bank or branch. Banks + * use these codes for money transfers such as international wire transfers.

              + *

              SWIFT codes consist of eight or 11 characters. The 11-digit codes refer to + * specific branches, while eight-digit codes (or 11-digit codes ending in 'XXX') + * refer to the head or primary office.

          • IT + *

            • IP_ADDRESS

              An IPv4 address, such as + * 198.51.100.0.

            • MAC_ADDRESS

              A media + * access control (MAC) address is a unique identifier assigned to a network + * interface controller (NIC).

            • URL

              A web + * address, such as www.example.com.

            • + * AWS_ACCESS_KEY

              A unique identifier that's associated with a + * secret access key; you use the access key ID and secret access key to sign + * programmatic Amazon Web Services requests cryptographically.

            • + * AWS_SECRET_KEY

              A unique identifier that's associated with an + * access key. You use the access key ID and secret access key to sign programmatic + * Amazon Web Services requests cryptographically.

          • + * USA specific

            • US_BANK_ACCOUNT_NUMBER

              A + * US bank account number, which is typically 10 to 12 digits long.

            • + *

              US_BANK_ROUTING_NUMBER

              A US bank account routing number. + * These are typically nine digits long,

            • + * US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER

              A US Individual Taxpayer + * Identification Number (ITIN) is a nine-digit number that starts with a "9" and + * contain a "7" or "8" as the fourth digit. An ITIN can be formatted with a space + * or a dash after the third and forth digits.

            • + * US_PASSPORT_NUMBER

              A US passport number. Passport numbers range + * from six to nine alphanumeric characters.

            • + * US_SOCIAL_SECURITY_NUMBER

              A US Social Security Number (SSN) is a + * nine-digit number that is issued to US citizens, permanent residents, and + * temporary working residents.

          • Canada + * specific

            • CA_HEALTH_NUMBER

              A Canadian + * Health Service Number is a 10-digit unique identifier, required for individuals + * to access healthcare benefits.

            • + * CA_SOCIAL_INSURANCE_NUMBER

              A Canadian Social Insurance Number + * (SIN) is a nine-digit unique identifier, required for individuals to access + * government programs and benefits.

              The SIN is formatted as three groups of + * three digits, such as 123-456-789. A SIN can be validated through a + * simple check-digit process called the Luhn algorithm .

              + *
          • UK Specific

            • + * UK_NATIONAL_HEALTH_SERVICE_NUMBER

              A UK National Health Service + * Number is a 10-17 digit number, such as 485 555 3456. The current system + * formats the 10-digit number with spaces after the third and sixth digits. The + * final digit is an error-detecting checksum.

            • + * UK_NATIONAL_INSURANCE_NUMBER

              A UK National Insurance Number + * (NINO) provides individuals with access to National Insurance (social security) + * benefits. It is also used for some purposes in the UK tax system.

              The + * number is nine digits long and starts with two letters, followed by six numbers + * and one letter. A NINO can be formatted with a space or a dash after the two + * letters and after the second, forth, and sixth digits.

            • + * UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER

              A UK Unique Taxpayer + * Reference (UTR) is a 10-digit number that identifies a taxpayer or a business. + *

          • Custom

            • Regex + * filter - You can use a regular expressions to define patterns for an AI + * Guardrail to recognize and act upon such as serial number, booking ID etc..

              + *
          + */ + inline const GuardrailPiiEntityType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const GuardrailPiiEntityType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(GuardrailPiiEntityType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline GuardrailPiiEntityConfig& WithType(const GuardrailPiiEntityType& value) { SetType(value); return *this;} + inline GuardrailPiiEntityConfig& WithType(GuardrailPiiEntityType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + GuardrailSensitiveInformationAction m_action; + bool m_actionHasBeenSet = false; + + GuardrailPiiEntityType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailPiiEntityType.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailPiiEntityType.h new file mode 100644 index 00000000000..feae2077341 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailPiiEntityType.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + enum class GuardrailPiiEntityType + { + NOT_SET, + ADDRESS, + AGE, + AWS_ACCESS_KEY, + AWS_SECRET_KEY, + CA_HEALTH_NUMBER, + CA_SOCIAL_INSURANCE_NUMBER, + CREDIT_DEBIT_CARD_CVV, + CREDIT_DEBIT_CARD_EXPIRY, + CREDIT_DEBIT_CARD_NUMBER, + DRIVER_ID, + EMAIL, + INTERNATIONAL_BANK_ACCOUNT_NUMBER, + IP_ADDRESS, + LICENSE_PLATE, + MAC_ADDRESS, + NAME, + PASSWORD, + PHONE, + PIN, + SWIFT_CODE, + UK_NATIONAL_HEALTH_SERVICE_NUMBER, + UK_NATIONAL_INSURANCE_NUMBER, + UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER, + URL, + USERNAME, + US_BANK_ACCOUNT_NUMBER, + US_BANK_ROUTING_NUMBER, + US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER, + US_PASSPORT_NUMBER, + US_SOCIAL_SECURITY_NUMBER, + VEHICLE_IDENTIFICATION_NUMBER + }; + +namespace GuardrailPiiEntityTypeMapper +{ +AWS_QCONNECT_API GuardrailPiiEntityType GetGuardrailPiiEntityTypeForName(const Aws::String& name); + +AWS_QCONNECT_API Aws::String GetNameForGuardrailPiiEntityType(GuardrailPiiEntityType value); +} // namespace GuardrailPiiEntityTypeMapper +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailRegexConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailRegexConfig.h new file mode 100644 index 00000000000..cd2336f3af2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailRegexConfig.h @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The regular expression to configure for the AI Guardrail.

          See + * Also:

          AWS + * API Reference

          + */ + class GuardrailRegexConfig + { + public: + AWS_QCONNECT_API GuardrailRegexConfig(); + AWS_QCONNECT_API GuardrailRegexConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API GuardrailRegexConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The AI Guardrail action to configure when matching regular expression is + * detected.

          + */ + inline const GuardrailSensitiveInformationAction& GetAction() const{ return m_action; } + inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } + inline void SetAction(const GuardrailSensitiveInformationAction& value) { m_actionHasBeenSet = true; m_action = value; } + inline void SetAction(GuardrailSensitiveInformationAction&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } + inline GuardrailRegexConfig& WithAction(const GuardrailSensitiveInformationAction& value) { SetAction(value); return *this;} + inline GuardrailRegexConfig& WithAction(GuardrailSensitiveInformationAction&& value) { SetAction(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The description of the regular expression to configure for the AI + * Guardrail.

          + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline GuardrailRegexConfig& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline GuardrailRegexConfig& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline GuardrailRegexConfig& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

          The name of the regular expression to configure for the AI Guardrail.

          + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline GuardrailRegexConfig& WithName(const Aws::String& value) { SetName(value); return *this;} + inline GuardrailRegexConfig& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline GuardrailRegexConfig& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

          The regular expression pattern to configure for the AI Guardrail.

          + */ + inline const Aws::String& GetPattern() const{ return m_pattern; } + inline bool PatternHasBeenSet() const { return m_patternHasBeenSet; } + inline void SetPattern(const Aws::String& value) { m_patternHasBeenSet = true; m_pattern = value; } + inline void SetPattern(Aws::String&& value) { m_patternHasBeenSet = true; m_pattern = std::move(value); } + inline void SetPattern(const char* value) { m_patternHasBeenSet = true; m_pattern.assign(value); } + inline GuardrailRegexConfig& WithPattern(const Aws::String& value) { SetPattern(value); return *this;} + inline GuardrailRegexConfig& WithPattern(Aws::String&& value) { SetPattern(std::move(value)); return *this;} + inline GuardrailRegexConfig& WithPattern(const char* value) { SetPattern(value); return *this;} + ///@} + private: + + GuardrailSensitiveInformationAction m_action; + bool m_actionHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_pattern; + bool m_patternHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailSensitiveInformationAction.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailSensitiveInformationAction.h new file mode 100644 index 00000000000..33fe02030a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailSensitiveInformationAction.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + enum class GuardrailSensitiveInformationAction + { + NOT_SET, + BLOCK, + ANONYMIZE + }; + +namespace GuardrailSensitiveInformationActionMapper +{ +AWS_QCONNECT_API GuardrailSensitiveInformationAction GetGuardrailSensitiveInformationActionForName(const Aws::String& name); + +AWS_QCONNECT_API Aws::String GetNameForGuardrailSensitiveInformationAction(GuardrailSensitiveInformationAction value); +} // namespace GuardrailSensitiveInformationActionMapper +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailTopicConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailTopicConfig.h new file mode 100644 index 00000000000..22d2bee1b9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailTopicConfig.h @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          Details about topics for the AI Guardrail to identify and deny.

          See + * Also:

          AWS + * API Reference

          + */ + class GuardrailTopicConfig + { + public: + AWS_QCONNECT_API GuardrailTopicConfig(); + AWS_QCONNECT_API GuardrailTopicConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API GuardrailTopicConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          A definition of the topic to deny.

          + */ + inline const Aws::String& GetDefinition() const{ return m_definition; } + inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; } + inline void SetDefinition(const Aws::String& value) { m_definitionHasBeenSet = true; m_definition = value; } + inline void SetDefinition(Aws::String&& value) { m_definitionHasBeenSet = true; m_definition = std::move(value); } + inline void SetDefinition(const char* value) { m_definitionHasBeenSet = true; m_definition.assign(value); } + inline GuardrailTopicConfig& WithDefinition(const Aws::String& value) { SetDefinition(value); return *this;} + inline GuardrailTopicConfig& WithDefinition(Aws::String&& value) { SetDefinition(std::move(value)); return *this;} + inline GuardrailTopicConfig& WithDefinition(const char* value) { SetDefinition(value); return *this;} + ///@} + + ///@{ + /** + *

          A list of prompts, each of which is an example of a prompt that can be + * categorized as belonging to the topic.

          + */ + inline const Aws::Vector& GetExamples() const{ return m_examples; } + inline bool ExamplesHasBeenSet() const { return m_examplesHasBeenSet; } + inline void SetExamples(const Aws::Vector& value) { m_examplesHasBeenSet = true; m_examples = value; } + inline void SetExamples(Aws::Vector&& value) { m_examplesHasBeenSet = true; m_examples = std::move(value); } + inline GuardrailTopicConfig& WithExamples(const Aws::Vector& value) { SetExamples(value); return *this;} + inline GuardrailTopicConfig& WithExamples(Aws::Vector&& value) { SetExamples(std::move(value)); return *this;} + inline GuardrailTopicConfig& AddExamples(const Aws::String& value) { m_examplesHasBeenSet = true; m_examples.push_back(value); return *this; } + inline GuardrailTopicConfig& AddExamples(Aws::String&& value) { m_examplesHasBeenSet = true; m_examples.push_back(std::move(value)); return *this; } + inline GuardrailTopicConfig& AddExamples(const char* value) { m_examplesHasBeenSet = true; m_examples.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

          The name of the topic to deny.

          + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline GuardrailTopicConfig& WithName(const Aws::String& value) { SetName(value); return *this;} + inline GuardrailTopicConfig& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline GuardrailTopicConfig& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

          Specifies to deny the topic.

          + */ + inline const GuardrailTopicType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const GuardrailTopicType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(GuardrailTopicType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline GuardrailTopicConfig& WithType(const GuardrailTopicType& value) { SetType(value); return *this;} + inline GuardrailTopicConfig& WithType(GuardrailTopicType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_definition; + bool m_definitionHasBeenSet = false; + + Aws::Vector m_examples; + bool m_examplesHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + GuardrailTopicType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailTopicType.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailTopicType.h new file mode 100644 index 00000000000..9f9129c8d59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailTopicType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + enum class GuardrailTopicType + { + NOT_SET, + DENY + }; + +namespace GuardrailTopicTypeMapper +{ +AWS_QCONNECT_API GuardrailTopicType GetGuardrailTopicTypeForName(const Aws::String& name); + +AWS_QCONNECT_API Aws::String GetNameForGuardrailTopicType(GuardrailTopicType value); +} // namespace GuardrailTopicTypeMapper +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailWordConfig.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailWordConfig.h new file mode 100644 index 00000000000..47fdac3c91c --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/GuardrailWordConfig.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          A word to configure for the AI Guardrail.

          See Also:

          AWS + * API Reference

          + */ + class GuardrailWordConfig + { + public: + AWS_QCONNECT_API GuardrailWordConfig(); + AWS_QCONNECT_API GuardrailWordConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API GuardrailWordConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          Text of the word configured for the AI Guardrail to block.

          + */ + inline const Aws::String& GetText() const{ return m_text; } + inline bool TextHasBeenSet() const { return m_textHasBeenSet; } + inline void SetText(const Aws::String& value) { m_textHasBeenSet = true; m_text = value; } + inline void SetText(Aws::String&& value) { m_textHasBeenSet = true; m_text = std::move(value); } + inline void SetText(const char* value) { m_textHasBeenSet = true; m_text.assign(value); } + inline GuardrailWordConfig& WithText(const Aws::String& value) { SetText(value); return *this;} + inline GuardrailWordConfig& WithText(Aws::String&& value) { SetText(std::move(value)); return *this;} + inline GuardrailWordConfig& WithText(const char* value) { SetText(value); return *this;} + ///@} + private: + + Aws::String m_text; + bool m_textHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailVersionsRequest.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailVersionsRequest.h new file mode 100644 index 00000000000..c725ee99061 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailVersionsRequest.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace QConnect +{ +namespace Model +{ + + /** + */ + class ListAIGuardrailVersionsRequest : public QConnectRequest + { + public: + AWS_QCONNECT_API ListAIGuardrailVersionsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListAIGuardrailVersions"; } + + AWS_QCONNECT_API Aws::String SerializePayload() const override; + + AWS_QCONNECT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect AI Guardrail for which versions are + * to be listed.

          + */ + inline const Aws::String& GetAiGuardrailId() const{ return m_aiGuardrailId; } + inline bool AiGuardrailIdHasBeenSet() const { return m_aiGuardrailIdHasBeenSet; } + inline void SetAiGuardrailId(const Aws::String& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = value; } + inline void SetAiGuardrailId(Aws::String&& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = std::move(value); } + inline void SetAiGuardrailId(const char* value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId.assign(value); } + inline ListAIGuardrailVersionsRequest& WithAiGuardrailId(const Aws::String& value) { SetAiGuardrailId(value); return *this;} + inline ListAIGuardrailVersionsRequest& WithAiGuardrailId(Aws::String&& value) { SetAiGuardrailId(std::move(value)); return *this;} + inline ListAIGuardrailVersionsRequest& WithAiGuardrailId(const char* value) { SetAiGuardrailId(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant. Can be either the ID or + * the ARN. URLs cannot contain the ARN.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline ListAIGuardrailVersionsRequest& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline ListAIGuardrailVersionsRequest& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline ListAIGuardrailVersionsRequest& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + + ///@{ + /** + *

          The maximum number of results to return per page.

          + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListAIGuardrailVersionsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

          The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListAIGuardrailVersionsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListAIGuardrailVersionsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListAIGuardrailVersionsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + private: + + Aws::String m_aiGuardrailId; + bool m_aiGuardrailIdHasBeenSet = false; + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailVersionsResult.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailVersionsResult.h new file mode 100644 index 00000000000..8b36d61d0af --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailVersionsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + class ListAIGuardrailVersionsResult + { + public: + AWS_QCONNECT_API ListAIGuardrailVersionsResult(); + AWS_QCONNECT_API ListAIGuardrailVersionsResult(const Aws::AmazonWebServiceResult& result); + AWS_QCONNECT_API ListAIGuardrailVersionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The summaries of the AI Guardrail versions.

          + */ + inline const Aws::Vector& GetAiGuardrailVersionSummaries() const{ return m_aiGuardrailVersionSummaries; } + inline void SetAiGuardrailVersionSummaries(const Aws::Vector& value) { m_aiGuardrailVersionSummaries = value; } + inline void SetAiGuardrailVersionSummaries(Aws::Vector&& value) { m_aiGuardrailVersionSummaries = std::move(value); } + inline ListAIGuardrailVersionsResult& WithAiGuardrailVersionSummaries(const Aws::Vector& value) { SetAiGuardrailVersionSummaries(value); return *this;} + inline ListAIGuardrailVersionsResult& WithAiGuardrailVersionSummaries(Aws::Vector&& value) { SetAiGuardrailVersionSummaries(std::move(value)); return *this;} + inline ListAIGuardrailVersionsResult& AddAiGuardrailVersionSummaries(const AIGuardrailVersionSummary& value) { m_aiGuardrailVersionSummaries.push_back(value); return *this; } + inline ListAIGuardrailVersionsResult& AddAiGuardrailVersionSummaries(AIGuardrailVersionSummary&& value) { m_aiGuardrailVersionSummaries.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListAIGuardrailVersionsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListAIGuardrailVersionsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListAIGuardrailVersionsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListAIGuardrailVersionsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListAIGuardrailVersionsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListAIGuardrailVersionsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_aiGuardrailVersionSummaries; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailsRequest.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailsRequest.h new file mode 100644 index 00000000000..9cd6f213443 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailsRequest.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace QConnect +{ +namespace Model +{ + + /** + */ + class ListAIGuardrailsRequest : public QConnectRequest + { + public: + AWS_QCONNECT_API ListAIGuardrailsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListAIGuardrails"; } + + AWS_QCONNECT_API Aws::String SerializePayload() const override; + + AWS_QCONNECT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant. Can be either the ID or + * the ARN. URLs cannot contain the ARN.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline ListAIGuardrailsRequest& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline ListAIGuardrailsRequest& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline ListAIGuardrailsRequest& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + + ///@{ + /** + *

          The maximum number of results to return per page.

          + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListAIGuardrailsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

          The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListAIGuardrailsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListAIGuardrailsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListAIGuardrailsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + private: + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailsResult.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailsResult.h new file mode 100644 index 00000000000..fc394848b52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListAIGuardrailsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + class ListAIGuardrailsResult + { + public: + AWS_QCONNECT_API ListAIGuardrailsResult(); + AWS_QCONNECT_API ListAIGuardrailsResult(const Aws::AmazonWebServiceResult& result); + AWS_QCONNECT_API ListAIGuardrailsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The summaries of the AI Guardrails.

          + */ + inline const Aws::Vector& GetAiGuardrailSummaries() const{ return m_aiGuardrailSummaries; } + inline void SetAiGuardrailSummaries(const Aws::Vector& value) { m_aiGuardrailSummaries = value; } + inline void SetAiGuardrailSummaries(Aws::Vector&& value) { m_aiGuardrailSummaries = std::move(value); } + inline ListAIGuardrailsResult& WithAiGuardrailSummaries(const Aws::Vector& value) { SetAiGuardrailSummaries(value); return *this;} + inline ListAIGuardrailsResult& WithAiGuardrailSummaries(Aws::Vector&& value) { SetAiGuardrailSummaries(std::move(value)); return *this;} + inline ListAIGuardrailsResult& AddAiGuardrailSummaries(const AIGuardrailSummary& value) { m_aiGuardrailSummaries.push_back(value); return *this; } + inline ListAIGuardrailsResult& AddAiGuardrailSummaries(AIGuardrailSummary&& value) { m_aiGuardrailSummaries.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListAIGuardrailsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListAIGuardrailsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListAIGuardrailsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListAIGuardrailsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListAIGuardrailsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListAIGuardrailsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_aiGuardrailSummaries; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListMessagesRequest.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListMessagesRequest.h new file mode 100644 index 00000000000..76ec695dfd3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListMessagesRequest.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace QConnect +{ +namespace Model +{ + + /** + */ + class ListMessagesRequest : public QConnectRequest + { + public: + AWS_QCONNECT_API ListMessagesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListMessages"; } + + AWS_QCONNECT_API Aws::String SerializePayload() const override; + + AWS_QCONNECT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline ListMessagesRequest& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline ListMessagesRequest& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline ListMessagesRequest& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + + ///@{ + /** + *

          The maximum number of results to return per page.

          + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListMessagesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

          The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListMessagesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListMessagesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListMessagesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect session.

          + */ + inline const Aws::String& GetSessionId() const{ return m_sessionId; } + inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } + inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } + inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } + inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } + inline ListMessagesRequest& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} + inline ListMessagesRequest& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} + inline ListMessagesRequest& WithSessionId(const char* value) { SetSessionId(value); return *this;} + ///@} + private: + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_sessionId; + bool m_sessionIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListMessagesResult.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListMessagesResult.h new file mode 100644 index 00000000000..0b9deb7f569 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ListMessagesResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + class ListMessagesResult + { + public: + AWS_QCONNECT_API ListMessagesResult(); + AWS_QCONNECT_API ListMessagesResult(const Aws::AmazonWebServiceResult& result); + AWS_QCONNECT_API ListMessagesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The message information.

          + */ + inline const Aws::Vector& GetMessages() const{ return m_messages; } + inline void SetMessages(const Aws::Vector& value) { m_messages = value; } + inline void SetMessages(Aws::Vector&& value) { m_messages = std::move(value); } + inline ListMessagesResult& WithMessages(const Aws::Vector& value) { SetMessages(value); return *this;} + inline ListMessagesResult& WithMessages(Aws::Vector&& value) { SetMessages(std::move(value)); return *this;} + inline ListMessagesResult& AddMessages(const MessageOutput& value) { m_messages.push_back(value); return *this; } + inline ListMessagesResult& AddMessages(MessageOutput&& value) { m_messages.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListMessagesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListMessagesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListMessagesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListMessagesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListMessagesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListMessagesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_messages; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ManualSearchAIAgentConfiguration.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ManualSearchAIAgentConfiguration.h index d674f0eaf9b..985dbe683ee 100644 --- a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ManualSearchAIAgentConfiguration.h +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/ManualSearchAIAgentConfiguration.h @@ -40,6 +40,21 @@ namespace Model AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

          The AI Guardrail identifier for the Answer Generation guardrail used by the + * MANUAL_SEARCH AI Agent.

          + */ + inline const Aws::String& GetAnswerGenerationAIGuardrailId() const{ return m_answerGenerationAIGuardrailId; } + inline bool AnswerGenerationAIGuardrailIdHasBeenSet() const { return m_answerGenerationAIGuardrailIdHasBeenSet; } + inline void SetAnswerGenerationAIGuardrailId(const Aws::String& value) { m_answerGenerationAIGuardrailIdHasBeenSet = true; m_answerGenerationAIGuardrailId = value; } + inline void SetAnswerGenerationAIGuardrailId(Aws::String&& value) { m_answerGenerationAIGuardrailIdHasBeenSet = true; m_answerGenerationAIGuardrailId = std::move(value); } + inline void SetAnswerGenerationAIGuardrailId(const char* value) { m_answerGenerationAIGuardrailIdHasBeenSet = true; m_answerGenerationAIGuardrailId.assign(value); } + inline ManualSearchAIAgentConfiguration& WithAnswerGenerationAIGuardrailId(const Aws::String& value) { SetAnswerGenerationAIGuardrailId(value); return *this;} + inline ManualSearchAIAgentConfiguration& WithAnswerGenerationAIGuardrailId(Aws::String&& value) { SetAnswerGenerationAIGuardrailId(std::move(value)); return *this;} + inline ManualSearchAIAgentConfiguration& WithAnswerGenerationAIGuardrailId(const char* value) { SetAnswerGenerationAIGuardrailId(value); return *this;} + ///@} + ///@{ /** *

          The AI Prompt identifier for the Answer Generation prompt used by the @@ -70,6 +85,9 @@ namespace Model ///@} private: + Aws::String m_answerGenerationAIGuardrailId; + bool m_answerGenerationAIGuardrailIdHasBeenSet = false; + Aws::String m_answerGenerationAIPromptId; bool m_answerGenerationAIPromptIdHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageData.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageData.h new file mode 100644 index 00000000000..8f51bf19d26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageData.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The message data.

          See Also:

          AWS + * API Reference

          + */ + class MessageData + { + public: + AWS_QCONNECT_API MessageData(); + AWS_QCONNECT_API MessageData(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API MessageData& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The message data in text type.

          + */ + inline const TextMessage& GetText() const{ return m_text; } + inline bool TextHasBeenSet() const { return m_textHasBeenSet; } + inline void SetText(const TextMessage& value) { m_textHasBeenSet = true; m_text = value; } + inline void SetText(TextMessage&& value) { m_textHasBeenSet = true; m_text = std::move(value); } + inline MessageData& WithText(const TextMessage& value) { SetText(value); return *this;} + inline MessageData& WithText(TextMessage&& value) { SetText(std::move(value)); return *this;} + ///@} + private: + + TextMessage m_text; + bool m_textHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageInput.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageInput.h new file mode 100644 index 00000000000..ef97dd4c02e --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageInput.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The message input.

          See Also:

          AWS + * API Reference

          + */ + class MessageInput + { + public: + AWS_QCONNECT_API MessageInput(); + AWS_QCONNECT_API MessageInput(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API MessageInput& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The message input value.

          + */ + inline const MessageData& GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(const MessageData& value) { m_valueHasBeenSet = true; m_value = value; } + inline void SetValue(MessageData&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + inline MessageInput& WithValue(const MessageData& value) { SetValue(value); return *this;} + inline MessageInput& WithValue(MessageData&& value) { SetValue(std::move(value)); return *this;} + ///@} + private: + + MessageData m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageOutput.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageOutput.h new file mode 100644 index 00000000000..973bfca2199 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageOutput.h @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The message output.

          See Also:

          AWS + * API Reference

          + */ + class MessageOutput + { + public: + AWS_QCONNECT_API MessageOutput(); + AWS_QCONNECT_API MessageOutput(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API MessageOutput& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The identifier of a message.

          + */ + inline const Aws::String& GetMessageId() const{ return m_messageId; } + inline bool MessageIdHasBeenSet() const { return m_messageIdHasBeenSet; } + inline void SetMessageId(const Aws::String& value) { m_messageIdHasBeenSet = true; m_messageId = value; } + inline void SetMessageId(Aws::String&& value) { m_messageIdHasBeenSet = true; m_messageId = std::move(value); } + inline void SetMessageId(const char* value) { m_messageIdHasBeenSet = true; m_messageId.assign(value); } + inline MessageOutput& WithMessageId(const Aws::String& value) { SetMessageId(value); return *this;} + inline MessageOutput& WithMessageId(Aws::String&& value) { SetMessageId(std::move(value)); return *this;} + inline MessageOutput& WithMessageId(const char* value) { SetMessageId(value); return *this;} + ///@} + + ///@{ + /** + *

          The participant of a message.

          + */ + inline const Participant& GetParticipant() const{ return m_participant; } + inline bool ParticipantHasBeenSet() const { return m_participantHasBeenSet; } + inline void SetParticipant(const Participant& value) { m_participantHasBeenSet = true; m_participant = value; } + inline void SetParticipant(Participant&& value) { m_participantHasBeenSet = true; m_participant = std::move(value); } + inline MessageOutput& WithParticipant(const Participant& value) { SetParticipant(value); return *this;} + inline MessageOutput& WithParticipant(Participant&& value) { SetParticipant(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The timestamp of a message.

          + */ + inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } + inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } + inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } + inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } + inline MessageOutput& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} + inline MessageOutput& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The value of a message data.

          + */ + inline const MessageData& GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(const MessageData& value) { m_valueHasBeenSet = true; m_value = value; } + inline void SetValue(MessageData&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + inline MessageOutput& WithValue(const MessageData& value) { SetValue(value); return *this;} + inline MessageOutput& WithValue(MessageData&& value) { SetValue(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_messageId; + bool m_messageIdHasBeenSet = false; + + Participant m_participant; + bool m_participantHasBeenSet = false; + + Aws::Utils::DateTime m_timestamp; + bool m_timestampHasBeenSet = false; + + MessageData m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageType.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageType.h new file mode 100644 index 00000000000..7057b71ab27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/MessageType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + enum class MessageType + { + NOT_SET, + TEXT + }; + +namespace MessageTypeMapper +{ +AWS_QCONNECT_API MessageType GetMessageTypeForName(const Aws::String& name); + +AWS_QCONNECT_API Aws::String GetNameForMessageType(MessageType value); +} // namespace MessageTypeMapper +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/Participant.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/Participant.h new file mode 100644 index 00000000000..a0420d73beb --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/Participant.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + enum class Participant + { + NOT_SET, + CUSTOMER, + AGENT, + BOT + }; + +namespace ParticipantMapper +{ +AWS_QCONNECT_API Participant GetParticipantForName(const Aws::String& name); + +AWS_QCONNECT_API Aws::String GetNameForParticipant(Participant value); +} // namespace ParticipantMapper +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SelfServiceAIAgentConfiguration.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SelfServiceAIAgentConfiguration.h new file mode 100644 index 00000000000..8d2b2dce663 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SelfServiceAIAgentConfiguration.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The configuration for AI Agents of type SELF_SERVICE.

          See + * Also:

          AWS + * API Reference

          + */ + class SelfServiceAIAgentConfiguration + { + public: + AWS_QCONNECT_API SelfServiceAIAgentConfiguration(); + AWS_QCONNECT_API SelfServiceAIAgentConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API SelfServiceAIAgentConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The association configurations for overriding behavior on this AI Agent.

          + */ + inline const Aws::Vector& GetAssociationConfigurations() const{ return m_associationConfigurations; } + inline bool AssociationConfigurationsHasBeenSet() const { return m_associationConfigurationsHasBeenSet; } + inline void SetAssociationConfigurations(const Aws::Vector& value) { m_associationConfigurationsHasBeenSet = true; m_associationConfigurations = value; } + inline void SetAssociationConfigurations(Aws::Vector&& value) { m_associationConfigurationsHasBeenSet = true; m_associationConfigurations = std::move(value); } + inline SelfServiceAIAgentConfiguration& WithAssociationConfigurations(const Aws::Vector& value) { SetAssociationConfigurations(value); return *this;} + inline SelfServiceAIAgentConfiguration& WithAssociationConfigurations(Aws::Vector&& value) { SetAssociationConfigurations(std::move(value)); return *this;} + inline SelfServiceAIAgentConfiguration& AddAssociationConfigurations(const AssociationConfiguration& value) { m_associationConfigurationsHasBeenSet = true; m_associationConfigurations.push_back(value); return *this; } + inline SelfServiceAIAgentConfiguration& AddAssociationConfigurations(AssociationConfiguration&& value) { m_associationConfigurationsHasBeenSet = true; m_associationConfigurations.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          The AI Guardrail identifier used by the SELF_SERVICE AI Agent.

          + */ + inline const Aws::String& GetSelfServiceAIGuardrailId() const{ return m_selfServiceAIGuardrailId; } + inline bool SelfServiceAIGuardrailIdHasBeenSet() const { return m_selfServiceAIGuardrailIdHasBeenSet; } + inline void SetSelfServiceAIGuardrailId(const Aws::String& value) { m_selfServiceAIGuardrailIdHasBeenSet = true; m_selfServiceAIGuardrailId = value; } + inline void SetSelfServiceAIGuardrailId(Aws::String&& value) { m_selfServiceAIGuardrailIdHasBeenSet = true; m_selfServiceAIGuardrailId = std::move(value); } + inline void SetSelfServiceAIGuardrailId(const char* value) { m_selfServiceAIGuardrailIdHasBeenSet = true; m_selfServiceAIGuardrailId.assign(value); } + inline SelfServiceAIAgentConfiguration& WithSelfServiceAIGuardrailId(const Aws::String& value) { SetSelfServiceAIGuardrailId(value); return *this;} + inline SelfServiceAIAgentConfiguration& WithSelfServiceAIGuardrailId(Aws::String&& value) { SetSelfServiceAIGuardrailId(std::move(value)); return *this;} + inline SelfServiceAIAgentConfiguration& WithSelfServiceAIGuardrailId(const char* value) { SetSelfServiceAIGuardrailId(value); return *this;} + ///@} + + ///@{ + /** + *

          The AI Prompt identifier for the Self Service Answer Generation prompt used + * by the SELF_SERVICE AI Agent

          + */ + inline const Aws::String& GetSelfServiceAnswerGenerationAIPromptId() const{ return m_selfServiceAnswerGenerationAIPromptId; } + inline bool SelfServiceAnswerGenerationAIPromptIdHasBeenSet() const { return m_selfServiceAnswerGenerationAIPromptIdHasBeenSet; } + inline void SetSelfServiceAnswerGenerationAIPromptId(const Aws::String& value) { m_selfServiceAnswerGenerationAIPromptIdHasBeenSet = true; m_selfServiceAnswerGenerationAIPromptId = value; } + inline void SetSelfServiceAnswerGenerationAIPromptId(Aws::String&& value) { m_selfServiceAnswerGenerationAIPromptIdHasBeenSet = true; m_selfServiceAnswerGenerationAIPromptId = std::move(value); } + inline void SetSelfServiceAnswerGenerationAIPromptId(const char* value) { m_selfServiceAnswerGenerationAIPromptIdHasBeenSet = true; m_selfServiceAnswerGenerationAIPromptId.assign(value); } + inline SelfServiceAIAgentConfiguration& WithSelfServiceAnswerGenerationAIPromptId(const Aws::String& value) { SetSelfServiceAnswerGenerationAIPromptId(value); return *this;} + inline SelfServiceAIAgentConfiguration& WithSelfServiceAnswerGenerationAIPromptId(Aws::String&& value) { SetSelfServiceAnswerGenerationAIPromptId(std::move(value)); return *this;} + inline SelfServiceAIAgentConfiguration& WithSelfServiceAnswerGenerationAIPromptId(const char* value) { SetSelfServiceAnswerGenerationAIPromptId(value); return *this;} + ///@} + + ///@{ + /** + *

          The AI Prompt identifier for the Self Service Pre-Processing prompt used by + * the SELF_SERVICE AI Agent

          + */ + inline const Aws::String& GetSelfServicePreProcessingAIPromptId() const{ return m_selfServicePreProcessingAIPromptId; } + inline bool SelfServicePreProcessingAIPromptIdHasBeenSet() const { return m_selfServicePreProcessingAIPromptIdHasBeenSet; } + inline void SetSelfServicePreProcessingAIPromptId(const Aws::String& value) { m_selfServicePreProcessingAIPromptIdHasBeenSet = true; m_selfServicePreProcessingAIPromptId = value; } + inline void SetSelfServicePreProcessingAIPromptId(Aws::String&& value) { m_selfServicePreProcessingAIPromptIdHasBeenSet = true; m_selfServicePreProcessingAIPromptId = std::move(value); } + inline void SetSelfServicePreProcessingAIPromptId(const char* value) { m_selfServicePreProcessingAIPromptIdHasBeenSet = true; m_selfServicePreProcessingAIPromptId.assign(value); } + inline SelfServiceAIAgentConfiguration& WithSelfServicePreProcessingAIPromptId(const Aws::String& value) { SetSelfServicePreProcessingAIPromptId(value); return *this;} + inline SelfServiceAIAgentConfiguration& WithSelfServicePreProcessingAIPromptId(Aws::String&& value) { SetSelfServicePreProcessingAIPromptId(std::move(value)); return *this;} + inline SelfServiceAIAgentConfiguration& WithSelfServicePreProcessingAIPromptId(const char* value) { SetSelfServicePreProcessingAIPromptId(value); return *this;} + ///@} + private: + + Aws::Vector m_associationConfigurations; + bool m_associationConfigurationsHasBeenSet = false; + + Aws::String m_selfServiceAIGuardrailId; + bool m_selfServiceAIGuardrailIdHasBeenSet = false; + + Aws::String m_selfServiceAnswerGenerationAIPromptId; + bool m_selfServiceAnswerGenerationAIPromptIdHasBeenSet = false; + + Aws::String m_selfServicePreProcessingAIPromptId; + bool m_selfServicePreProcessingAIPromptIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SelfServiceConversationHistory.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SelfServiceConversationHistory.h new file mode 100644 index 00000000000..714c606ff34 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SelfServiceConversationHistory.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The conversation history data to included in conversation context data before + * the the Amazon Q in Connect session..

          See Also:

          AWS + * API Reference

          + */ + class SelfServiceConversationHistory + { + public: + AWS_QCONNECT_API SelfServiceConversationHistory(); + AWS_QCONNECT_API SelfServiceConversationHistory(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API SelfServiceConversationHistory& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The bot response of the conversation history data.

          + */ + inline const Aws::String& GetBotResponse() const{ return m_botResponse; } + inline bool BotResponseHasBeenSet() const { return m_botResponseHasBeenSet; } + inline void SetBotResponse(const Aws::String& value) { m_botResponseHasBeenSet = true; m_botResponse = value; } + inline void SetBotResponse(Aws::String&& value) { m_botResponseHasBeenSet = true; m_botResponse = std::move(value); } + inline void SetBotResponse(const char* value) { m_botResponseHasBeenSet = true; m_botResponse.assign(value); } + inline SelfServiceConversationHistory& WithBotResponse(const Aws::String& value) { SetBotResponse(value); return *this;} + inline SelfServiceConversationHistory& WithBotResponse(Aws::String&& value) { SetBotResponse(std::move(value)); return *this;} + inline SelfServiceConversationHistory& WithBotResponse(const char* value) { SetBotResponse(value); return *this;} + ///@} + + ///@{ + /** + *

          The input transcript of the conversation history data.

          + */ + inline const Aws::String& GetInputTranscript() const{ return m_inputTranscript; } + inline bool InputTranscriptHasBeenSet() const { return m_inputTranscriptHasBeenSet; } + inline void SetInputTranscript(const Aws::String& value) { m_inputTranscriptHasBeenSet = true; m_inputTranscript = value; } + inline void SetInputTranscript(Aws::String&& value) { m_inputTranscriptHasBeenSet = true; m_inputTranscript = std::move(value); } + inline void SetInputTranscript(const char* value) { m_inputTranscriptHasBeenSet = true; m_inputTranscript.assign(value); } + inline SelfServiceConversationHistory& WithInputTranscript(const Aws::String& value) { SetInputTranscript(value); return *this;} + inline SelfServiceConversationHistory& WithInputTranscript(Aws::String&& value) { SetInputTranscript(std::move(value)); return *this;} + inline SelfServiceConversationHistory& WithInputTranscript(const char* value) { SetInputTranscript(value); return *this;} + ///@} + + ///@{ + /** + *

          The number of turn of the conversation history data.

          + */ + inline int GetTurnNumber() const{ return m_turnNumber; } + inline bool TurnNumberHasBeenSet() const { return m_turnNumberHasBeenSet; } + inline void SetTurnNumber(int value) { m_turnNumberHasBeenSet = true; m_turnNumber = value; } + inline SelfServiceConversationHistory& WithTurnNumber(int value) { SetTurnNumber(value); return *this;} + ///@} + private: + + Aws::String m_botResponse; + bool m_botResponseHasBeenSet = false; + + Aws::String m_inputTranscript; + bool m_inputTranscriptHasBeenSet = false; + + int m_turnNumber; + bool m_turnNumberHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SendMessageRequest.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SendMessageRequest.h new file mode 100644 index 00000000000..a65ba139129 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SendMessageRequest.h @@ -0,0 +1,142 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + + /** + */ + class SendMessageRequest : public QConnectRequest + { + public: + AWS_QCONNECT_API SendMessageRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SendMessage"; } + + AWS_QCONNECT_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline SendMessageRequest& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline SendMessageRequest& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline SendMessageRequest& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + + ///@{ + /** + *

          A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. If not provided, the AWS SDK populates this + * field.For more information about idempotency, see Making retries safe with + * idempotent APIs.

          + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline SendMessageRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline SendMessageRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline SendMessageRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

          The conversation context before the Amazon Q in Connect session.

          + */ + inline const ConversationContext& GetConversationContext() const{ return m_conversationContext; } + inline bool ConversationContextHasBeenSet() const { return m_conversationContextHasBeenSet; } + inline void SetConversationContext(const ConversationContext& value) { m_conversationContextHasBeenSet = true; m_conversationContext = value; } + inline void SetConversationContext(ConversationContext&& value) { m_conversationContextHasBeenSet = true; m_conversationContext = std::move(value); } + inline SendMessageRequest& WithConversationContext(const ConversationContext& value) { SetConversationContext(value); return *this;} + inline SendMessageRequest& WithConversationContext(ConversationContext&& value) { SetConversationContext(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The message data to submit to the Amazon Q in Connect session.

          + */ + inline const MessageInput& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const MessageInput& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(MessageInput&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline SendMessageRequest& WithMessage(const MessageInput& value) { SetMessage(value); return *this;} + inline SendMessageRequest& WithMessage(MessageInput&& value) { SetMessage(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect session.

          + */ + inline const Aws::String& GetSessionId() const{ return m_sessionId; } + inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } + inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } + inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } + inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } + inline SendMessageRequest& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} + inline SendMessageRequest& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} + inline SendMessageRequest& WithSessionId(const char* value) { SetSessionId(value); return *this;} + ///@} + + ///@{ + /** + *

          The message type.

          + */ + inline const MessageType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const MessageType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(MessageType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline SendMessageRequest& WithType(const MessageType& value) { SetType(value); return *this;} + inline SendMessageRequest& WithType(MessageType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + ConversationContext m_conversationContext; + bool m_conversationContextHasBeenSet = false; + + MessageInput m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_sessionId; + bool m_sessionIdHasBeenSet = false; + + MessageType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SendMessageResult.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SendMessageResult.h new file mode 100644 index 00000000000..46d50c2b270 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/SendMessageResult.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + class SendMessageResult + { + public: + AWS_QCONNECT_API SendMessageResult(); + AWS_QCONNECT_API SendMessageResult(const Aws::AmazonWebServiceResult& result); + AWS_QCONNECT_API SendMessageResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The token for the next message, used by GetNextMessage.

          + */ + inline const Aws::String& GetNextMessageToken() const{ return m_nextMessageToken; } + inline void SetNextMessageToken(const Aws::String& value) { m_nextMessageToken = value; } + inline void SetNextMessageToken(Aws::String&& value) { m_nextMessageToken = std::move(value); } + inline void SetNextMessageToken(const char* value) { m_nextMessageToken.assign(value); } + inline SendMessageResult& WithNextMessageToken(const Aws::String& value) { SetNextMessageToken(value); return *this;} + inline SendMessageResult& WithNextMessageToken(Aws::String&& value) { SetNextMessageToken(std::move(value)); return *this;} + inline SendMessageResult& WithNextMessageToken(const char* value) { SetNextMessageToken(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the submitted message.

          + */ + inline const Aws::String& GetRequestMessageId() const{ return m_requestMessageId; } + inline void SetRequestMessageId(const Aws::String& value) { m_requestMessageId = value; } + inline void SetRequestMessageId(Aws::String&& value) { m_requestMessageId = std::move(value); } + inline void SetRequestMessageId(const char* value) { m_requestMessageId.assign(value); } + inline SendMessageResult& WithRequestMessageId(const Aws::String& value) { SetRequestMessageId(value); return *this;} + inline SendMessageResult& WithRequestMessageId(Aws::String&& value) { SetRequestMessageId(std::move(value)); return *this;} + inline SendMessageResult& WithRequestMessageId(const char* value) { SetRequestMessageId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline SendMessageResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SendMessageResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SendMessageResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextMessageToken; + + Aws::String m_requestMessageId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/TextMessage.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/TextMessage.h new file mode 100644 index 00000000000..50462a348d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/TextMessage.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + + /** + *

          The message data in text type.

          See Also:

          AWS + * API Reference

          + */ + class TextMessage + { + public: + AWS_QCONNECT_API TextMessage(); + AWS_QCONNECT_API TextMessage(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API TextMessage& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The value of the message data in text type.

          + */ + inline const Aws::String& GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + inline TextMessage& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline TextMessage& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline TextMessage& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + private: + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/UpdateAIGuardrailRequest.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/UpdateAIGuardrailRequest.h new file mode 100644 index 00000000000..557ce69bd1e --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/UpdateAIGuardrailRequest.h @@ -0,0 +1,244 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + + /** + */ + class UpdateAIGuardrailRequest : public QConnectRequest + { + public: + AWS_QCONNECT_API UpdateAIGuardrailRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateAIGuardrail"; } + + AWS_QCONNECT_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect AI Guardrail.

          + */ + inline const Aws::String& GetAiGuardrailId() const{ return m_aiGuardrailId; } + inline bool AiGuardrailIdHasBeenSet() const { return m_aiGuardrailIdHasBeenSet; } + inline void SetAiGuardrailId(const Aws::String& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = value; } + inline void SetAiGuardrailId(Aws::String&& value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId = std::move(value); } + inline void SetAiGuardrailId(const char* value) { m_aiGuardrailIdHasBeenSet = true; m_aiGuardrailId.assign(value); } + inline UpdateAIGuardrailRequest& WithAiGuardrailId(const Aws::String& value) { SetAiGuardrailId(value); return *this;} + inline UpdateAIGuardrailRequest& WithAiGuardrailId(Aws::String&& value) { SetAiGuardrailId(std::move(value)); return *this;} + inline UpdateAIGuardrailRequest& WithAiGuardrailId(const char* value) { SetAiGuardrailId(value); return *this;} + ///@} + + ///@{ + /** + *

          The identifier of the Amazon Q in Connect assistant. Can be either the ID or + * the ARN. URLs cannot contain the ARN.

          + */ + inline const Aws::String& GetAssistantId() const{ return m_assistantId; } + inline bool AssistantIdHasBeenSet() const { return m_assistantIdHasBeenSet; } + inline void SetAssistantId(const Aws::String& value) { m_assistantIdHasBeenSet = true; m_assistantId = value; } + inline void SetAssistantId(Aws::String&& value) { m_assistantIdHasBeenSet = true; m_assistantId = std::move(value); } + inline void SetAssistantId(const char* value) { m_assistantIdHasBeenSet = true; m_assistantId.assign(value); } + inline UpdateAIGuardrailRequest& WithAssistantId(const Aws::String& value) { SetAssistantId(value); return *this;} + inline UpdateAIGuardrailRequest& WithAssistantId(Aws::String&& value) { SetAssistantId(std::move(value)); return *this;} + inline UpdateAIGuardrailRequest& WithAssistantId(const char* value) { SetAssistantId(value); return *this;} + ///@} + + ///@{ + /** + *

          The message to return when the AI Guardrail blocks a prompt.

          + */ + inline const Aws::String& GetBlockedInputMessaging() const{ return m_blockedInputMessaging; } + inline bool BlockedInputMessagingHasBeenSet() const { return m_blockedInputMessagingHasBeenSet; } + inline void SetBlockedInputMessaging(const Aws::String& value) { m_blockedInputMessagingHasBeenSet = true; m_blockedInputMessaging = value; } + inline void SetBlockedInputMessaging(Aws::String&& value) { m_blockedInputMessagingHasBeenSet = true; m_blockedInputMessaging = std::move(value); } + inline void SetBlockedInputMessaging(const char* value) { m_blockedInputMessagingHasBeenSet = true; m_blockedInputMessaging.assign(value); } + inline UpdateAIGuardrailRequest& WithBlockedInputMessaging(const Aws::String& value) { SetBlockedInputMessaging(value); return *this;} + inline UpdateAIGuardrailRequest& WithBlockedInputMessaging(Aws::String&& value) { SetBlockedInputMessaging(std::move(value)); return *this;} + inline UpdateAIGuardrailRequest& WithBlockedInputMessaging(const char* value) { SetBlockedInputMessaging(value); return *this;} + ///@} + + ///@{ + /** + *

          The message to return when the AI Guardrail blocks a model response.

          + */ + inline const Aws::String& GetBlockedOutputsMessaging() const{ return m_blockedOutputsMessaging; } + inline bool BlockedOutputsMessagingHasBeenSet() const { return m_blockedOutputsMessagingHasBeenSet; } + inline void SetBlockedOutputsMessaging(const Aws::String& value) { m_blockedOutputsMessagingHasBeenSet = true; m_blockedOutputsMessaging = value; } + inline void SetBlockedOutputsMessaging(Aws::String&& value) { m_blockedOutputsMessagingHasBeenSet = true; m_blockedOutputsMessaging = std::move(value); } + inline void SetBlockedOutputsMessaging(const char* value) { m_blockedOutputsMessagingHasBeenSet = true; m_blockedOutputsMessaging.assign(value); } + inline UpdateAIGuardrailRequest& WithBlockedOutputsMessaging(const Aws::String& value) { SetBlockedOutputsMessaging(value); return *this;} + inline UpdateAIGuardrailRequest& WithBlockedOutputsMessaging(Aws::String&& value) { SetBlockedOutputsMessaging(std::move(value)); return *this;} + inline UpdateAIGuardrailRequest& WithBlockedOutputsMessaging(const char* value) { SetBlockedOutputsMessaging(value); return *this;} + ///@} + + ///@{ + /** + *

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

          + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline UpdateAIGuardrailRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline UpdateAIGuardrailRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline UpdateAIGuardrailRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

          The content filter policies to configure for the AI Guardrail.

          + */ + inline const AIGuardrailContentPolicyConfig& GetContentPolicyConfig() const{ return m_contentPolicyConfig; } + inline bool ContentPolicyConfigHasBeenSet() const { return m_contentPolicyConfigHasBeenSet; } + inline void SetContentPolicyConfig(const AIGuardrailContentPolicyConfig& value) { m_contentPolicyConfigHasBeenSet = true; m_contentPolicyConfig = value; } + inline void SetContentPolicyConfig(AIGuardrailContentPolicyConfig&& value) { m_contentPolicyConfigHasBeenSet = true; m_contentPolicyConfig = std::move(value); } + inline UpdateAIGuardrailRequest& WithContentPolicyConfig(const AIGuardrailContentPolicyConfig& value) { SetContentPolicyConfig(value); return *this;} + inline UpdateAIGuardrailRequest& WithContentPolicyConfig(AIGuardrailContentPolicyConfig&& value) { SetContentPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The contextual grounding policy configuration used to create an AI + * Guardrail.

          + */ + inline const AIGuardrailContextualGroundingPolicyConfig& GetContextualGroundingPolicyConfig() const{ return m_contextualGroundingPolicyConfig; } + inline bool ContextualGroundingPolicyConfigHasBeenSet() const { return m_contextualGroundingPolicyConfigHasBeenSet; } + inline void SetContextualGroundingPolicyConfig(const AIGuardrailContextualGroundingPolicyConfig& value) { m_contextualGroundingPolicyConfigHasBeenSet = true; m_contextualGroundingPolicyConfig = value; } + inline void SetContextualGroundingPolicyConfig(AIGuardrailContextualGroundingPolicyConfig&& value) { m_contextualGroundingPolicyConfigHasBeenSet = true; m_contextualGroundingPolicyConfig = std::move(value); } + inline UpdateAIGuardrailRequest& WithContextualGroundingPolicyConfig(const AIGuardrailContextualGroundingPolicyConfig& value) { SetContextualGroundingPolicyConfig(value); return *this;} + inline UpdateAIGuardrailRequest& WithContextualGroundingPolicyConfig(AIGuardrailContextualGroundingPolicyConfig&& value) { SetContextualGroundingPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          A description of the AI Guardrail.

          + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline UpdateAIGuardrailRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline UpdateAIGuardrailRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline UpdateAIGuardrailRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

          The sensitive information policy to configure for the AI Guardrail.

          + */ + inline const AIGuardrailSensitiveInformationPolicyConfig& GetSensitiveInformationPolicyConfig() const{ return m_sensitiveInformationPolicyConfig; } + inline bool SensitiveInformationPolicyConfigHasBeenSet() const { return m_sensitiveInformationPolicyConfigHasBeenSet; } + inline void SetSensitiveInformationPolicyConfig(const AIGuardrailSensitiveInformationPolicyConfig& value) { m_sensitiveInformationPolicyConfigHasBeenSet = true; m_sensitiveInformationPolicyConfig = value; } + inline void SetSensitiveInformationPolicyConfig(AIGuardrailSensitiveInformationPolicyConfig&& value) { m_sensitiveInformationPolicyConfigHasBeenSet = true; m_sensitiveInformationPolicyConfig = std::move(value); } + inline UpdateAIGuardrailRequest& WithSensitiveInformationPolicyConfig(const AIGuardrailSensitiveInformationPolicyConfig& value) { SetSensitiveInformationPolicyConfig(value); return *this;} + inline UpdateAIGuardrailRequest& WithSensitiveInformationPolicyConfig(AIGuardrailSensitiveInformationPolicyConfig&& value) { SetSensitiveInformationPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The topic policies to configure for the AI Guardrail.

          + */ + inline const AIGuardrailTopicPolicyConfig& GetTopicPolicyConfig() const{ return m_topicPolicyConfig; } + inline bool TopicPolicyConfigHasBeenSet() const { return m_topicPolicyConfigHasBeenSet; } + inline void SetTopicPolicyConfig(const AIGuardrailTopicPolicyConfig& value) { m_topicPolicyConfigHasBeenSet = true; m_topicPolicyConfig = value; } + inline void SetTopicPolicyConfig(AIGuardrailTopicPolicyConfig&& value) { m_topicPolicyConfigHasBeenSet = true; m_topicPolicyConfig = std::move(value); } + inline UpdateAIGuardrailRequest& WithTopicPolicyConfig(const AIGuardrailTopicPolicyConfig& value) { SetTopicPolicyConfig(value); return *this;} + inline UpdateAIGuardrailRequest& WithTopicPolicyConfig(AIGuardrailTopicPolicyConfig&& value) { SetTopicPolicyConfig(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The visibility status of the Amazon Q in Connect AI Guardrail.

          + */ + inline const VisibilityStatus& GetVisibilityStatus() const{ return m_visibilityStatus; } + inline bool VisibilityStatusHasBeenSet() const { return m_visibilityStatusHasBeenSet; } + inline void SetVisibilityStatus(const VisibilityStatus& value) { m_visibilityStatusHasBeenSet = true; m_visibilityStatus = value; } + inline void SetVisibilityStatus(VisibilityStatus&& value) { m_visibilityStatusHasBeenSet = true; m_visibilityStatus = std::move(value); } + inline UpdateAIGuardrailRequest& WithVisibilityStatus(const VisibilityStatus& value) { SetVisibilityStatus(value); return *this;} + inline UpdateAIGuardrailRequest& WithVisibilityStatus(VisibilityStatus&& value) { SetVisibilityStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The word policy you configure for the AI Guardrail.

          + */ + inline const AIGuardrailWordPolicyConfig& GetWordPolicyConfig() const{ return m_wordPolicyConfig; } + inline bool WordPolicyConfigHasBeenSet() const { return m_wordPolicyConfigHasBeenSet; } + inline void SetWordPolicyConfig(const AIGuardrailWordPolicyConfig& value) { m_wordPolicyConfigHasBeenSet = true; m_wordPolicyConfig = value; } + inline void SetWordPolicyConfig(AIGuardrailWordPolicyConfig&& value) { m_wordPolicyConfigHasBeenSet = true; m_wordPolicyConfig = std::move(value); } + inline UpdateAIGuardrailRequest& WithWordPolicyConfig(const AIGuardrailWordPolicyConfig& value) { SetWordPolicyConfig(value); return *this;} + inline UpdateAIGuardrailRequest& WithWordPolicyConfig(AIGuardrailWordPolicyConfig&& value) { SetWordPolicyConfig(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_aiGuardrailId; + bool m_aiGuardrailIdHasBeenSet = false; + + Aws::String m_assistantId; + bool m_assistantIdHasBeenSet = false; + + Aws::String m_blockedInputMessaging; + bool m_blockedInputMessagingHasBeenSet = false; + + Aws::String m_blockedOutputsMessaging; + bool m_blockedOutputsMessagingHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + AIGuardrailContentPolicyConfig m_contentPolicyConfig; + bool m_contentPolicyConfigHasBeenSet = false; + + AIGuardrailContextualGroundingPolicyConfig m_contextualGroundingPolicyConfig; + bool m_contextualGroundingPolicyConfigHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + AIGuardrailSensitiveInformationPolicyConfig m_sensitiveInformationPolicyConfig; + bool m_sensitiveInformationPolicyConfigHasBeenSet = false; + + AIGuardrailTopicPolicyConfig m_topicPolicyConfig; + bool m_topicPolicyConfigHasBeenSet = false; + + VisibilityStatus m_visibilityStatus; + bool m_visibilityStatusHasBeenSet = false; + + AIGuardrailWordPolicyConfig m_wordPolicyConfig; + bool m_wordPolicyConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/UpdateAIGuardrailResult.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/UpdateAIGuardrailResult.h new file mode 100644 index 00000000000..bca50d4065c --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/model/UpdateAIGuardrailResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QConnect +{ +namespace Model +{ + class UpdateAIGuardrailResult + { + public: + AWS_QCONNECT_API UpdateAIGuardrailResult(); + AWS_QCONNECT_API UpdateAIGuardrailResult(const Aws::AmazonWebServiceResult& result); + AWS_QCONNECT_API UpdateAIGuardrailResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The data of the updated Amazon Q in Connect AI Guardrail.

          + */ + inline const AIGuardrailData& GetAiGuardrail() const{ return m_aiGuardrail; } + inline void SetAiGuardrail(const AIGuardrailData& value) { m_aiGuardrail = value; } + inline void SetAiGuardrail(AIGuardrailData&& value) { m_aiGuardrail = std::move(value); } + inline UpdateAIGuardrailResult& WithAiGuardrail(const AIGuardrailData& value) { SetAiGuardrail(value); return *this;} + inline UpdateAIGuardrailResult& WithAiGuardrail(AIGuardrailData&& value) { SetAiGuardrail(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateAIGuardrailResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateAIGuardrailResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateAIGuardrailResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + AIGuardrailData m_aiGuardrail; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/QConnectClient.cpp b/generated/src/aws-cpp-sdk-qconnect/source/QConnectClient.cpp index 7daa9884516..1944cf3fbcf 100644 --- a/generated/src/aws-cpp-sdk-qconnect/source/QConnectClient.cpp +++ b/generated/src/aws-cpp-sdk-qconnect/source/QConnectClient.cpp @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include #include #include @@ -39,6 +41,8 @@ #include #include #include +#include +#include #include #include #include @@ -51,6 +55,7 @@ #include #include #include +#include #include #include #include @@ -60,10 +65,13 @@ #include #include #include +#include #include #include #include #include +#include +#include #include #include #include @@ -74,6 +82,7 @@ #include #include #include +#include #include #include #include @@ -85,11 +94,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -358,6 +369,81 @@ CreateAIAgentVersionOutcome QConnectClient::CreateAIAgentVersion(const CreateAIA {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateAIGuardrailOutcome QConnectClient::CreateAIGuardrail(const CreateAIGuardrailRequest& request) const +{ + AWS_OPERATION_GUARD(CreateAIGuardrail); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateAIGuardrail, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AssistantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateAIGuardrail", "Required field: AssistantId, is not set"); + return CreateAIGuardrailOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssistantId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateAIGuardrail, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateAIGuardrail, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateAIGuardrail", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateAIGuardrailOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateAIGuardrail, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assistants/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssistantId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aiguardrails"); + return CreateAIGuardrailOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateAIGuardrailVersionOutcome QConnectClient::CreateAIGuardrailVersion(const CreateAIGuardrailVersionRequest& request) const +{ + AWS_OPERATION_GUARD(CreateAIGuardrailVersion); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateAIGuardrailVersion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AiGuardrailIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateAIGuardrailVersion", "Required field: AiGuardrailId, is not set"); + return CreateAIGuardrailVersionOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AiGuardrailId]", false)); + } + if (!request.AssistantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateAIGuardrailVersion", "Required field: AssistantId, is not set"); + return CreateAIGuardrailVersionOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssistantId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateAIGuardrailVersion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateAIGuardrailVersion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateAIGuardrailVersion", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateAIGuardrailVersionOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateAIGuardrailVersion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assistants/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssistantId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aiguardrails/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAiGuardrailId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/versions"); + return CreateAIGuardrailVersionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateAIPromptOutcome QConnectClient::CreateAIPrompt(const CreateAIPromptRequest& request) const { AWS_OPERATION_GUARD(CreateAIPrompt); @@ -908,6 +994,93 @@ DeleteAIAgentVersionOutcome QConnectClient::DeleteAIAgentVersion(const DeleteAIA {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteAIGuardrailOutcome QConnectClient::DeleteAIGuardrail(const DeleteAIGuardrailRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteAIGuardrail); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteAIGuardrail, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AiGuardrailIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAIGuardrail", "Required field: AiGuardrailId, is not set"); + return DeleteAIGuardrailOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AiGuardrailId]", false)); + } + if (!request.AssistantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAIGuardrail", "Required field: AssistantId, is not set"); + return DeleteAIGuardrailOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssistantId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteAIGuardrail, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteAIGuardrail, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteAIGuardrail", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteAIGuardrailOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteAIGuardrail, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assistants/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssistantId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aiguardrails/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAiGuardrailId()); + return DeleteAIGuardrailOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteAIGuardrailVersionOutcome QConnectClient::DeleteAIGuardrailVersion(const DeleteAIGuardrailVersionRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteAIGuardrailVersion); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteAIGuardrailVersion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AiGuardrailIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAIGuardrailVersion", "Required field: AiGuardrailId, is not set"); + return DeleteAIGuardrailVersionOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AiGuardrailId]", false)); + } + if (!request.AssistantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAIGuardrailVersion", "Required field: AssistantId, is not set"); + return DeleteAIGuardrailVersionOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssistantId]", false)); + } + if (!request.VersionNumberHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAIGuardrailVersion", "Required field: VersionNumber, is not set"); + return DeleteAIGuardrailVersionOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [VersionNumber]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteAIGuardrailVersion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteAIGuardrailVersion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteAIGuardrailVersion", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteAIGuardrailVersionOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteAIGuardrailVersion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assistants/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssistantId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aiguardrails/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAiGuardrailId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/versions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetVersionNumber()); + return DeleteAIGuardrailVersionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteAIPromptOutcome QConnectClient::DeleteAIPrompt(const DeleteAIPromptRequest& request) const { AWS_OPERATION_GUARD(DeleteAIPrompt); @@ -1395,6 +1568,46 @@ GetAIAgentOutcome QConnectClient::GetAIAgent(const GetAIAgentRequest& request) c {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetAIGuardrailOutcome QConnectClient::GetAIGuardrail(const GetAIGuardrailRequest& request) const +{ + AWS_OPERATION_GUARD(GetAIGuardrail); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAIGuardrail, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AiGuardrailIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAIGuardrail", "Required field: AiGuardrailId, is not set"); + return GetAIGuardrailOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AiGuardrailId]", false)); + } + if (!request.AssistantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAIGuardrail", "Required field: AssistantId, is not set"); + return GetAIGuardrailOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssistantId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAIGuardrail, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAIGuardrail, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetAIGuardrail", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetAIGuardrailOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetAIGuardrail, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assistants/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssistantId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aiguardrails/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAiGuardrailId()); + return GetAIGuardrailOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetAIPromptOutcome QConnectClient::GetAIPrompt(const GetAIPromptRequest& request) const { AWS_OPERATION_GUARD(GetAIPrompt); @@ -1749,6 +1962,52 @@ GetMessageTemplateOutcome QConnectClient::GetMessageTemplate(const GetMessageTem {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetNextMessageOutcome QConnectClient::GetNextMessage(const GetNextMessageRequest& request) const +{ + AWS_OPERATION_GUARD(GetNextMessage); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetNextMessage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AssistantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetNextMessage", "Required field: AssistantId, is not set"); + return GetNextMessageOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssistantId]", false)); + } + if (!request.NextMessageTokenHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetNextMessage", "Required field: NextMessageToken, is not set"); + return GetNextMessageOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [NextMessageToken]", false)); + } + if (!request.SessionIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetNextMessage", "Required field: SessionId, is not set"); + return GetNextMessageOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SessionId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetNextMessage, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetNextMessage, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetNextMessage", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetNextMessageOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetNextMessage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assistants/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssistantId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/sessions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSessionId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/messages/next"); + return GetNextMessageOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetQuickResponseOutcome QConnectClient::GetQuickResponse(const GetQuickResponseRequest& request) const { AWS_OPERATION_GUARD(GetQuickResponse); @@ -1904,6 +2163,81 @@ ListAIAgentsOutcome QConnectClient::ListAIAgents(const ListAIAgentsRequest& requ {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListAIGuardrailVersionsOutcome QConnectClient::ListAIGuardrailVersions(const ListAIGuardrailVersionsRequest& request) const +{ + AWS_OPERATION_GUARD(ListAIGuardrailVersions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAIGuardrailVersions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AiGuardrailIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListAIGuardrailVersions", "Required field: AiGuardrailId, is not set"); + return ListAIGuardrailVersionsOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AiGuardrailId]", false)); + } + if (!request.AssistantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListAIGuardrailVersions", "Required field: AssistantId, is not set"); + return ListAIGuardrailVersionsOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssistantId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAIGuardrailVersions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAIGuardrailVersions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListAIGuardrailVersions", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListAIGuardrailVersionsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListAIGuardrailVersions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assistants/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssistantId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aiguardrails/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAiGuardrailId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/versions"); + return ListAIGuardrailVersionsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListAIGuardrailsOutcome QConnectClient::ListAIGuardrails(const ListAIGuardrailsRequest& request) const +{ + AWS_OPERATION_GUARD(ListAIGuardrails); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAIGuardrails, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AssistantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListAIGuardrails", "Required field: AssistantId, is not set"); + return ListAIGuardrailsOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssistantId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAIGuardrails, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAIGuardrails, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListAIGuardrails", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListAIGuardrailsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListAIGuardrails, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assistants/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssistantId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aiguardrails"); + return ListAIGuardrailsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListAIPromptVersionsOutcome QConnectClient::ListAIPromptVersions(const ListAIPromptVersionsRequest& request) const { AWS_OPERATION_GUARD(ListAIPromptVersions); @@ -2251,6 +2585,47 @@ ListMessageTemplatesOutcome QConnectClient::ListMessageTemplates(const ListMessa {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListMessagesOutcome QConnectClient::ListMessages(const ListMessagesRequest& request) const +{ + AWS_OPERATION_GUARD(ListMessages); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListMessages, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AssistantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListMessages", "Required field: AssistantId, is not set"); + return ListMessagesOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssistantId]", false)); + } + if (!request.SessionIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListMessages", "Required field: SessionId, is not set"); + return ListMessagesOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SessionId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListMessages, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListMessages, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListMessages", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListMessagesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListMessages, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assistants/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssistantId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/sessions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSessionId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/messages"); + return ListMessagesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListQuickResponsesOutcome QConnectClient::ListQuickResponses(const ListQuickResponsesRequest& request) const { AWS_OPERATION_GUARD(ListQuickResponses); @@ -2643,6 +3018,47 @@ SearchSessionsOutcome QConnectClient::SearchSessions(const SearchSessionsRequest {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +SendMessageOutcome QConnectClient::SendMessage(const SendMessageRequest& request) const +{ + AWS_OPERATION_GUARD(SendMessage); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SendMessage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AssistantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("SendMessage", "Required field: AssistantId, is not set"); + return SendMessageOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssistantId]", false)); + } + if (!request.SessionIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("SendMessage", "Required field: SessionId, is not set"); + return SendMessageOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SessionId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, SendMessage, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SendMessage, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".SendMessage", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SendMessageOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, SendMessage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assistants/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssistantId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/sessions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSessionId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/message"); + return SendMessageOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + StartContentUploadOutcome QConnectClient::StartContentUpload(const StartContentUploadRequest& request) const { AWS_OPERATION_GUARD(StartContentUpload); @@ -2822,6 +3238,46 @@ UpdateAIAgentOutcome QConnectClient::UpdateAIAgent(const UpdateAIAgentRequest& r {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateAIGuardrailOutcome QConnectClient::UpdateAIGuardrail(const UpdateAIGuardrailRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateAIGuardrail); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateAIGuardrail, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AiGuardrailIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateAIGuardrail", "Required field: AiGuardrailId, is not set"); + return UpdateAIGuardrailOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AiGuardrailId]", false)); + } + if (!request.AssistantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateAIGuardrail", "Required field: AssistantId, is not set"); + return UpdateAIGuardrailOutcome(Aws::Client::AWSError(QConnectErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssistantId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateAIGuardrail, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateAIGuardrail, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateAIGuardrail", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateAIGuardrailOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateAIGuardrail, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assistants/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssistantId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aiguardrails/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAiGuardrailId()); + return UpdateAIGuardrailOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateAIPromptOutcome QConnectClient::UpdateAIPrompt(const UpdateAIPromptRequest& request) const { AWS_OPERATION_GUARD(UpdateAIPrompt); diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AIAgentConfiguration.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AIAgentConfiguration.cpp index 95b3a27848d..04bf9b89c5c 100644 --- a/generated/src/aws-cpp-sdk-qconnect/source/model/AIAgentConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AIAgentConfiguration.cpp @@ -20,7 +20,8 @@ namespace Model AIAgentConfiguration::AIAgentConfiguration() : m_answerRecommendationAIAgentConfigurationHasBeenSet(false), - m_manualSearchAIAgentConfigurationHasBeenSet(false) + m_manualSearchAIAgentConfigurationHasBeenSet(false), + m_selfServiceAIAgentConfigurationHasBeenSet(false) { } @@ -46,6 +47,13 @@ AIAgentConfiguration& AIAgentConfiguration::operator =(JsonView jsonValue) m_manualSearchAIAgentConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("selfServiceAIAgentConfiguration")) + { + m_selfServiceAIAgentConfiguration = jsonValue.GetObject("selfServiceAIAgentConfiguration"); + + m_selfServiceAIAgentConfigurationHasBeenSet = true; + } + return *this; } @@ -65,6 +73,12 @@ JsonValue AIAgentConfiguration::Jsonize() const } + if(m_selfServiceAIAgentConfigurationHasBeenSet) + { + payload.WithObject("selfServiceAIAgentConfiguration", m_selfServiceAIAgentConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AIAgentType.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AIAgentType.cpp index 919a6c666ed..033f583f875 100644 --- a/generated/src/aws-cpp-sdk-qconnect/source/model/AIAgentType.cpp +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AIAgentType.cpp @@ -22,6 +22,7 @@ namespace Aws static const int MANUAL_SEARCH_HASH = HashingUtils::HashString("MANUAL_SEARCH"); static const int ANSWER_RECOMMENDATION_HASH = HashingUtils::HashString("ANSWER_RECOMMENDATION"); + static const int SELF_SERVICE_HASH = HashingUtils::HashString("SELF_SERVICE"); AIAgentType GetAIAgentTypeForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return AIAgentType::ANSWER_RECOMMENDATION; } + else if (hashCode == SELF_SERVICE_HASH) + { + return AIAgentType::SELF_SERVICE; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "MANUAL_SEARCH"; case AIAgentType::ANSWER_RECOMMENDATION: return "ANSWER_RECOMMENDATION"; + case AIAgentType::SELF_SERVICE: + return "SELF_SERVICE"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailContentPolicyConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailContentPolicyConfig.cpp new file mode 100644 index 00000000000..cd659a946b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailContentPolicyConfig.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +AIGuardrailContentPolicyConfig::AIGuardrailContentPolicyConfig() : + m_filtersConfigHasBeenSet(false) +{ +} + +AIGuardrailContentPolicyConfig::AIGuardrailContentPolicyConfig(JsonView jsonValue) + : AIGuardrailContentPolicyConfig() +{ + *this = jsonValue; +} + +AIGuardrailContentPolicyConfig& AIGuardrailContentPolicyConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("filtersConfig")) + { + Aws::Utils::Array filtersConfigJsonList = jsonValue.GetArray("filtersConfig"); + for(unsigned filtersConfigIndex = 0; filtersConfigIndex < filtersConfigJsonList.GetLength(); ++filtersConfigIndex) + { + m_filtersConfig.push_back(filtersConfigJsonList[filtersConfigIndex].AsObject()); + } + m_filtersConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue AIGuardrailContentPolicyConfig::Jsonize() const +{ + JsonValue payload; + + if(m_filtersConfigHasBeenSet) + { + Aws::Utils::Array filtersConfigJsonList(m_filtersConfig.size()); + for(unsigned filtersConfigIndex = 0; filtersConfigIndex < filtersConfigJsonList.GetLength(); ++filtersConfigIndex) + { + filtersConfigJsonList[filtersConfigIndex].AsObject(m_filtersConfig[filtersConfigIndex].Jsonize()); + } + payload.WithArray("filtersConfig", std::move(filtersConfigJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailContextualGroundingPolicyConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailContextualGroundingPolicyConfig.cpp new file mode 100644 index 00000000000..634713352a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailContextualGroundingPolicyConfig.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +AIGuardrailContextualGroundingPolicyConfig::AIGuardrailContextualGroundingPolicyConfig() : + m_filtersConfigHasBeenSet(false) +{ +} + +AIGuardrailContextualGroundingPolicyConfig::AIGuardrailContextualGroundingPolicyConfig(JsonView jsonValue) + : AIGuardrailContextualGroundingPolicyConfig() +{ + *this = jsonValue; +} + +AIGuardrailContextualGroundingPolicyConfig& AIGuardrailContextualGroundingPolicyConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("filtersConfig")) + { + Aws::Utils::Array filtersConfigJsonList = jsonValue.GetArray("filtersConfig"); + for(unsigned filtersConfigIndex = 0; filtersConfigIndex < filtersConfigJsonList.GetLength(); ++filtersConfigIndex) + { + m_filtersConfig.push_back(filtersConfigJsonList[filtersConfigIndex].AsObject()); + } + m_filtersConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue AIGuardrailContextualGroundingPolicyConfig::Jsonize() const +{ + JsonValue payload; + + if(m_filtersConfigHasBeenSet) + { + Aws::Utils::Array filtersConfigJsonList(m_filtersConfig.size()); + for(unsigned filtersConfigIndex = 0; filtersConfigIndex < filtersConfigJsonList.GetLength(); ++filtersConfigIndex) + { + filtersConfigJsonList[filtersConfigIndex].AsObject(m_filtersConfig[filtersConfigIndex].Jsonize()); + } + payload.WithArray("filtersConfig", std::move(filtersConfigJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailData.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailData.cpp new file mode 100644 index 00000000000..e70a811ab10 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailData.cpp @@ -0,0 +1,290 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +AIGuardrailData::AIGuardrailData() : + m_aiGuardrailArnHasBeenSet(false), + m_aiGuardrailIdHasBeenSet(false), + m_assistantArnHasBeenSet(false), + m_assistantIdHasBeenSet(false), + m_blockedInputMessagingHasBeenSet(false), + m_blockedOutputsMessagingHasBeenSet(false), + m_contentPolicyConfigHasBeenSet(false), + m_contextualGroundingPolicyConfigHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_modifiedTimeHasBeenSet(false), + m_nameHasBeenSet(false), + m_sensitiveInformationPolicyConfigHasBeenSet(false), + m_status(Status::NOT_SET), + m_statusHasBeenSet(false), + m_tagsHasBeenSet(false), + m_topicPolicyConfigHasBeenSet(false), + m_visibilityStatus(VisibilityStatus::NOT_SET), + m_visibilityStatusHasBeenSet(false), + m_wordPolicyConfigHasBeenSet(false) +{ +} + +AIGuardrailData::AIGuardrailData(JsonView jsonValue) + : AIGuardrailData() +{ + *this = jsonValue; +} + +AIGuardrailData& AIGuardrailData::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("aiGuardrailArn")) + { + m_aiGuardrailArn = jsonValue.GetString("aiGuardrailArn"); + + m_aiGuardrailArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("aiGuardrailId")) + { + m_aiGuardrailId = jsonValue.GetString("aiGuardrailId"); + + m_aiGuardrailIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("assistantArn")) + { + m_assistantArn = jsonValue.GetString("assistantArn"); + + m_assistantArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("assistantId")) + { + m_assistantId = jsonValue.GetString("assistantId"); + + m_assistantIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("blockedInputMessaging")) + { + m_blockedInputMessaging = jsonValue.GetString("blockedInputMessaging"); + + m_blockedInputMessagingHasBeenSet = true; + } + + if(jsonValue.ValueExists("blockedOutputsMessaging")) + { + m_blockedOutputsMessaging = jsonValue.GetString("blockedOutputsMessaging"); + + m_blockedOutputsMessagingHasBeenSet = true; + } + + if(jsonValue.ValueExists("contentPolicyConfig")) + { + m_contentPolicyConfig = jsonValue.GetObject("contentPolicyConfig"); + + m_contentPolicyConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("contextualGroundingPolicyConfig")) + { + m_contextualGroundingPolicyConfig = jsonValue.GetObject("contextualGroundingPolicyConfig"); + + m_contextualGroundingPolicyConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("modifiedTime")) + { + m_modifiedTime = jsonValue.GetDouble("modifiedTime"); + + m_modifiedTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("sensitiveInformationPolicyConfig")) + { + m_sensitiveInformationPolicyConfig = jsonValue.GetObject("sensitiveInformationPolicyConfig"); + + m_sensitiveInformationPolicyConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = StatusMapper::GetStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + if(jsonValue.ValueExists("topicPolicyConfig")) + { + m_topicPolicyConfig = jsonValue.GetObject("topicPolicyConfig"); + + m_topicPolicyConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("visibilityStatus")) + { + m_visibilityStatus = VisibilityStatusMapper::GetVisibilityStatusForName(jsonValue.GetString("visibilityStatus")); + + m_visibilityStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("wordPolicyConfig")) + { + m_wordPolicyConfig = jsonValue.GetObject("wordPolicyConfig"); + + m_wordPolicyConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue AIGuardrailData::Jsonize() const +{ + JsonValue payload; + + if(m_aiGuardrailArnHasBeenSet) + { + payload.WithString("aiGuardrailArn", m_aiGuardrailArn); + + } + + if(m_aiGuardrailIdHasBeenSet) + { + payload.WithString("aiGuardrailId", m_aiGuardrailId); + + } + + if(m_assistantArnHasBeenSet) + { + payload.WithString("assistantArn", m_assistantArn); + + } + + if(m_assistantIdHasBeenSet) + { + payload.WithString("assistantId", m_assistantId); + + } + + if(m_blockedInputMessagingHasBeenSet) + { + payload.WithString("blockedInputMessaging", m_blockedInputMessaging); + + } + + if(m_blockedOutputsMessagingHasBeenSet) + { + payload.WithString("blockedOutputsMessaging", m_blockedOutputsMessaging); + + } + + if(m_contentPolicyConfigHasBeenSet) + { + payload.WithObject("contentPolicyConfig", m_contentPolicyConfig.Jsonize()); + + } + + if(m_contextualGroundingPolicyConfigHasBeenSet) + { + payload.WithObject("contextualGroundingPolicyConfig", m_contextualGroundingPolicyConfig.Jsonize()); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_modifiedTimeHasBeenSet) + { + payload.WithDouble("modifiedTime", m_modifiedTime.SecondsWithMSPrecision()); + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_sensitiveInformationPolicyConfigHasBeenSet) + { + payload.WithObject("sensitiveInformationPolicyConfig", m_sensitiveInformationPolicyConfig.Jsonize()); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", StatusMapper::GetNameForStatus(m_status)); + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_topicPolicyConfigHasBeenSet) + { + payload.WithObject("topicPolicyConfig", m_topicPolicyConfig.Jsonize()); + + } + + if(m_visibilityStatusHasBeenSet) + { + payload.WithString("visibilityStatus", VisibilityStatusMapper::GetNameForVisibilityStatus(m_visibilityStatus)); + } + + if(m_wordPolicyConfigHasBeenSet) + { + payload.WithObject("wordPolicyConfig", m_wordPolicyConfig.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailSensitiveInformationPolicyConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailSensitiveInformationPolicyConfig.cpp new file mode 100644 index 00000000000..f9d0f4e6bbd --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailSensitiveInformationPolicyConfig.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +AIGuardrailSensitiveInformationPolicyConfig::AIGuardrailSensitiveInformationPolicyConfig() : + m_piiEntitiesConfigHasBeenSet(false), + m_regexesConfigHasBeenSet(false) +{ +} + +AIGuardrailSensitiveInformationPolicyConfig::AIGuardrailSensitiveInformationPolicyConfig(JsonView jsonValue) + : AIGuardrailSensitiveInformationPolicyConfig() +{ + *this = jsonValue; +} + +AIGuardrailSensitiveInformationPolicyConfig& AIGuardrailSensitiveInformationPolicyConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("piiEntitiesConfig")) + { + Aws::Utils::Array piiEntitiesConfigJsonList = jsonValue.GetArray("piiEntitiesConfig"); + for(unsigned piiEntitiesConfigIndex = 0; piiEntitiesConfigIndex < piiEntitiesConfigJsonList.GetLength(); ++piiEntitiesConfigIndex) + { + m_piiEntitiesConfig.push_back(piiEntitiesConfigJsonList[piiEntitiesConfigIndex].AsObject()); + } + m_piiEntitiesConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("regexesConfig")) + { + Aws::Utils::Array regexesConfigJsonList = jsonValue.GetArray("regexesConfig"); + for(unsigned regexesConfigIndex = 0; regexesConfigIndex < regexesConfigJsonList.GetLength(); ++regexesConfigIndex) + { + m_regexesConfig.push_back(regexesConfigJsonList[regexesConfigIndex].AsObject()); + } + m_regexesConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue AIGuardrailSensitiveInformationPolicyConfig::Jsonize() const +{ + JsonValue payload; + + if(m_piiEntitiesConfigHasBeenSet) + { + Aws::Utils::Array piiEntitiesConfigJsonList(m_piiEntitiesConfig.size()); + for(unsigned piiEntitiesConfigIndex = 0; piiEntitiesConfigIndex < piiEntitiesConfigJsonList.GetLength(); ++piiEntitiesConfigIndex) + { + piiEntitiesConfigJsonList[piiEntitiesConfigIndex].AsObject(m_piiEntitiesConfig[piiEntitiesConfigIndex].Jsonize()); + } + payload.WithArray("piiEntitiesConfig", std::move(piiEntitiesConfigJsonList)); + + } + + if(m_regexesConfigHasBeenSet) + { + Aws::Utils::Array regexesConfigJsonList(m_regexesConfig.size()); + for(unsigned regexesConfigIndex = 0; regexesConfigIndex < regexesConfigJsonList.GetLength(); ++regexesConfigIndex) + { + regexesConfigJsonList[regexesConfigIndex].AsObject(m_regexesConfig[regexesConfigIndex].Jsonize()); + } + payload.WithArray("regexesConfig", std::move(regexesConfigJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailSummary.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailSummary.cpp new file mode 100644 index 00000000000..0826f8de82f --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailSummary.cpp @@ -0,0 +1,192 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +AIGuardrailSummary::AIGuardrailSummary() : + m_aiGuardrailArnHasBeenSet(false), + m_aiGuardrailIdHasBeenSet(false), + m_assistantArnHasBeenSet(false), + m_assistantIdHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_modifiedTimeHasBeenSet(false), + m_nameHasBeenSet(false), + m_status(Status::NOT_SET), + m_statusHasBeenSet(false), + m_tagsHasBeenSet(false), + m_visibilityStatus(VisibilityStatus::NOT_SET), + m_visibilityStatusHasBeenSet(false) +{ +} + +AIGuardrailSummary::AIGuardrailSummary(JsonView jsonValue) + : AIGuardrailSummary() +{ + *this = jsonValue; +} + +AIGuardrailSummary& AIGuardrailSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("aiGuardrailArn")) + { + m_aiGuardrailArn = jsonValue.GetString("aiGuardrailArn"); + + m_aiGuardrailArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("aiGuardrailId")) + { + m_aiGuardrailId = jsonValue.GetString("aiGuardrailId"); + + m_aiGuardrailIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("assistantArn")) + { + m_assistantArn = jsonValue.GetString("assistantArn"); + + m_assistantArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("assistantId")) + { + m_assistantId = jsonValue.GetString("assistantId"); + + m_assistantIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("modifiedTime")) + { + m_modifiedTime = jsonValue.GetDouble("modifiedTime"); + + m_modifiedTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = StatusMapper::GetStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + if(jsonValue.ValueExists("visibilityStatus")) + { + m_visibilityStatus = VisibilityStatusMapper::GetVisibilityStatusForName(jsonValue.GetString("visibilityStatus")); + + m_visibilityStatusHasBeenSet = true; + } + + return *this; +} + +JsonValue AIGuardrailSummary::Jsonize() const +{ + JsonValue payload; + + if(m_aiGuardrailArnHasBeenSet) + { + payload.WithString("aiGuardrailArn", m_aiGuardrailArn); + + } + + if(m_aiGuardrailIdHasBeenSet) + { + payload.WithString("aiGuardrailId", m_aiGuardrailId); + + } + + if(m_assistantArnHasBeenSet) + { + payload.WithString("assistantArn", m_assistantArn); + + } + + if(m_assistantIdHasBeenSet) + { + payload.WithString("assistantId", m_assistantId); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_modifiedTimeHasBeenSet) + { + payload.WithDouble("modifiedTime", m_modifiedTime.SecondsWithMSPrecision()); + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", StatusMapper::GetNameForStatus(m_status)); + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_visibilityStatusHasBeenSet) + { + payload.WithString("visibilityStatus", VisibilityStatusMapper::GetNameForVisibilityStatus(m_visibilityStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailTopicPolicyConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailTopicPolicyConfig.cpp new file mode 100644 index 00000000000..9d57e95bd3c --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailTopicPolicyConfig.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +AIGuardrailTopicPolicyConfig::AIGuardrailTopicPolicyConfig() : + m_topicsConfigHasBeenSet(false) +{ +} + +AIGuardrailTopicPolicyConfig::AIGuardrailTopicPolicyConfig(JsonView jsonValue) + : AIGuardrailTopicPolicyConfig() +{ + *this = jsonValue; +} + +AIGuardrailTopicPolicyConfig& AIGuardrailTopicPolicyConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("topicsConfig")) + { + Aws::Utils::Array topicsConfigJsonList = jsonValue.GetArray("topicsConfig"); + for(unsigned topicsConfigIndex = 0; topicsConfigIndex < topicsConfigJsonList.GetLength(); ++topicsConfigIndex) + { + m_topicsConfig.push_back(topicsConfigJsonList[topicsConfigIndex].AsObject()); + } + m_topicsConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue AIGuardrailTopicPolicyConfig::Jsonize() const +{ + JsonValue payload; + + if(m_topicsConfigHasBeenSet) + { + Aws::Utils::Array topicsConfigJsonList(m_topicsConfig.size()); + for(unsigned topicsConfigIndex = 0; topicsConfigIndex < topicsConfigJsonList.GetLength(); ++topicsConfigIndex) + { + topicsConfigJsonList[topicsConfigIndex].AsObject(m_topicsConfig[topicsConfigIndex].Jsonize()); + } + payload.WithArray("topicsConfig", std::move(topicsConfigJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailVersionSummary.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailVersionSummary.cpp new file mode 100644 index 00000000000..0579aa5fb8b --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailVersionSummary.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +AIGuardrailVersionSummary::AIGuardrailVersionSummary() : + m_aiGuardrailSummaryHasBeenSet(false), + m_versionNumber(0), + m_versionNumberHasBeenSet(false) +{ +} + +AIGuardrailVersionSummary::AIGuardrailVersionSummary(JsonView jsonValue) + : AIGuardrailVersionSummary() +{ + *this = jsonValue; +} + +AIGuardrailVersionSummary& AIGuardrailVersionSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("aiGuardrailSummary")) + { + m_aiGuardrailSummary = jsonValue.GetObject("aiGuardrailSummary"); + + m_aiGuardrailSummaryHasBeenSet = true; + } + + if(jsonValue.ValueExists("versionNumber")) + { + m_versionNumber = jsonValue.GetInt64("versionNumber"); + + m_versionNumberHasBeenSet = true; + } + + return *this; +} + +JsonValue AIGuardrailVersionSummary::Jsonize() const +{ + JsonValue payload; + + if(m_aiGuardrailSummaryHasBeenSet) + { + payload.WithObject("aiGuardrailSummary", m_aiGuardrailSummary.Jsonize()); + + } + + if(m_versionNumberHasBeenSet) + { + payload.WithInt64("versionNumber", m_versionNumber); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailWordPolicyConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailWordPolicyConfig.cpp new file mode 100644 index 00000000000..813ee904d30 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AIGuardrailWordPolicyConfig.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +AIGuardrailWordPolicyConfig::AIGuardrailWordPolicyConfig() : + m_managedWordListsConfigHasBeenSet(false), + m_wordsConfigHasBeenSet(false) +{ +} + +AIGuardrailWordPolicyConfig::AIGuardrailWordPolicyConfig(JsonView jsonValue) + : AIGuardrailWordPolicyConfig() +{ + *this = jsonValue; +} + +AIGuardrailWordPolicyConfig& AIGuardrailWordPolicyConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("managedWordListsConfig")) + { + Aws::Utils::Array managedWordListsConfigJsonList = jsonValue.GetArray("managedWordListsConfig"); + for(unsigned managedWordListsConfigIndex = 0; managedWordListsConfigIndex < managedWordListsConfigJsonList.GetLength(); ++managedWordListsConfigIndex) + { + m_managedWordListsConfig.push_back(managedWordListsConfigJsonList[managedWordListsConfigIndex].AsObject()); + } + m_managedWordListsConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("wordsConfig")) + { + Aws::Utils::Array wordsConfigJsonList = jsonValue.GetArray("wordsConfig"); + for(unsigned wordsConfigIndex = 0; wordsConfigIndex < wordsConfigJsonList.GetLength(); ++wordsConfigIndex) + { + m_wordsConfig.push_back(wordsConfigJsonList[wordsConfigIndex].AsObject()); + } + m_wordsConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue AIGuardrailWordPolicyConfig::Jsonize() const +{ + JsonValue payload; + + if(m_managedWordListsConfigHasBeenSet) + { + Aws::Utils::Array managedWordListsConfigJsonList(m_managedWordListsConfig.size()); + for(unsigned managedWordListsConfigIndex = 0; managedWordListsConfigIndex < managedWordListsConfigJsonList.GetLength(); ++managedWordListsConfigIndex) + { + managedWordListsConfigJsonList[managedWordListsConfigIndex].AsObject(m_managedWordListsConfig[managedWordListsConfigIndex].Jsonize()); + } + payload.WithArray("managedWordListsConfig", std::move(managedWordListsConfigJsonList)); + + } + + if(m_wordsConfigHasBeenSet) + { + Aws::Utils::Array wordsConfigJsonList(m_wordsConfig.size()); + for(unsigned wordsConfigIndex = 0; wordsConfigIndex < wordsConfigJsonList.GetLength(); ++wordsConfigIndex) + { + wordsConfigJsonList[wordsConfigIndex].AsObject(m_wordsConfig[wordsConfigIndex].Jsonize()); + } + payload.WithArray("wordsConfig", std::move(wordsConfigJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AIPromptType.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AIPromptType.cpp index 0be60067c28..18a8c57e3a1 100644 --- a/generated/src/aws-cpp-sdk-qconnect/source/model/AIPromptType.cpp +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AIPromptType.cpp @@ -23,6 +23,8 @@ namespace Aws static const int ANSWER_GENERATION_HASH = HashingUtils::HashString("ANSWER_GENERATION"); static const int INTENT_LABELING_GENERATION_HASH = HashingUtils::HashString("INTENT_LABELING_GENERATION"); static const int QUERY_REFORMULATION_HASH = HashingUtils::HashString("QUERY_REFORMULATION"); + static const int SELF_SERVICE_PRE_PROCESSING_HASH = HashingUtils::HashString("SELF_SERVICE_PRE_PROCESSING"); + static const int SELF_SERVICE_ANSWER_GENERATION_HASH = HashingUtils::HashString("SELF_SERVICE_ANSWER_GENERATION"); AIPromptType GetAIPromptTypeForName(const Aws::String& name) @@ -40,6 +42,14 @@ namespace Aws { return AIPromptType::QUERY_REFORMULATION; } + else if (hashCode == SELF_SERVICE_PRE_PROCESSING_HASH) + { + return AIPromptType::SELF_SERVICE_PRE_PROCESSING; + } + else if (hashCode == SELF_SERVICE_ANSWER_GENERATION_HASH) + { + return AIPromptType::SELF_SERVICE_ANSWER_GENERATION; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +72,10 @@ namespace Aws return "INTENT_LABELING_GENERATION"; case AIPromptType::QUERY_REFORMULATION: return "QUERY_REFORMULATION"; + case AIPromptType::SELF_SERVICE_PRE_PROCESSING: + return "SELF_SERVICE_PRE_PROCESSING"; + case AIPromptType::SELF_SERVICE_ANSWER_GENERATION: + return "SELF_SERVICE_ANSWER_GENERATION"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/AnswerRecommendationAIAgentConfiguration.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/AnswerRecommendationAIAgentConfiguration.cpp index c6516136c4a..e2191aead14 100644 --- a/generated/src/aws-cpp-sdk-qconnect/source/model/AnswerRecommendationAIAgentConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/AnswerRecommendationAIAgentConfiguration.cpp @@ -19,6 +19,7 @@ namespace Model { AnswerRecommendationAIAgentConfiguration::AnswerRecommendationAIAgentConfiguration() : + m_answerGenerationAIGuardrailIdHasBeenSet(false), m_answerGenerationAIPromptIdHasBeenSet(false), m_associationConfigurationsHasBeenSet(false), m_intentLabelingGenerationAIPromptIdHasBeenSet(false), @@ -34,6 +35,13 @@ AnswerRecommendationAIAgentConfiguration::AnswerRecommendationAIAgentConfigurati AnswerRecommendationAIAgentConfiguration& AnswerRecommendationAIAgentConfiguration::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("answerGenerationAIGuardrailId")) + { + m_answerGenerationAIGuardrailId = jsonValue.GetString("answerGenerationAIGuardrailId"); + + m_answerGenerationAIGuardrailIdHasBeenSet = true; + } + if(jsonValue.ValueExists("answerGenerationAIPromptId")) { m_answerGenerationAIPromptId = jsonValue.GetString("answerGenerationAIPromptId"); @@ -72,6 +80,12 @@ JsonValue AnswerRecommendationAIAgentConfiguration::Jsonize() const { JsonValue payload; + if(m_answerGenerationAIGuardrailIdHasBeenSet) + { + payload.WithString("answerGenerationAIGuardrailId", m_answerGenerationAIGuardrailId); + + } + if(m_answerGenerationAIPromptIdHasBeenSet) { payload.WithString("answerGenerationAIPromptId", m_answerGenerationAIPromptId); diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationContext.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationContext.cpp new file mode 100644 index 00000000000..75ed519c4cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationContext.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +ConversationContext::ConversationContext() : + m_selfServiceConversationHistoryHasBeenSet(false) +{ +} + +ConversationContext::ConversationContext(JsonView jsonValue) + : ConversationContext() +{ + *this = jsonValue; +} + +ConversationContext& ConversationContext::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("selfServiceConversationHistory")) + { + Aws::Utils::Array selfServiceConversationHistoryJsonList = jsonValue.GetArray("selfServiceConversationHistory"); + for(unsigned selfServiceConversationHistoryIndex = 0; selfServiceConversationHistoryIndex < selfServiceConversationHistoryJsonList.GetLength(); ++selfServiceConversationHistoryIndex) + { + m_selfServiceConversationHistory.push_back(selfServiceConversationHistoryJsonList[selfServiceConversationHistoryIndex].AsObject()); + } + m_selfServiceConversationHistoryHasBeenSet = true; + } + + return *this; +} + +JsonValue ConversationContext::Jsonize() const +{ + JsonValue payload; + + if(m_selfServiceConversationHistoryHasBeenSet) + { + Aws::Utils::Array selfServiceConversationHistoryJsonList(m_selfServiceConversationHistory.size()); + for(unsigned selfServiceConversationHistoryIndex = 0; selfServiceConversationHistoryIndex < selfServiceConversationHistoryJsonList.GetLength(); ++selfServiceConversationHistoryIndex) + { + selfServiceConversationHistoryJsonList[selfServiceConversationHistoryIndex].AsObject(m_selfServiceConversationHistory[selfServiceConversationHistoryIndex].Jsonize()); + } + payload.WithArray("selfServiceConversationHistory", std::move(selfServiceConversationHistoryJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationState.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationState.cpp new file mode 100644 index 00000000000..679b810bef8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationState.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +ConversationState::ConversationState() : + m_reason(ConversationStatusReason::NOT_SET), + m_reasonHasBeenSet(false), + m_status(ConversationStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +ConversationState::ConversationState(JsonView jsonValue) + : ConversationState() +{ + *this = jsonValue; +} + +ConversationState& ConversationState::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("reason")) + { + m_reason = ConversationStatusReasonMapper::GetConversationStatusReasonForName(jsonValue.GetString("reason")); + + m_reasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ConversationStatusMapper::GetConversationStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue ConversationState::Jsonize() const +{ + JsonValue payload; + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", ConversationStatusReasonMapper::GetNameForConversationStatusReason(m_reason)); + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ConversationStatusMapper::GetNameForConversationStatus(m_status)); + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationStatus.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationStatus.cpp new file mode 100644 index 00000000000..095a4e09a91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationStatus.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QConnect + { + namespace Model + { + namespace ConversationStatusMapper + { + + static const int CLOSED_HASH = HashingUtils::HashString("CLOSED"); + static const int READY_HASH = HashingUtils::HashString("READY"); + static const int PROCESSING_HASH = HashingUtils::HashString("PROCESSING"); + + + ConversationStatus GetConversationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CLOSED_HASH) + { + return ConversationStatus::CLOSED; + } + else if (hashCode == READY_HASH) + { + return ConversationStatus::READY; + } + else if (hashCode == PROCESSING_HASH) + { + return ConversationStatus::PROCESSING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConversationStatus::NOT_SET; + } + + Aws::String GetNameForConversationStatus(ConversationStatus enumValue) + { + switch(enumValue) + { + case ConversationStatus::NOT_SET: + return {}; + case ConversationStatus::CLOSED: + return "CLOSED"; + case ConversationStatus::READY: + return "READY"; + case ConversationStatus::PROCESSING: + return "PROCESSING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConversationStatusMapper + } // namespace Model + } // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationStatusReason.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationStatusReason.cpp new file mode 100644 index 00000000000..8be11c51136 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/ConversationStatusReason.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QConnect + { + namespace Model + { + namespace ConversationStatusReasonMapper + { + + static const int SUCCESS_HASH = HashingUtils::HashString("SUCCESS"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int REJECTED_HASH = HashingUtils::HashString("REJECTED"); + + + ConversationStatusReason GetConversationStatusReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SUCCESS_HASH) + { + return ConversationStatusReason::SUCCESS; + } + else if (hashCode == FAILED_HASH) + { + return ConversationStatusReason::FAILED; + } + else if (hashCode == REJECTED_HASH) + { + return ConversationStatusReason::REJECTED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConversationStatusReason::NOT_SET; + } + + Aws::String GetNameForConversationStatusReason(ConversationStatusReason enumValue) + { + switch(enumValue) + { + case ConversationStatusReason::NOT_SET: + return {}; + case ConversationStatusReason::SUCCESS: + return "SUCCESS"; + case ConversationStatusReason::FAILED: + return "FAILED"; + case ConversationStatusReason::REJECTED: + return "REJECTED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConversationStatusReasonMapper + } // namespace Model + } // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailRequest.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailRequest.cpp new file mode 100644 index 00000000000..5397c1437fb --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailRequest.cpp @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateAIGuardrailRequest::CreateAIGuardrailRequest() : + m_assistantIdHasBeenSet(false), + m_blockedInputMessagingHasBeenSet(false), + m_blockedOutputsMessagingHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_contentPolicyConfigHasBeenSet(false), + m_contextualGroundingPolicyConfigHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_nameHasBeenSet(false), + m_sensitiveInformationPolicyConfigHasBeenSet(false), + m_tagsHasBeenSet(false), + m_topicPolicyConfigHasBeenSet(false), + m_visibilityStatus(VisibilityStatus::NOT_SET), + m_visibilityStatusHasBeenSet(false), + m_wordPolicyConfigHasBeenSet(false) +{ +} + +Aws::String CreateAIGuardrailRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_blockedInputMessagingHasBeenSet) + { + payload.WithString("blockedInputMessaging", m_blockedInputMessaging); + + } + + if(m_blockedOutputsMessagingHasBeenSet) + { + payload.WithString("blockedOutputsMessaging", m_blockedOutputsMessaging); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_contentPolicyConfigHasBeenSet) + { + payload.WithObject("contentPolicyConfig", m_contentPolicyConfig.Jsonize()); + + } + + if(m_contextualGroundingPolicyConfigHasBeenSet) + { + payload.WithObject("contextualGroundingPolicyConfig", m_contextualGroundingPolicyConfig.Jsonize()); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_sensitiveInformationPolicyConfigHasBeenSet) + { + payload.WithObject("sensitiveInformationPolicyConfig", m_sensitiveInformationPolicyConfig.Jsonize()); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_topicPolicyConfigHasBeenSet) + { + payload.WithObject("topicPolicyConfig", m_topicPolicyConfig.Jsonize()); + + } + + if(m_visibilityStatusHasBeenSet) + { + payload.WithString("visibilityStatus", VisibilityStatusMapper::GetNameForVisibilityStatus(m_visibilityStatus)); + } + + if(m_wordPolicyConfigHasBeenSet) + { + payload.WithObject("wordPolicyConfig", m_wordPolicyConfig.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailResult.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailResult.cpp new file mode 100644 index 00000000000..a69e2f832fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateAIGuardrailResult::CreateAIGuardrailResult() +{ +} + +CreateAIGuardrailResult::CreateAIGuardrailResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateAIGuardrailResult& CreateAIGuardrailResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("aiGuardrail")) + { + m_aiGuardrail = jsonValue.GetObject("aiGuardrail"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailVersionRequest.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailVersionRequest.cpp new file mode 100644 index 00000000000..d022d4d3a80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailVersionRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateAIGuardrailVersionRequest::CreateAIGuardrailVersionRequest() : + m_aiGuardrailIdHasBeenSet(false), + m_assistantIdHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_modifiedTimeHasBeenSet(false) +{ +} + +Aws::String CreateAIGuardrailVersionRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_modifiedTimeHasBeenSet) + { + payload.WithDouble("modifiedTime", m_modifiedTime.SecondsWithMSPrecision()); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailVersionResult.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailVersionResult.cpp new file mode 100644 index 00000000000..89e8a9da2b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/CreateAIGuardrailVersionResult.cpp @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateAIGuardrailVersionResult::CreateAIGuardrailVersionResult() : + m_versionNumber(0) +{ +} + +CreateAIGuardrailVersionResult::CreateAIGuardrailVersionResult(const Aws::AmazonWebServiceResult& result) + : CreateAIGuardrailVersionResult() +{ + *this = result; +} + +CreateAIGuardrailVersionResult& CreateAIGuardrailVersionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("aiGuardrail")) + { + m_aiGuardrail = jsonValue.GetObject("aiGuardrail"); + + } + + if(jsonValue.ValueExists("versionNumber")) + { + m_versionNumber = jsonValue.GetInt64("versionNumber"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailRequest.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailRequest.cpp new file mode 100644 index 00000000000..848b71b37a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteAIGuardrailRequest::DeleteAIGuardrailRequest() : + m_aiGuardrailIdHasBeenSet(false), + m_assistantIdHasBeenSet(false) +{ +} + +Aws::String DeleteAIGuardrailRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailResult.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailResult.cpp new file mode 100644 index 00000000000..4487a486842 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteAIGuardrailResult::DeleteAIGuardrailResult() +{ +} + +DeleteAIGuardrailResult::DeleteAIGuardrailResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteAIGuardrailResult& DeleteAIGuardrailResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailVersionRequest.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailVersionRequest.cpp new file mode 100644 index 00000000000..0f519674d38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailVersionRequest.cpp @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteAIGuardrailVersionRequest::DeleteAIGuardrailVersionRequest() : + m_aiGuardrailIdHasBeenSet(false), + m_assistantIdHasBeenSet(false), + m_versionNumber(0), + m_versionNumberHasBeenSet(false) +{ +} + +Aws::String DeleteAIGuardrailVersionRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailVersionResult.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailVersionResult.cpp new file mode 100644 index 00000000000..5b26cc2ddd0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/DeleteAIGuardrailVersionResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteAIGuardrailVersionResult::DeleteAIGuardrailVersionResult() +{ +} + +DeleteAIGuardrailVersionResult::DeleteAIGuardrailVersionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteAIGuardrailVersionResult& DeleteAIGuardrailVersionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GetAIGuardrailRequest.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GetAIGuardrailRequest.cpp new file mode 100644 index 00000000000..e24e585cf38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GetAIGuardrailRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetAIGuardrailRequest::GetAIGuardrailRequest() : + m_aiGuardrailIdHasBeenSet(false), + m_assistantIdHasBeenSet(false) +{ +} + +Aws::String GetAIGuardrailRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GetAIGuardrailResult.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GetAIGuardrailResult.cpp new file mode 100644 index 00000000000..8ac5b1b48f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GetAIGuardrailResult.cpp @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetAIGuardrailResult::GetAIGuardrailResult() : + m_versionNumber(0) +{ +} + +GetAIGuardrailResult::GetAIGuardrailResult(const Aws::AmazonWebServiceResult& result) + : GetAIGuardrailResult() +{ + *this = result; +} + +GetAIGuardrailResult& GetAIGuardrailResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("aiGuardrail")) + { + m_aiGuardrail = jsonValue.GetObject("aiGuardrail"); + + } + + if(jsonValue.ValueExists("versionNumber")) + { + m_versionNumber = jsonValue.GetInt64("versionNumber"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GetNextMessageRequest.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GetNextMessageRequest.cpp new file mode 100644 index 00000000000..926a827c475 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GetNextMessageRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetNextMessageRequest::GetNextMessageRequest() : + m_assistantIdHasBeenSet(false), + m_nextMessageTokenHasBeenSet(false), + m_sessionIdHasBeenSet(false) +{ +} + +Aws::String GetNextMessageRequest::SerializePayload() const +{ + return {}; +} + +void GetNextMessageRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextMessageTokenHasBeenSet) + { + ss << m_nextMessageToken; + uri.AddQueryStringParameter("nextMessageToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GetNextMessageResult.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GetNextMessageResult.cpp new file mode 100644 index 00000000000..b86b327f1ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GetNextMessageResult.cpp @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetNextMessageResult::GetNextMessageResult() : + m_type(MessageType::NOT_SET) +{ +} + +GetNextMessageResult::GetNextMessageResult(const Aws::AmazonWebServiceResult& result) + : GetNextMessageResult() +{ + *this = result; +} + +GetNextMessageResult& GetNextMessageResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("conversationSessionData")) + { + Aws::Utils::Array conversationSessionDataJsonList = jsonValue.GetArray("conversationSessionData"); + for(unsigned conversationSessionDataIndex = 0; conversationSessionDataIndex < conversationSessionDataJsonList.GetLength(); ++conversationSessionDataIndex) + { + m_conversationSessionData.push_back(conversationSessionDataJsonList[conversationSessionDataIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("conversationState")) + { + m_conversationState = jsonValue.GetObject("conversationState"); + + } + + if(jsonValue.ValueExists("nextMessageToken")) + { + m_nextMessageToken = jsonValue.GetString("nextMessageToken"); + + } + + if(jsonValue.ValueExists("requestMessageId")) + { + m_requestMessageId = jsonValue.GetString("requestMessageId"); + + } + + if(jsonValue.ValueExists("response")) + { + m_response = jsonValue.GetObject("response"); + + } + + if(jsonValue.ValueExists("type")) + { + m_type = MessageTypeMapper::GetMessageTypeForName(jsonValue.GetString("type")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContentFilterConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContentFilterConfig.cpp new file mode 100644 index 00000000000..34bcb750889 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContentFilterConfig.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +GuardrailContentFilterConfig::GuardrailContentFilterConfig() : + m_inputStrength(GuardrailFilterStrength::NOT_SET), + m_inputStrengthHasBeenSet(false), + m_outputStrength(GuardrailFilterStrength::NOT_SET), + m_outputStrengthHasBeenSet(false), + m_type(GuardrailContentFilterType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +GuardrailContentFilterConfig::GuardrailContentFilterConfig(JsonView jsonValue) + : GuardrailContentFilterConfig() +{ + *this = jsonValue; +} + +GuardrailContentFilterConfig& GuardrailContentFilterConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("inputStrength")) + { + m_inputStrength = GuardrailFilterStrengthMapper::GetGuardrailFilterStrengthForName(jsonValue.GetString("inputStrength")); + + m_inputStrengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("outputStrength")) + { + m_outputStrength = GuardrailFilterStrengthMapper::GetGuardrailFilterStrengthForName(jsonValue.GetString("outputStrength")); + + m_outputStrengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = GuardrailContentFilterTypeMapper::GetGuardrailContentFilterTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue GuardrailContentFilterConfig::Jsonize() const +{ + JsonValue payload; + + if(m_inputStrengthHasBeenSet) + { + payload.WithString("inputStrength", GuardrailFilterStrengthMapper::GetNameForGuardrailFilterStrength(m_inputStrength)); + } + + if(m_outputStrengthHasBeenSet) + { + payload.WithString("outputStrength", GuardrailFilterStrengthMapper::GetNameForGuardrailFilterStrength(m_outputStrength)); + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", GuardrailContentFilterTypeMapper::GetNameForGuardrailContentFilterType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContentFilterType.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContentFilterType.cpp new file mode 100644 index 00000000000..9128922fa3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContentFilterType.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QConnect + { + namespace Model + { + namespace GuardrailContentFilterTypeMapper + { + + static const int SEXUAL_HASH = HashingUtils::HashString("SEXUAL"); + static const int VIOLENCE_HASH = HashingUtils::HashString("VIOLENCE"); + static const int HATE_HASH = HashingUtils::HashString("HATE"); + static const int INSULTS_HASH = HashingUtils::HashString("INSULTS"); + static const int MISCONDUCT_HASH = HashingUtils::HashString("MISCONDUCT"); + static const int PROMPT_ATTACK_HASH = HashingUtils::HashString("PROMPT_ATTACK"); + + + GuardrailContentFilterType GetGuardrailContentFilterTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SEXUAL_HASH) + { + return GuardrailContentFilterType::SEXUAL; + } + else if (hashCode == VIOLENCE_HASH) + { + return GuardrailContentFilterType::VIOLENCE; + } + else if (hashCode == HATE_HASH) + { + return GuardrailContentFilterType::HATE; + } + else if (hashCode == INSULTS_HASH) + { + return GuardrailContentFilterType::INSULTS; + } + else if (hashCode == MISCONDUCT_HASH) + { + return GuardrailContentFilterType::MISCONDUCT; + } + else if (hashCode == PROMPT_ATTACK_HASH) + { + return GuardrailContentFilterType::PROMPT_ATTACK; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GuardrailContentFilterType::NOT_SET; + } + + Aws::String GetNameForGuardrailContentFilterType(GuardrailContentFilterType enumValue) + { + switch(enumValue) + { + case GuardrailContentFilterType::NOT_SET: + return {}; + case GuardrailContentFilterType::SEXUAL: + return "SEXUAL"; + case GuardrailContentFilterType::VIOLENCE: + return "VIOLENCE"; + case GuardrailContentFilterType::HATE: + return "HATE"; + case GuardrailContentFilterType::INSULTS: + return "INSULTS"; + case GuardrailContentFilterType::MISCONDUCT: + return "MISCONDUCT"; + case GuardrailContentFilterType::PROMPT_ATTACK: + return "PROMPT_ATTACK"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GuardrailContentFilterTypeMapper + } // namespace Model + } // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContextualGroundingFilterConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContextualGroundingFilterConfig.cpp new file mode 100644 index 00000000000..35e75935e88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContextualGroundingFilterConfig.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +GuardrailContextualGroundingFilterConfig::GuardrailContextualGroundingFilterConfig() : + m_threshold(0.0), + m_thresholdHasBeenSet(false), + m_type(GuardrailContextualGroundingFilterType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +GuardrailContextualGroundingFilterConfig::GuardrailContextualGroundingFilterConfig(JsonView jsonValue) + : GuardrailContextualGroundingFilterConfig() +{ + *this = jsonValue; +} + +GuardrailContextualGroundingFilterConfig& GuardrailContextualGroundingFilterConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("threshold")) + { + m_threshold = jsonValue.GetDouble("threshold"); + + m_thresholdHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = GuardrailContextualGroundingFilterTypeMapper::GetGuardrailContextualGroundingFilterTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue GuardrailContextualGroundingFilterConfig::Jsonize() const +{ + JsonValue payload; + + if(m_thresholdHasBeenSet) + { + payload.WithDouble("threshold", m_threshold); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", GuardrailContextualGroundingFilterTypeMapper::GetNameForGuardrailContextualGroundingFilterType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContextualGroundingFilterType.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContextualGroundingFilterType.cpp new file mode 100644 index 00000000000..b675ee54948 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailContextualGroundingFilterType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QConnect + { + namespace Model + { + namespace GuardrailContextualGroundingFilterTypeMapper + { + + static const int GROUNDING_HASH = HashingUtils::HashString("GROUNDING"); + static const int RELEVANCE_HASH = HashingUtils::HashString("RELEVANCE"); + + + GuardrailContextualGroundingFilterType GetGuardrailContextualGroundingFilterTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GROUNDING_HASH) + { + return GuardrailContextualGroundingFilterType::GROUNDING; + } + else if (hashCode == RELEVANCE_HASH) + { + return GuardrailContextualGroundingFilterType::RELEVANCE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GuardrailContextualGroundingFilterType::NOT_SET; + } + + Aws::String GetNameForGuardrailContextualGroundingFilterType(GuardrailContextualGroundingFilterType enumValue) + { + switch(enumValue) + { + case GuardrailContextualGroundingFilterType::NOT_SET: + return {}; + case GuardrailContextualGroundingFilterType::GROUNDING: + return "GROUNDING"; + case GuardrailContextualGroundingFilterType::RELEVANCE: + return "RELEVANCE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GuardrailContextualGroundingFilterTypeMapper + } // namespace Model + } // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailFilterStrength.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailFilterStrength.cpp new file mode 100644 index 00000000000..c6508087ded --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailFilterStrength.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QConnect + { + namespace Model + { + namespace GuardrailFilterStrengthMapper + { + + static const int NONE_HASH = HashingUtils::HashString("NONE"); + static const int LOW_HASH = HashingUtils::HashString("LOW"); + static const int MEDIUM_HASH = HashingUtils::HashString("MEDIUM"); + static const int HIGH_HASH = HashingUtils::HashString("HIGH"); + + + GuardrailFilterStrength GetGuardrailFilterStrengthForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == NONE_HASH) + { + return GuardrailFilterStrength::NONE; + } + else if (hashCode == LOW_HASH) + { + return GuardrailFilterStrength::LOW; + } + else if (hashCode == MEDIUM_HASH) + { + return GuardrailFilterStrength::MEDIUM; + } + else if (hashCode == HIGH_HASH) + { + return GuardrailFilterStrength::HIGH; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GuardrailFilterStrength::NOT_SET; + } + + Aws::String GetNameForGuardrailFilterStrength(GuardrailFilterStrength enumValue) + { + switch(enumValue) + { + case GuardrailFilterStrength::NOT_SET: + return {}; + case GuardrailFilterStrength::NONE: + return "NONE"; + case GuardrailFilterStrength::LOW: + return "LOW"; + case GuardrailFilterStrength::MEDIUM: + return "MEDIUM"; + case GuardrailFilterStrength::HIGH: + return "HIGH"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GuardrailFilterStrengthMapper + } // namespace Model + } // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailManagedWordsConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailManagedWordsConfig.cpp new file mode 100644 index 00000000000..3ae372595bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailManagedWordsConfig.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +GuardrailManagedWordsConfig::GuardrailManagedWordsConfig() : + m_type(GuardrailManagedWordsType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +GuardrailManagedWordsConfig::GuardrailManagedWordsConfig(JsonView jsonValue) + : GuardrailManagedWordsConfig() +{ + *this = jsonValue; +} + +GuardrailManagedWordsConfig& GuardrailManagedWordsConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = GuardrailManagedWordsTypeMapper::GetGuardrailManagedWordsTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue GuardrailManagedWordsConfig::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", GuardrailManagedWordsTypeMapper::GetNameForGuardrailManagedWordsType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailManagedWordsType.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailManagedWordsType.cpp new file mode 100644 index 00000000000..e0a3dc7d08a --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailManagedWordsType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QConnect + { + namespace Model + { + namespace GuardrailManagedWordsTypeMapper + { + + static const int PROFANITY_HASH = HashingUtils::HashString("PROFANITY"); + + + GuardrailManagedWordsType GetGuardrailManagedWordsTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PROFANITY_HASH) + { + return GuardrailManagedWordsType::PROFANITY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GuardrailManagedWordsType::NOT_SET; + } + + Aws::String GetNameForGuardrailManagedWordsType(GuardrailManagedWordsType enumValue) + { + switch(enumValue) + { + case GuardrailManagedWordsType::NOT_SET: + return {}; + case GuardrailManagedWordsType::PROFANITY: + return "PROFANITY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GuardrailManagedWordsTypeMapper + } // namespace Model + } // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailPiiEntityConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailPiiEntityConfig.cpp new file mode 100644 index 00000000000..39cd532103c --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailPiiEntityConfig.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +GuardrailPiiEntityConfig::GuardrailPiiEntityConfig() : + m_action(GuardrailSensitiveInformationAction::NOT_SET), + m_actionHasBeenSet(false), + m_type(GuardrailPiiEntityType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +GuardrailPiiEntityConfig::GuardrailPiiEntityConfig(JsonView jsonValue) + : GuardrailPiiEntityConfig() +{ + *this = jsonValue; +} + +GuardrailPiiEntityConfig& GuardrailPiiEntityConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("action")) + { + m_action = GuardrailSensitiveInformationActionMapper::GetGuardrailSensitiveInformationActionForName(jsonValue.GetString("action")); + + m_actionHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = GuardrailPiiEntityTypeMapper::GetGuardrailPiiEntityTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue GuardrailPiiEntityConfig::Jsonize() const +{ + JsonValue payload; + + if(m_actionHasBeenSet) + { + payload.WithString("action", GuardrailSensitiveInformationActionMapper::GetNameForGuardrailSensitiveInformationAction(m_action)); + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", GuardrailPiiEntityTypeMapper::GetNameForGuardrailPiiEntityType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailPiiEntityType.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailPiiEntityType.cpp new file mode 100644 index 00000000000..93893cd58ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailPiiEntityType.cpp @@ -0,0 +1,275 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QConnect + { + namespace Model + { + namespace GuardrailPiiEntityTypeMapper + { + + static const int ADDRESS_HASH = HashingUtils::HashString("ADDRESS"); + static const int AGE_HASH = HashingUtils::HashString("AGE"); + static const int AWS_ACCESS_KEY_HASH = HashingUtils::HashString("AWS_ACCESS_KEY"); + static const int AWS_SECRET_KEY_HASH = HashingUtils::HashString("AWS_SECRET_KEY"); + static const int CA_HEALTH_NUMBER_HASH = HashingUtils::HashString("CA_HEALTH_NUMBER"); + static const int CA_SOCIAL_INSURANCE_NUMBER_HASH = HashingUtils::HashString("CA_SOCIAL_INSURANCE_NUMBER"); + static const int CREDIT_DEBIT_CARD_CVV_HASH = HashingUtils::HashString("CREDIT_DEBIT_CARD_CVV"); + static const int CREDIT_DEBIT_CARD_EXPIRY_HASH = HashingUtils::HashString("CREDIT_DEBIT_CARD_EXPIRY"); + static const int CREDIT_DEBIT_CARD_NUMBER_HASH = HashingUtils::HashString("CREDIT_DEBIT_CARD_NUMBER"); + static const int DRIVER_ID_HASH = HashingUtils::HashString("DRIVER_ID"); + static const int EMAIL_HASH = HashingUtils::HashString("EMAIL"); + static const int INTERNATIONAL_BANK_ACCOUNT_NUMBER_HASH = HashingUtils::HashString("INTERNATIONAL_BANK_ACCOUNT_NUMBER"); + static const int IP_ADDRESS_HASH = HashingUtils::HashString("IP_ADDRESS"); + static const int LICENSE_PLATE_HASH = HashingUtils::HashString("LICENSE_PLATE"); + static const int MAC_ADDRESS_HASH = HashingUtils::HashString("MAC_ADDRESS"); + static const int NAME_HASH = HashingUtils::HashString("NAME"); + static const int PASSWORD_HASH = HashingUtils::HashString("PASSWORD"); + static const int PHONE_HASH = HashingUtils::HashString("PHONE"); + static const int PIN_HASH = HashingUtils::HashString("PIN"); + static const int SWIFT_CODE_HASH = HashingUtils::HashString("SWIFT_CODE"); + static const int UK_NATIONAL_HEALTH_SERVICE_NUMBER_HASH = HashingUtils::HashString("UK_NATIONAL_HEALTH_SERVICE_NUMBER"); + static const int UK_NATIONAL_INSURANCE_NUMBER_HASH = HashingUtils::HashString("UK_NATIONAL_INSURANCE_NUMBER"); + static const int UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER_HASH = HashingUtils::HashString("UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER"); + static const int URL_HASH = HashingUtils::HashString("URL"); + static const int USERNAME_HASH = HashingUtils::HashString("USERNAME"); + static const int US_BANK_ACCOUNT_NUMBER_HASH = HashingUtils::HashString("US_BANK_ACCOUNT_NUMBER"); + static const int US_BANK_ROUTING_NUMBER_HASH = HashingUtils::HashString("US_BANK_ROUTING_NUMBER"); + static const int US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER_HASH = HashingUtils::HashString("US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER"); + static const int US_PASSPORT_NUMBER_HASH = HashingUtils::HashString("US_PASSPORT_NUMBER"); + static const int US_SOCIAL_SECURITY_NUMBER_HASH = HashingUtils::HashString("US_SOCIAL_SECURITY_NUMBER"); + static const int VEHICLE_IDENTIFICATION_NUMBER_HASH = HashingUtils::HashString("VEHICLE_IDENTIFICATION_NUMBER"); + + + GuardrailPiiEntityType GetGuardrailPiiEntityTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ADDRESS_HASH) + { + return GuardrailPiiEntityType::ADDRESS; + } + else if (hashCode == AGE_HASH) + { + return GuardrailPiiEntityType::AGE; + } + else if (hashCode == AWS_ACCESS_KEY_HASH) + { + return GuardrailPiiEntityType::AWS_ACCESS_KEY; + } + else if (hashCode == AWS_SECRET_KEY_HASH) + { + return GuardrailPiiEntityType::AWS_SECRET_KEY; + } + else if (hashCode == CA_HEALTH_NUMBER_HASH) + { + return GuardrailPiiEntityType::CA_HEALTH_NUMBER; + } + else if (hashCode == CA_SOCIAL_INSURANCE_NUMBER_HASH) + { + return GuardrailPiiEntityType::CA_SOCIAL_INSURANCE_NUMBER; + } + else if (hashCode == CREDIT_DEBIT_CARD_CVV_HASH) + { + return GuardrailPiiEntityType::CREDIT_DEBIT_CARD_CVV; + } + else if (hashCode == CREDIT_DEBIT_CARD_EXPIRY_HASH) + { + return GuardrailPiiEntityType::CREDIT_DEBIT_CARD_EXPIRY; + } + else if (hashCode == CREDIT_DEBIT_CARD_NUMBER_HASH) + { + return GuardrailPiiEntityType::CREDIT_DEBIT_CARD_NUMBER; + } + else if (hashCode == DRIVER_ID_HASH) + { + return GuardrailPiiEntityType::DRIVER_ID; + } + else if (hashCode == EMAIL_HASH) + { + return GuardrailPiiEntityType::EMAIL; + } + else if (hashCode == INTERNATIONAL_BANK_ACCOUNT_NUMBER_HASH) + { + return GuardrailPiiEntityType::INTERNATIONAL_BANK_ACCOUNT_NUMBER; + } + else if (hashCode == IP_ADDRESS_HASH) + { + return GuardrailPiiEntityType::IP_ADDRESS; + } + else if (hashCode == LICENSE_PLATE_HASH) + { + return GuardrailPiiEntityType::LICENSE_PLATE; + } + else if (hashCode == MAC_ADDRESS_HASH) + { + return GuardrailPiiEntityType::MAC_ADDRESS; + } + else if (hashCode == NAME_HASH) + { + return GuardrailPiiEntityType::NAME; + } + else if (hashCode == PASSWORD_HASH) + { + return GuardrailPiiEntityType::PASSWORD; + } + else if (hashCode == PHONE_HASH) + { + return GuardrailPiiEntityType::PHONE; + } + else if (hashCode == PIN_HASH) + { + return GuardrailPiiEntityType::PIN; + } + else if (hashCode == SWIFT_CODE_HASH) + { + return GuardrailPiiEntityType::SWIFT_CODE; + } + else if (hashCode == UK_NATIONAL_HEALTH_SERVICE_NUMBER_HASH) + { + return GuardrailPiiEntityType::UK_NATIONAL_HEALTH_SERVICE_NUMBER; + } + else if (hashCode == UK_NATIONAL_INSURANCE_NUMBER_HASH) + { + return GuardrailPiiEntityType::UK_NATIONAL_INSURANCE_NUMBER; + } + else if (hashCode == UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER_HASH) + { + return GuardrailPiiEntityType::UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER; + } + else if (hashCode == URL_HASH) + { + return GuardrailPiiEntityType::URL; + } + else if (hashCode == USERNAME_HASH) + { + return GuardrailPiiEntityType::USERNAME; + } + else if (hashCode == US_BANK_ACCOUNT_NUMBER_HASH) + { + return GuardrailPiiEntityType::US_BANK_ACCOUNT_NUMBER; + } + else if (hashCode == US_BANK_ROUTING_NUMBER_HASH) + { + return GuardrailPiiEntityType::US_BANK_ROUTING_NUMBER; + } + else if (hashCode == US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER_HASH) + { + return GuardrailPiiEntityType::US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER; + } + else if (hashCode == US_PASSPORT_NUMBER_HASH) + { + return GuardrailPiiEntityType::US_PASSPORT_NUMBER; + } + else if (hashCode == US_SOCIAL_SECURITY_NUMBER_HASH) + { + return GuardrailPiiEntityType::US_SOCIAL_SECURITY_NUMBER; + } + else if (hashCode == VEHICLE_IDENTIFICATION_NUMBER_HASH) + { + return GuardrailPiiEntityType::VEHICLE_IDENTIFICATION_NUMBER; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GuardrailPiiEntityType::NOT_SET; + } + + Aws::String GetNameForGuardrailPiiEntityType(GuardrailPiiEntityType enumValue) + { + switch(enumValue) + { + case GuardrailPiiEntityType::NOT_SET: + return {}; + case GuardrailPiiEntityType::ADDRESS: + return "ADDRESS"; + case GuardrailPiiEntityType::AGE: + return "AGE"; + case GuardrailPiiEntityType::AWS_ACCESS_KEY: + return "AWS_ACCESS_KEY"; + case GuardrailPiiEntityType::AWS_SECRET_KEY: + return "AWS_SECRET_KEY"; + case GuardrailPiiEntityType::CA_HEALTH_NUMBER: + return "CA_HEALTH_NUMBER"; + case GuardrailPiiEntityType::CA_SOCIAL_INSURANCE_NUMBER: + return "CA_SOCIAL_INSURANCE_NUMBER"; + case GuardrailPiiEntityType::CREDIT_DEBIT_CARD_CVV: + return "CREDIT_DEBIT_CARD_CVV"; + case GuardrailPiiEntityType::CREDIT_DEBIT_CARD_EXPIRY: + return "CREDIT_DEBIT_CARD_EXPIRY"; + case GuardrailPiiEntityType::CREDIT_DEBIT_CARD_NUMBER: + return "CREDIT_DEBIT_CARD_NUMBER"; + case GuardrailPiiEntityType::DRIVER_ID: + return "DRIVER_ID"; + case GuardrailPiiEntityType::EMAIL: + return "EMAIL"; + case GuardrailPiiEntityType::INTERNATIONAL_BANK_ACCOUNT_NUMBER: + return "INTERNATIONAL_BANK_ACCOUNT_NUMBER"; + case GuardrailPiiEntityType::IP_ADDRESS: + return "IP_ADDRESS"; + case GuardrailPiiEntityType::LICENSE_PLATE: + return "LICENSE_PLATE"; + case GuardrailPiiEntityType::MAC_ADDRESS: + return "MAC_ADDRESS"; + case GuardrailPiiEntityType::NAME: + return "NAME"; + case GuardrailPiiEntityType::PASSWORD: + return "PASSWORD"; + case GuardrailPiiEntityType::PHONE: + return "PHONE"; + case GuardrailPiiEntityType::PIN: + return "PIN"; + case GuardrailPiiEntityType::SWIFT_CODE: + return "SWIFT_CODE"; + case GuardrailPiiEntityType::UK_NATIONAL_HEALTH_SERVICE_NUMBER: + return "UK_NATIONAL_HEALTH_SERVICE_NUMBER"; + case GuardrailPiiEntityType::UK_NATIONAL_INSURANCE_NUMBER: + return "UK_NATIONAL_INSURANCE_NUMBER"; + case GuardrailPiiEntityType::UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER: + return "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER"; + case GuardrailPiiEntityType::URL: + return "URL"; + case GuardrailPiiEntityType::USERNAME: + return "USERNAME"; + case GuardrailPiiEntityType::US_BANK_ACCOUNT_NUMBER: + return "US_BANK_ACCOUNT_NUMBER"; + case GuardrailPiiEntityType::US_BANK_ROUTING_NUMBER: + return "US_BANK_ROUTING_NUMBER"; + case GuardrailPiiEntityType::US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER: + return "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER"; + case GuardrailPiiEntityType::US_PASSPORT_NUMBER: + return "US_PASSPORT_NUMBER"; + case GuardrailPiiEntityType::US_SOCIAL_SECURITY_NUMBER: + return "US_SOCIAL_SECURITY_NUMBER"; + case GuardrailPiiEntityType::VEHICLE_IDENTIFICATION_NUMBER: + return "VEHICLE_IDENTIFICATION_NUMBER"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GuardrailPiiEntityTypeMapper + } // namespace Model + } // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailRegexConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailRegexConfig.cpp new file mode 100644 index 00000000000..4751798c4f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailRegexConfig.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +GuardrailRegexConfig::GuardrailRegexConfig() : + m_action(GuardrailSensitiveInformationAction::NOT_SET), + m_actionHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_nameHasBeenSet(false), + m_patternHasBeenSet(false) +{ +} + +GuardrailRegexConfig::GuardrailRegexConfig(JsonView jsonValue) + : GuardrailRegexConfig() +{ + *this = jsonValue; +} + +GuardrailRegexConfig& GuardrailRegexConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("action")) + { + m_action = GuardrailSensitiveInformationActionMapper::GetGuardrailSensitiveInformationActionForName(jsonValue.GetString("action")); + + m_actionHasBeenSet = true; + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("pattern")) + { + m_pattern = jsonValue.GetString("pattern"); + + m_patternHasBeenSet = true; + } + + return *this; +} + +JsonValue GuardrailRegexConfig::Jsonize() const +{ + JsonValue payload; + + if(m_actionHasBeenSet) + { + payload.WithString("action", GuardrailSensitiveInformationActionMapper::GetNameForGuardrailSensitiveInformationAction(m_action)); + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_patternHasBeenSet) + { + payload.WithString("pattern", m_pattern); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailSensitiveInformationAction.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailSensitiveInformationAction.cpp new file mode 100644 index 00000000000..aa78602bff9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailSensitiveInformationAction.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QConnect + { + namespace Model + { + namespace GuardrailSensitiveInformationActionMapper + { + + static const int BLOCK_HASH = HashingUtils::HashString("BLOCK"); + static const int ANONYMIZE_HASH = HashingUtils::HashString("ANONYMIZE"); + + + GuardrailSensitiveInformationAction GetGuardrailSensitiveInformationActionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BLOCK_HASH) + { + return GuardrailSensitiveInformationAction::BLOCK; + } + else if (hashCode == ANONYMIZE_HASH) + { + return GuardrailSensitiveInformationAction::ANONYMIZE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GuardrailSensitiveInformationAction::NOT_SET; + } + + Aws::String GetNameForGuardrailSensitiveInformationAction(GuardrailSensitiveInformationAction enumValue) + { + switch(enumValue) + { + case GuardrailSensitiveInformationAction::NOT_SET: + return {}; + case GuardrailSensitiveInformationAction::BLOCK: + return "BLOCK"; + case GuardrailSensitiveInformationAction::ANONYMIZE: + return "ANONYMIZE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GuardrailSensitiveInformationActionMapper + } // namespace Model + } // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailTopicConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailTopicConfig.cpp new file mode 100644 index 00000000000..7873de01775 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailTopicConfig.cpp @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +GuardrailTopicConfig::GuardrailTopicConfig() : + m_definitionHasBeenSet(false), + m_examplesHasBeenSet(false), + m_nameHasBeenSet(false), + m_type(GuardrailTopicType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +GuardrailTopicConfig::GuardrailTopicConfig(JsonView jsonValue) + : GuardrailTopicConfig() +{ + *this = jsonValue; +} + +GuardrailTopicConfig& GuardrailTopicConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("definition")) + { + m_definition = jsonValue.GetString("definition"); + + m_definitionHasBeenSet = true; + } + + if(jsonValue.ValueExists("examples")) + { + Aws::Utils::Array examplesJsonList = jsonValue.GetArray("examples"); + for(unsigned examplesIndex = 0; examplesIndex < examplesJsonList.GetLength(); ++examplesIndex) + { + m_examples.push_back(examplesJsonList[examplesIndex].AsString()); + } + m_examplesHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = GuardrailTopicTypeMapper::GetGuardrailTopicTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue GuardrailTopicConfig::Jsonize() const +{ + JsonValue payload; + + if(m_definitionHasBeenSet) + { + payload.WithString("definition", m_definition); + + } + + if(m_examplesHasBeenSet) + { + Aws::Utils::Array examplesJsonList(m_examples.size()); + for(unsigned examplesIndex = 0; examplesIndex < examplesJsonList.GetLength(); ++examplesIndex) + { + examplesJsonList[examplesIndex].AsString(m_examples[examplesIndex]); + } + payload.WithArray("examples", std::move(examplesJsonList)); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", GuardrailTopicTypeMapper::GetNameForGuardrailTopicType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailTopicType.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailTopicType.cpp new file mode 100644 index 00000000000..a59f25bbeb9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailTopicType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QConnect + { + namespace Model + { + namespace GuardrailTopicTypeMapper + { + + static const int DENY_HASH = HashingUtils::HashString("DENY"); + + + GuardrailTopicType GetGuardrailTopicTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DENY_HASH) + { + return GuardrailTopicType::DENY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GuardrailTopicType::NOT_SET; + } + + Aws::String GetNameForGuardrailTopicType(GuardrailTopicType enumValue) + { + switch(enumValue) + { + case GuardrailTopicType::NOT_SET: + return {}; + case GuardrailTopicType::DENY: + return "DENY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GuardrailTopicTypeMapper + } // namespace Model + } // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailWordConfig.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailWordConfig.cpp new file mode 100644 index 00000000000..0056eafc4e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/GuardrailWordConfig.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +GuardrailWordConfig::GuardrailWordConfig() : + m_textHasBeenSet(false) +{ +} + +GuardrailWordConfig::GuardrailWordConfig(JsonView jsonValue) + : GuardrailWordConfig() +{ + *this = jsonValue; +} + +GuardrailWordConfig& GuardrailWordConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("text")) + { + m_text = jsonValue.GetString("text"); + + m_textHasBeenSet = true; + } + + return *this; +} + +JsonValue GuardrailWordConfig::Jsonize() const +{ + JsonValue payload; + + if(m_textHasBeenSet) + { + payload.WithString("text", m_text); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailVersionsRequest.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailVersionsRequest.cpp new file mode 100644 index 00000000000..d6ec6da13f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailVersionsRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListAIGuardrailVersionsRequest::ListAIGuardrailVersionsRequest() : + m_aiGuardrailIdHasBeenSet(false), + m_assistantIdHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListAIGuardrailVersionsRequest::SerializePayload() const +{ + return {}; +} + +void ListAIGuardrailVersionsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailVersionsResult.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailVersionsResult.cpp new file mode 100644 index 00000000000..a0978147945 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailVersionsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListAIGuardrailVersionsResult::ListAIGuardrailVersionsResult() +{ +} + +ListAIGuardrailVersionsResult::ListAIGuardrailVersionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAIGuardrailVersionsResult& ListAIGuardrailVersionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("aiGuardrailVersionSummaries")) + { + Aws::Utils::Array aiGuardrailVersionSummariesJsonList = jsonValue.GetArray("aiGuardrailVersionSummaries"); + for(unsigned aiGuardrailVersionSummariesIndex = 0; aiGuardrailVersionSummariesIndex < aiGuardrailVersionSummariesJsonList.GetLength(); ++aiGuardrailVersionSummariesIndex) + { + m_aiGuardrailVersionSummaries.push_back(aiGuardrailVersionSummariesJsonList[aiGuardrailVersionSummariesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailsRequest.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailsRequest.cpp new file mode 100644 index 00000000000..1fba2224209 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailsRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListAIGuardrailsRequest::ListAIGuardrailsRequest() : + m_assistantIdHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListAIGuardrailsRequest::SerializePayload() const +{ + return {}; +} + +void ListAIGuardrailsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailsResult.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailsResult.cpp new file mode 100644 index 00000000000..f9ba1f47668 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/ListAIGuardrailsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListAIGuardrailsResult::ListAIGuardrailsResult() +{ +} + +ListAIGuardrailsResult::ListAIGuardrailsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAIGuardrailsResult& ListAIGuardrailsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("aiGuardrailSummaries")) + { + Aws::Utils::Array aiGuardrailSummariesJsonList = jsonValue.GetArray("aiGuardrailSummaries"); + for(unsigned aiGuardrailSummariesIndex = 0; aiGuardrailSummariesIndex < aiGuardrailSummariesJsonList.GetLength(); ++aiGuardrailSummariesIndex) + { + m_aiGuardrailSummaries.push_back(aiGuardrailSummariesJsonList[aiGuardrailSummariesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/ListMessagesRequest.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/ListMessagesRequest.cpp new file mode 100644 index 00000000000..e3a1830aa06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/ListMessagesRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListMessagesRequest::ListMessagesRequest() : + m_assistantIdHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_sessionIdHasBeenSet(false) +{ +} + +Aws::String ListMessagesRequest::SerializePayload() const +{ + return {}; +} + +void ListMessagesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/ListMessagesResult.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/ListMessagesResult.cpp new file mode 100644 index 00000000000..7ea9b662a67 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/ListMessagesResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListMessagesResult::ListMessagesResult() +{ +} + +ListMessagesResult::ListMessagesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListMessagesResult& ListMessagesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("messages")) + { + Aws::Utils::Array messagesJsonList = jsonValue.GetArray("messages"); + for(unsigned messagesIndex = 0; messagesIndex < messagesJsonList.GetLength(); ++messagesIndex) + { + m_messages.push_back(messagesJsonList[messagesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/ManualSearchAIAgentConfiguration.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/ManualSearchAIAgentConfiguration.cpp index 38dc211fbbe..86a3e3c0e64 100644 --- a/generated/src/aws-cpp-sdk-qconnect/source/model/ManualSearchAIAgentConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/ManualSearchAIAgentConfiguration.cpp @@ -19,6 +19,7 @@ namespace Model { ManualSearchAIAgentConfiguration::ManualSearchAIAgentConfiguration() : + m_answerGenerationAIGuardrailIdHasBeenSet(false), m_answerGenerationAIPromptIdHasBeenSet(false), m_associationConfigurationsHasBeenSet(false) { @@ -32,6 +33,13 @@ ManualSearchAIAgentConfiguration::ManualSearchAIAgentConfiguration(JsonView json ManualSearchAIAgentConfiguration& ManualSearchAIAgentConfiguration::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("answerGenerationAIGuardrailId")) + { + m_answerGenerationAIGuardrailId = jsonValue.GetString("answerGenerationAIGuardrailId"); + + m_answerGenerationAIGuardrailIdHasBeenSet = true; + } + if(jsonValue.ValueExists("answerGenerationAIPromptId")) { m_answerGenerationAIPromptId = jsonValue.GetString("answerGenerationAIPromptId"); @@ -56,6 +64,12 @@ JsonValue ManualSearchAIAgentConfiguration::Jsonize() const { JsonValue payload; + if(m_answerGenerationAIGuardrailIdHasBeenSet) + { + payload.WithString("answerGenerationAIGuardrailId", m_answerGenerationAIGuardrailId); + + } + if(m_answerGenerationAIPromptIdHasBeenSet) { payload.WithString("answerGenerationAIPromptId", m_answerGenerationAIPromptId); diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/MessageData.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/MessageData.cpp new file mode 100644 index 00000000000..5eed3c61204 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/MessageData.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +MessageData::MessageData() : + m_textHasBeenSet(false) +{ +} + +MessageData::MessageData(JsonView jsonValue) + : MessageData() +{ + *this = jsonValue; +} + +MessageData& MessageData::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("text")) + { + m_text = jsonValue.GetObject("text"); + + m_textHasBeenSet = true; + } + + return *this; +} + +JsonValue MessageData::Jsonize() const +{ + JsonValue payload; + + if(m_textHasBeenSet) + { + payload.WithObject("text", m_text.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/MessageInput.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/MessageInput.cpp new file mode 100644 index 00000000000..aeb79d9870a --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/MessageInput.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +MessageInput::MessageInput() : + m_valueHasBeenSet(false) +{ +} + +MessageInput::MessageInput(JsonView jsonValue) + : MessageInput() +{ + *this = jsonValue; +} + +MessageInput& MessageInput::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetObject("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue MessageInput::Jsonize() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithObject("value", m_value.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/MessageOutput.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/MessageOutput.cpp new file mode 100644 index 00000000000..1c40383cf07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/MessageOutput.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +MessageOutput::MessageOutput() : + m_messageIdHasBeenSet(false), + m_participant(Participant::NOT_SET), + m_participantHasBeenSet(false), + m_timestampHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +MessageOutput::MessageOutput(JsonView jsonValue) + : MessageOutput() +{ + *this = jsonValue; +} + +MessageOutput& MessageOutput::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("messageId")) + { + m_messageId = jsonValue.GetString("messageId"); + + m_messageIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("participant")) + { + m_participant = ParticipantMapper::GetParticipantForName(jsonValue.GetString("participant")); + + m_participantHasBeenSet = true; + } + + if(jsonValue.ValueExists("timestamp")) + { + m_timestamp = jsonValue.GetDouble("timestamp"); + + m_timestampHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetObject("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue MessageOutput::Jsonize() const +{ + JsonValue payload; + + if(m_messageIdHasBeenSet) + { + payload.WithString("messageId", m_messageId); + + } + + if(m_participantHasBeenSet) + { + payload.WithString("participant", ParticipantMapper::GetNameForParticipant(m_participant)); + } + + if(m_timestampHasBeenSet) + { + payload.WithDouble("timestamp", m_timestamp.SecondsWithMSPrecision()); + } + + if(m_valueHasBeenSet) + { + payload.WithObject("value", m_value.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/MessageType.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/MessageType.cpp new file mode 100644 index 00000000000..912dfdc2f60 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/MessageType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QConnect + { + namespace Model + { + namespace MessageTypeMapper + { + + static const int TEXT_HASH = HashingUtils::HashString("TEXT"); + + + MessageType GetMessageTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TEXT_HASH) + { + return MessageType::TEXT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MessageType::NOT_SET; + } + + Aws::String GetNameForMessageType(MessageType enumValue) + { + switch(enumValue) + { + case MessageType::NOT_SET: + return {}; + case MessageType::TEXT: + return "TEXT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MessageTypeMapper + } // namespace Model + } // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/Participant.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/Participant.cpp new file mode 100644 index 00000000000..f7115d1c93d --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/Participant.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QConnect + { + namespace Model + { + namespace ParticipantMapper + { + + static const int CUSTOMER_HASH = HashingUtils::HashString("CUSTOMER"); + static const int AGENT_HASH = HashingUtils::HashString("AGENT"); + static const int BOT_HASH = HashingUtils::HashString("BOT"); + + + Participant GetParticipantForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CUSTOMER_HASH) + { + return Participant::CUSTOMER; + } + else if (hashCode == AGENT_HASH) + { + return Participant::AGENT; + } + else if (hashCode == BOT_HASH) + { + return Participant::BOT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Participant::NOT_SET; + } + + Aws::String GetNameForParticipant(Participant enumValue) + { + switch(enumValue) + { + case Participant::NOT_SET: + return {}; + case Participant::CUSTOMER: + return "CUSTOMER"; + case Participant::AGENT: + return "AGENT"; + case Participant::BOT: + return "BOT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ParticipantMapper + } // namespace Model + } // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/SelfServiceAIAgentConfiguration.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/SelfServiceAIAgentConfiguration.cpp new file mode 100644 index 00000000000..490d6aa8e79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/SelfServiceAIAgentConfiguration.cpp @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +SelfServiceAIAgentConfiguration::SelfServiceAIAgentConfiguration() : + m_associationConfigurationsHasBeenSet(false), + m_selfServiceAIGuardrailIdHasBeenSet(false), + m_selfServiceAnswerGenerationAIPromptIdHasBeenSet(false), + m_selfServicePreProcessingAIPromptIdHasBeenSet(false) +{ +} + +SelfServiceAIAgentConfiguration::SelfServiceAIAgentConfiguration(JsonView jsonValue) + : SelfServiceAIAgentConfiguration() +{ + *this = jsonValue; +} + +SelfServiceAIAgentConfiguration& SelfServiceAIAgentConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("associationConfigurations")) + { + Aws::Utils::Array associationConfigurationsJsonList = jsonValue.GetArray("associationConfigurations"); + for(unsigned associationConfigurationsIndex = 0; associationConfigurationsIndex < associationConfigurationsJsonList.GetLength(); ++associationConfigurationsIndex) + { + m_associationConfigurations.push_back(associationConfigurationsJsonList[associationConfigurationsIndex].AsObject()); + } + m_associationConfigurationsHasBeenSet = true; + } + + if(jsonValue.ValueExists("selfServiceAIGuardrailId")) + { + m_selfServiceAIGuardrailId = jsonValue.GetString("selfServiceAIGuardrailId"); + + m_selfServiceAIGuardrailIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("selfServiceAnswerGenerationAIPromptId")) + { + m_selfServiceAnswerGenerationAIPromptId = jsonValue.GetString("selfServiceAnswerGenerationAIPromptId"); + + m_selfServiceAnswerGenerationAIPromptIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("selfServicePreProcessingAIPromptId")) + { + m_selfServicePreProcessingAIPromptId = jsonValue.GetString("selfServicePreProcessingAIPromptId"); + + m_selfServicePreProcessingAIPromptIdHasBeenSet = true; + } + + return *this; +} + +JsonValue SelfServiceAIAgentConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_associationConfigurationsHasBeenSet) + { + Aws::Utils::Array associationConfigurationsJsonList(m_associationConfigurations.size()); + for(unsigned associationConfigurationsIndex = 0; associationConfigurationsIndex < associationConfigurationsJsonList.GetLength(); ++associationConfigurationsIndex) + { + associationConfigurationsJsonList[associationConfigurationsIndex].AsObject(m_associationConfigurations[associationConfigurationsIndex].Jsonize()); + } + payload.WithArray("associationConfigurations", std::move(associationConfigurationsJsonList)); + + } + + if(m_selfServiceAIGuardrailIdHasBeenSet) + { + payload.WithString("selfServiceAIGuardrailId", m_selfServiceAIGuardrailId); + + } + + if(m_selfServiceAnswerGenerationAIPromptIdHasBeenSet) + { + payload.WithString("selfServiceAnswerGenerationAIPromptId", m_selfServiceAnswerGenerationAIPromptId); + + } + + if(m_selfServicePreProcessingAIPromptIdHasBeenSet) + { + payload.WithString("selfServicePreProcessingAIPromptId", m_selfServicePreProcessingAIPromptId); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/SelfServiceConversationHistory.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/SelfServiceConversationHistory.cpp new file mode 100644 index 00000000000..6ba77d50a9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/SelfServiceConversationHistory.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +SelfServiceConversationHistory::SelfServiceConversationHistory() : + m_botResponseHasBeenSet(false), + m_inputTranscriptHasBeenSet(false), + m_turnNumber(0), + m_turnNumberHasBeenSet(false) +{ +} + +SelfServiceConversationHistory::SelfServiceConversationHistory(JsonView jsonValue) + : SelfServiceConversationHistory() +{ + *this = jsonValue; +} + +SelfServiceConversationHistory& SelfServiceConversationHistory::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("botResponse")) + { + m_botResponse = jsonValue.GetString("botResponse"); + + m_botResponseHasBeenSet = true; + } + + if(jsonValue.ValueExists("inputTranscript")) + { + m_inputTranscript = jsonValue.GetString("inputTranscript"); + + m_inputTranscriptHasBeenSet = true; + } + + if(jsonValue.ValueExists("turnNumber")) + { + m_turnNumber = jsonValue.GetInteger("turnNumber"); + + m_turnNumberHasBeenSet = true; + } + + return *this; +} + +JsonValue SelfServiceConversationHistory::Jsonize() const +{ + JsonValue payload; + + if(m_botResponseHasBeenSet) + { + payload.WithString("botResponse", m_botResponse); + + } + + if(m_inputTranscriptHasBeenSet) + { + payload.WithString("inputTranscript", m_inputTranscript); + + } + + if(m_turnNumberHasBeenSet) + { + payload.WithInteger("turnNumber", m_turnNumber); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/SendMessageRequest.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/SendMessageRequest.cpp new file mode 100644 index 00000000000..e559ca2428e --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/SendMessageRequest.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +SendMessageRequest::SendMessageRequest() : + m_assistantIdHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_conversationContextHasBeenSet(false), + m_messageHasBeenSet(false), + m_sessionIdHasBeenSet(false), + m_type(MessageType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +Aws::String SendMessageRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_conversationContextHasBeenSet) + { + payload.WithObject("conversationContext", m_conversationContext.Jsonize()); + + } + + if(m_messageHasBeenSet) + { + payload.WithObject("message", m_message.Jsonize()); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", MessageTypeMapper::GetNameForMessageType(m_type)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/SendMessageResult.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/SendMessageResult.cpp new file mode 100644 index 00000000000..767f1c0acdb --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/SendMessageResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +SendMessageResult::SendMessageResult() +{ +} + +SendMessageResult::SendMessageResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +SendMessageResult& SendMessageResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nextMessageToken")) + { + m_nextMessageToken = jsonValue.GetString("nextMessageToken"); + + } + + if(jsonValue.ValueExists("requestMessageId")) + { + m_requestMessageId = jsonValue.GetString("requestMessageId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/TextMessage.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/TextMessage.cpp new file mode 100644 index 00000000000..9aee97ebd78 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/TextMessage.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QConnect +{ +namespace Model +{ + +TextMessage::TextMessage() : + m_valueHasBeenSet(false) +{ +} + +TextMessage::TextMessage(JsonView jsonValue) + : TextMessage() +{ + *this = jsonValue; +} + +TextMessage& TextMessage::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetString("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue TextMessage::Jsonize() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithString("value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/UpdateAIGuardrailRequest.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/UpdateAIGuardrailRequest.cpp new file mode 100644 index 00000000000..58ef6e97d45 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/UpdateAIGuardrailRequest.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateAIGuardrailRequest::UpdateAIGuardrailRequest() : + m_aiGuardrailIdHasBeenSet(false), + m_assistantIdHasBeenSet(false), + m_blockedInputMessagingHasBeenSet(false), + m_blockedOutputsMessagingHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_contentPolicyConfigHasBeenSet(false), + m_contextualGroundingPolicyConfigHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_sensitiveInformationPolicyConfigHasBeenSet(false), + m_topicPolicyConfigHasBeenSet(false), + m_visibilityStatus(VisibilityStatus::NOT_SET), + m_visibilityStatusHasBeenSet(false), + m_wordPolicyConfigHasBeenSet(false) +{ +} + +Aws::String UpdateAIGuardrailRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_blockedInputMessagingHasBeenSet) + { + payload.WithString("blockedInputMessaging", m_blockedInputMessaging); + + } + + if(m_blockedOutputsMessagingHasBeenSet) + { + payload.WithString("blockedOutputsMessaging", m_blockedOutputsMessaging); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_contentPolicyConfigHasBeenSet) + { + payload.WithObject("contentPolicyConfig", m_contentPolicyConfig.Jsonize()); + + } + + if(m_contextualGroundingPolicyConfigHasBeenSet) + { + payload.WithObject("contextualGroundingPolicyConfig", m_contextualGroundingPolicyConfig.Jsonize()); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_sensitiveInformationPolicyConfigHasBeenSet) + { + payload.WithObject("sensitiveInformationPolicyConfig", m_sensitiveInformationPolicyConfig.Jsonize()); + + } + + if(m_topicPolicyConfigHasBeenSet) + { + payload.WithObject("topicPolicyConfig", m_topicPolicyConfig.Jsonize()); + + } + + if(m_visibilityStatusHasBeenSet) + { + payload.WithString("visibilityStatus", VisibilityStatusMapper::GetNameForVisibilityStatus(m_visibilityStatus)); + } + + if(m_wordPolicyConfigHasBeenSet) + { + payload.WithObject("wordPolicyConfig", m_wordPolicyConfig.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-qconnect/source/model/UpdateAIGuardrailResult.cpp b/generated/src/aws-cpp-sdk-qconnect/source/model/UpdateAIGuardrailResult.cpp new file mode 100644 index 00000000000..f91f77b6e80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/model/UpdateAIGuardrailResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QConnect::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateAIGuardrailResult::UpdateAIGuardrailResult() +{ +} + +UpdateAIGuardrailResult::UpdateAIGuardrailResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateAIGuardrailResult& UpdateAIGuardrailResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("aiGuardrail")) + { + m_aiGuardrail = jsonValue.GetObject("aiGuardrail"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h index 950d4457174..6500f9a83e7 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h @@ -3181,10 +3181,10 @@ namespace Aws * endpoint disables RDS Data API.

          For more information, see Using * RDS Data API in the Amazon Aurora User Guide.

          This - * operation applies only to Aurora PostgreSQL Serverless v2 and provisioned DB - * clusters. To disable the HTTP endpoint for Aurora Serverless v1 DB clusters, use - * the EnableHttpEndpoint parameter of the - * ModifyDBCluster operation.

          See Also:

          EnableHttpEndpoint parameter of the ModifyDBCluster + * operation.

          See Also:

          AWS * API Reference

          */ @@ -3242,10 +3242,10 @@ namespace Aws * editor.

          For more information, see Using * RDS Data API in the Amazon Aurora User Guide.

          This - * operation applies only to Aurora PostgreSQL Serverless v2 and provisioned DB - * clusters. To enable the HTTP endpoint for Aurora Serverless v1 DB clusters, use - * the EnableHttpEndpoint parameter of the - * ModifyDBCluster operation.

          See Also:

          EnableHttpEndpoint parameter of the ModifyDBCluster + * operation.

          See Also:

          AWS * API Reference

          */ diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBClusterRequest.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBClusterRequest.h index 016e4986d97..36f556d1f8f 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBClusterRequest.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBClusterRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -874,6 +875,18 @@ namespace Model inline CreateDBClusterRequest& WithMonitoringRoleArn(const char* value) { SetMonitoringRoleArn(value); return *this;} ///@} + ///@{ + /** + *

          Specifies the mode of Database Insights to enable for the cluster.

          + */ + inline const DatabaseInsightsMode& GetDatabaseInsightsMode() const{ return m_databaseInsightsMode; } + inline bool DatabaseInsightsModeHasBeenSet() const { return m_databaseInsightsModeHasBeenSet; } + inline void SetDatabaseInsightsMode(const DatabaseInsightsMode& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = value; } + inline void SetDatabaseInsightsMode(DatabaseInsightsMode&& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = std::move(value); } + inline CreateDBClusterRequest& WithDatabaseInsightsMode(const DatabaseInsightsMode& value) { SetDatabaseInsightsMode(value); return *this;} + inline CreateDBClusterRequest& WithDatabaseInsightsMode(DatabaseInsightsMode&& value) { SetDatabaseInsightsMode(std::move(value)); return *this;} + ///@} + ///@{ /** *

          Specifies whether to turn on Performance Insights for the DB cluster.

          @@ -1252,6 +1265,9 @@ namespace Model Aws::String m_monitoringRoleArn; bool m_monitoringRoleArnHasBeenSet = false; + DatabaseInsightsMode m_databaseInsightsMode; + bool m_databaseInsightsModeHasBeenSet = false; + bool m_enablePerformanceInsights; bool m_enablePerformanceInsightsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceReadReplicaRequest.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceReadReplicaRequest.h index 391959541eb..155b62d3acf 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceReadReplicaRequest.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceReadReplicaRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -476,6 +477,18 @@ namespace Model inline CreateDBInstanceReadReplicaRequest& WithEnableIAMDatabaseAuthentication(bool value) { SetEnableIAMDatabaseAuthentication(value); return *this;} ///@} + ///@{ + /** + *

          Specifies the mode of Database Insights.

          + */ + inline const DatabaseInsightsMode& GetDatabaseInsightsMode() const{ return m_databaseInsightsMode; } + inline bool DatabaseInsightsModeHasBeenSet() const { return m_databaseInsightsModeHasBeenSet; } + inline void SetDatabaseInsightsMode(const DatabaseInsightsMode& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = value; } + inline void SetDatabaseInsightsMode(DatabaseInsightsMode&& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = std::move(value); } + inline CreateDBInstanceReadReplicaRequest& WithDatabaseInsightsMode(const DatabaseInsightsMode& value) { SetDatabaseInsightsMode(value); return *this;} + inline CreateDBInstanceReadReplicaRequest& WithDatabaseInsightsMode(DatabaseInsightsMode&& value) { SetDatabaseInsightsMode(std::move(value)); return *this;} + ///@} + ///@{ /** *

          Specifies whether to enable Performance Insights for the read replica.

          @@ -969,6 +982,9 @@ namespace Model bool m_enableIAMDatabaseAuthentication; bool m_enableIAMDatabaseAuthenticationHasBeenSet = false; + DatabaseInsightsMode m_databaseInsightsMode; + bool m_databaseInsightsModeHasBeenSet = false; + bool m_enablePerformanceInsights; bool m_enablePerformanceInsightsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceRequest.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceRequest.h index 2b53ff749ad..c0565abd7ad 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceRequest.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -1019,6 +1020,18 @@ namespace Model inline CreateDBInstanceRequest& WithEnableIAMDatabaseAuthentication(bool value) { SetEnableIAMDatabaseAuthentication(value); return *this;} ///@} + ///@{ + /** + *

          Specifies the mode of Database Insights to enable for the instance.

          + */ + inline const DatabaseInsightsMode& GetDatabaseInsightsMode() const{ return m_databaseInsightsMode; } + inline bool DatabaseInsightsModeHasBeenSet() const { return m_databaseInsightsModeHasBeenSet; } + inline void SetDatabaseInsightsMode(const DatabaseInsightsMode& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = value; } + inline void SetDatabaseInsightsMode(DatabaseInsightsMode&& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = std::move(value); } + inline CreateDBInstanceRequest& WithDatabaseInsightsMode(const DatabaseInsightsMode& value) { SetDatabaseInsightsMode(value); return *this;} + inline CreateDBInstanceRequest& WithDatabaseInsightsMode(DatabaseInsightsMode&& value) { SetDatabaseInsightsMode(std::move(value)); return *this;} + ///@} + ///@{ /** *

          Specifies whether to enable Performance Insights for the DB instance. For @@ -1520,6 +1533,9 @@ namespace Model bool m_enableIAMDatabaseAuthentication; bool m_enableIAMDatabaseAuthenticationHasBeenSet = false; + DatabaseInsightsMode m_databaseInsightsMode; + bool m_databaseInsightsModeHasBeenSet = false; + bool m_enablePerformanceInsights; bool m_enablePerformanceInsightsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBCluster.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBCluster.h index b15b46c2ae5..b3288e2a166 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBCluster.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBCluster.h @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -995,6 +996,18 @@ namespace Model inline DBCluster& WithMonitoringRoleArn(const char* value) { SetMonitoringRoleArn(value); return *this;} ///@} + ///@{ + /** + *

          The mode of Database Insights that is enabled for the cluster.

          + */ + inline const DatabaseInsightsMode& GetDatabaseInsightsMode() const{ return m_databaseInsightsMode; } + inline bool DatabaseInsightsModeHasBeenSet() const { return m_databaseInsightsModeHasBeenSet; } + inline void SetDatabaseInsightsMode(const DatabaseInsightsMode& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = value; } + inline void SetDatabaseInsightsMode(DatabaseInsightsMode&& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = std::move(value); } + inline DBCluster& WithDatabaseInsightsMode(const DatabaseInsightsMode& value) { SetDatabaseInsightsMode(value); return *this;} + inline DBCluster& WithDatabaseInsightsMode(DatabaseInsightsMode&& value) { SetDatabaseInsightsMode(std::move(value)); return *this;} + ///@} + ///@{ /** *

          Indicates whether Performance Insights is enabled for the DB cluster.

          @@ -1407,6 +1420,9 @@ namespace Model Aws::String m_monitoringRoleArn; bool m_monitoringRoleArnHasBeenSet = false; + DatabaseInsightsMode m_databaseInsightsMode; + bool m_databaseInsightsModeHasBeenSet = false; + bool m_performanceInsightsEnabled; bool m_performanceInsightsEnabledHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBInstance.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBInstance.h index 1bcf7d2ce1d..8db06b52a57 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBInstance.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBInstance.h @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -821,6 +822,18 @@ namespace Model inline DBInstance& WithIAMDatabaseAuthenticationEnabled(bool value) { SetIAMDatabaseAuthenticationEnabled(value); return *this;} ///@} + ///@{ + /** + *

          The mode of Database Insights that is enabled for the instance.

          + */ + inline const DatabaseInsightsMode& GetDatabaseInsightsMode() const{ return m_databaseInsightsMode; } + inline bool DatabaseInsightsModeHasBeenSet() const { return m_databaseInsightsModeHasBeenSet; } + inline void SetDatabaseInsightsMode(const DatabaseInsightsMode& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = value; } + inline void SetDatabaseInsightsMode(DatabaseInsightsMode&& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = std::move(value); } + inline DBInstance& WithDatabaseInsightsMode(const DatabaseInsightsMode& value) { SetDatabaseInsightsMode(value); return *this;} + inline DBInstance& WithDatabaseInsightsMode(DatabaseInsightsMode&& value) { SetDatabaseInsightsMode(std::move(value)); return *this;} + ///@} + ///@{ /** *

          Indicates whether Performance Insights is enabled for the DB instance.

          @@ -1472,6 +1485,9 @@ namespace Model bool m_iAMDatabaseAuthenticationEnabled; bool m_iAMDatabaseAuthenticationEnabledHasBeenSet = false; + DatabaseInsightsMode m_databaseInsightsMode; + bool m_databaseInsightsModeHasBeenSet = false; + bool m_performanceInsightsEnabled; bool m_performanceInsightsEnabledHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DatabaseInsightsMode.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DatabaseInsightsMode.h new file mode 100644 index 00000000000..5c35fa9b6ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DatabaseInsightsMode.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RDS +{ +namespace Model +{ + enum class DatabaseInsightsMode + { + NOT_SET, + standard, + advanced + }; + +namespace DatabaseInsightsModeMapper +{ +AWS_RDS_API DatabaseInsightsMode GetDatabaseInsightsModeForName(const Aws::String& name); + +AWS_RDS_API Aws::String GetNameForDatabaseInsightsMode(DatabaseInsightsMode value); +} // namespace DatabaseInsightsModeMapper +} // namespace Model +} // namespace RDS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBClusterRequest.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBClusterRequest.h index c3bca3494f0..4368247d82e 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBClusterRequest.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBClusterRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -440,10 +441,9 @@ namespace Model * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html">Using * RDS Data API in the Amazon Aurora User Guide.

          This * parameter applies only to Aurora Serverless v1 DB clusters. To enable or disable - * the HTTP endpoint for an Aurora PostgreSQL Serverless v2 or provisioned DB - * cluster, use the EnableHttpEndpoint and - * DisableHttpEndpoint operations.

          Valid for Cluster - * Type: Aurora DB clusters only

          + * the HTTP endpoint for an Aurora Serverless v2 or provisioned DB cluster, use the + * EnableHttpEndpoint and DisableHttpEndpoint + * operations.

          Valid for Cluster Type: Aurora DB clusters only

          */ inline bool GetEnableHttpEndpoint() const{ return m_enableHttpEndpoint; } inline bool EnableHttpEndpointHasBeenSet() const { return m_enableHttpEndpointHasBeenSet; } @@ -610,6 +610,18 @@ namespace Model inline ModifyDBClusterRequest& WithMonitoringRoleArn(const char* value) { SetMonitoringRoleArn(value); return *this;} ///@} + ///@{ + /** + *

          Specifies the mode of Database Insights to enable for the cluster.

          + */ + inline const DatabaseInsightsMode& GetDatabaseInsightsMode() const{ return m_databaseInsightsMode; } + inline bool DatabaseInsightsModeHasBeenSet() const { return m_databaseInsightsModeHasBeenSet; } + inline void SetDatabaseInsightsMode(const DatabaseInsightsMode& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = value; } + inline void SetDatabaseInsightsMode(DatabaseInsightsMode&& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = std::move(value); } + inline ModifyDBClusterRequest& WithDatabaseInsightsMode(const DatabaseInsightsMode& value) { SetDatabaseInsightsMode(value); return *this;} + inline ModifyDBClusterRequest& WithDatabaseInsightsMode(DatabaseInsightsMode&& value) { SetDatabaseInsightsMode(std::move(value)); return *this;} + ///@} + ///@{ /** *

          Specifies whether to turn on Performance Insights for the DB cluster.

          @@ -961,6 +973,9 @@ namespace Model Aws::String m_monitoringRoleArn; bool m_monitoringRoleArnHasBeenSet = false; + DatabaseInsightsMode m_databaseInsightsMode; + bool m_databaseInsightsModeHasBeenSet = false; + bool m_enablePerformanceInsights; bool m_enablePerformanceInsightsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBInstanceRequest.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBInstanceRequest.h index 0d090657e4f..dde698df270 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBInstanceRequest.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBInstanceRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -858,6 +859,18 @@ namespace Model inline ModifyDBInstanceRequest& WithEnableIAMDatabaseAuthentication(bool value) { SetEnableIAMDatabaseAuthentication(value); return *this;} ///@} + ///@{ + /** + *

          Specifies the mode of Database Insights to enable for the instance.

          + */ + inline const DatabaseInsightsMode& GetDatabaseInsightsMode() const{ return m_databaseInsightsMode; } + inline bool DatabaseInsightsModeHasBeenSet() const { return m_databaseInsightsModeHasBeenSet; } + inline void SetDatabaseInsightsMode(const DatabaseInsightsMode& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = value; } + inline void SetDatabaseInsightsMode(DatabaseInsightsMode&& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = std::move(value); } + inline ModifyDBInstanceRequest& WithDatabaseInsightsMode(const DatabaseInsightsMode& value) { SetDatabaseInsightsMode(value); return *this;} + inline ModifyDBInstanceRequest& WithDatabaseInsightsMode(DatabaseInsightsMode&& value) { SetDatabaseInsightsMode(std::move(value)); return *this;} + ///@} + ///@{ /** *

          Specifies whether to enable Performance Insights for the DB instance.

          @@ -1378,6 +1391,9 @@ namespace Model bool m_enableIAMDatabaseAuthentication; bool m_enableIAMDatabaseAuthenticationHasBeenSet = false; + DatabaseInsightsMode m_databaseInsightsMode; + bool m_databaseInsightsModeHasBeenSet = false; + bool m_enablePerformanceInsights; bool m_enablePerformanceInsightsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/RestoreDBInstanceFromS3Request.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/RestoreDBInstanceFromS3Request.h index 3fc3847e976..6d7b8edbf7b 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/RestoreDBInstanceFromS3Request.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/RestoreDBInstanceFromS3Request.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -626,6 +627,18 @@ namespace Model inline RestoreDBInstanceFromS3Request& WithS3IngestionRoleArn(const char* value) { SetS3IngestionRoleArn(value); return *this;} ///@} + ///@{ + /** + *

          Specifies the mode of Database Insights to enable for the instance.

          + */ + inline const DatabaseInsightsMode& GetDatabaseInsightsMode() const{ return m_databaseInsightsMode; } + inline bool DatabaseInsightsModeHasBeenSet() const { return m_databaseInsightsModeHasBeenSet; } + inline void SetDatabaseInsightsMode(const DatabaseInsightsMode& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = value; } + inline void SetDatabaseInsightsMode(DatabaseInsightsMode&& value) { m_databaseInsightsModeHasBeenSet = true; m_databaseInsightsMode = std::move(value); } + inline RestoreDBInstanceFromS3Request& WithDatabaseInsightsMode(const DatabaseInsightsMode& value) { SetDatabaseInsightsMode(value); return *this;} + inline RestoreDBInstanceFromS3Request& WithDatabaseInsightsMode(DatabaseInsightsMode&& value) { SetDatabaseInsightsMode(std::move(value)); return *this;} + ///@} + ///@{ /** *

          Specifies whether to enable Performance Insights for the DB instance.

          @@ -1000,6 +1013,9 @@ namespace Model Aws::String m_s3IngestionRoleArn; bool m_s3IngestionRoleArnHasBeenSet = false; + DatabaseInsightsMode m_databaseInsightsMode; + bool m_databaseInsightsModeHasBeenSet = false; + bool m_enablePerformanceInsights; bool m_enablePerformanceInsightsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-rds/source/model/CreateDBClusterRequest.cpp b/generated/src/aws-cpp-sdk-rds/source/model/CreateDBClusterRequest.cpp index f4687274101..6949f441af1 100644 --- a/generated/src/aws-cpp-sdk-rds/source/model/CreateDBClusterRequest.cpp +++ b/generated/src/aws-cpp-sdk-rds/source/model/CreateDBClusterRequest.cpp @@ -67,6 +67,8 @@ CreateDBClusterRequest::CreateDBClusterRequest() : m_monitoringInterval(0), m_monitoringIntervalHasBeenSet(false), m_monitoringRoleArnHasBeenSet(false), + m_databaseInsightsMode(DatabaseInsightsMode::NOT_SET), + m_databaseInsightsModeHasBeenSet(false), m_enablePerformanceInsights(false), m_enablePerformanceInsightsHasBeenSet(false), m_performanceInsightsKMSKeyIdHasBeenSet(false), @@ -355,6 +357,11 @@ Aws::String CreateDBClusterRequest::SerializePayload() const ss << "MonitoringRoleArn=" << StringUtils::URLEncode(m_monitoringRoleArn.c_str()) << "&"; } + if(m_databaseInsightsModeHasBeenSet) + { + ss << "DatabaseInsightsMode=" << DatabaseInsightsModeMapper::GetNameForDatabaseInsightsMode(m_databaseInsightsMode) << "&"; + } + if(m_enablePerformanceInsightsHasBeenSet) { ss << "EnablePerformanceInsights=" << std::boolalpha << m_enablePerformanceInsights << "&"; diff --git a/generated/src/aws-cpp-sdk-rds/source/model/CreateDBInstanceReadReplicaRequest.cpp b/generated/src/aws-cpp-sdk-rds/source/model/CreateDBInstanceReadReplicaRequest.cpp index 306abbab2ea..74e86ce3c32 100644 --- a/generated/src/aws-cpp-sdk-rds/source/model/CreateDBInstanceReadReplicaRequest.cpp +++ b/generated/src/aws-cpp-sdk-rds/source/model/CreateDBInstanceReadReplicaRequest.cpp @@ -40,6 +40,8 @@ CreateDBInstanceReadReplicaRequest::CreateDBInstanceReadReplicaRequest() : m_preSignedUrlHasBeenSet(false), m_enableIAMDatabaseAuthentication(false), m_enableIAMDatabaseAuthenticationHasBeenSet(false), + m_databaseInsightsMode(DatabaseInsightsMode::NOT_SET), + m_databaseInsightsModeHasBeenSet(false), m_enablePerformanceInsights(false), m_enablePerformanceInsightsHasBeenSet(false), m_performanceInsightsKMSKeyIdHasBeenSet(false), @@ -213,6 +215,11 @@ Aws::String CreateDBInstanceReadReplicaRequest::SerializePayload() const ss << "EnableIAMDatabaseAuthentication=" << std::boolalpha << m_enableIAMDatabaseAuthentication << "&"; } + if(m_databaseInsightsModeHasBeenSet) + { + ss << "DatabaseInsightsMode=" << DatabaseInsightsModeMapper::GetNameForDatabaseInsightsMode(m_databaseInsightsMode) << "&"; + } + if(m_enablePerformanceInsightsHasBeenSet) { ss << "EnablePerformanceInsights=" << std::boolalpha << m_enablePerformanceInsights << "&"; diff --git a/generated/src/aws-cpp-sdk-rds/source/model/CreateDBInstanceRequest.cpp b/generated/src/aws-cpp-sdk-rds/source/model/CreateDBInstanceRequest.cpp index aeb14f78f15..bc467f1540c 100644 --- a/generated/src/aws-cpp-sdk-rds/source/model/CreateDBInstanceRequest.cpp +++ b/generated/src/aws-cpp-sdk-rds/source/model/CreateDBInstanceRequest.cpp @@ -67,6 +67,8 @@ CreateDBInstanceRequest::CreateDBInstanceRequest() : m_timezoneHasBeenSet(false), m_enableIAMDatabaseAuthentication(false), m_enableIAMDatabaseAuthenticationHasBeenSet(false), + m_databaseInsightsMode(DatabaseInsightsMode::NOT_SET), + m_databaseInsightsModeHasBeenSet(false), m_enablePerformanceInsights(false), m_enablePerformanceInsightsHasBeenSet(false), m_performanceInsightsKMSKeyIdHasBeenSet(false), @@ -373,6 +375,11 @@ Aws::String CreateDBInstanceRequest::SerializePayload() const ss << "EnableIAMDatabaseAuthentication=" << std::boolalpha << m_enableIAMDatabaseAuthentication << "&"; } + if(m_databaseInsightsModeHasBeenSet) + { + ss << "DatabaseInsightsMode=" << DatabaseInsightsModeMapper::GetNameForDatabaseInsightsMode(m_databaseInsightsMode) << "&"; + } + if(m_enablePerformanceInsightsHasBeenSet) { ss << "EnablePerformanceInsights=" << std::boolalpha << m_enablePerformanceInsights << "&"; diff --git a/generated/src/aws-cpp-sdk-rds/source/model/DBCluster.cpp b/generated/src/aws-cpp-sdk-rds/source/model/DBCluster.cpp index ab34025d768..675bfb91fc3 100644 --- a/generated/src/aws-cpp-sdk-rds/source/model/DBCluster.cpp +++ b/generated/src/aws-cpp-sdk-rds/source/model/DBCluster.cpp @@ -108,6 +108,8 @@ DBCluster::DBCluster() : m_monitoringInterval(0), m_monitoringIntervalHasBeenSet(false), m_monitoringRoleArnHasBeenSet(false), + m_databaseInsightsMode(DatabaseInsightsMode::NOT_SET), + m_databaseInsightsModeHasBeenSet(false), m_performanceInsightsEnabled(false), m_performanceInsightsEnabledHasBeenSet(false), m_performanceInsightsKMSKeyIdHasBeenSet(false), @@ -605,6 +607,12 @@ DBCluster& DBCluster::operator =(const XmlNode& xmlNode) m_monitoringRoleArn = Aws::Utils::Xml::DecodeEscapedXmlText(monitoringRoleArnNode.GetText()); m_monitoringRoleArnHasBeenSet = true; } + XmlNode databaseInsightsModeNode = resultNode.FirstChild("DatabaseInsightsMode"); + if(!databaseInsightsModeNode.IsNull()) + { + m_databaseInsightsMode = DatabaseInsightsModeMapper::GetDatabaseInsightsModeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(databaseInsightsModeNode.GetText()).c_str()).c_str()); + m_databaseInsightsModeHasBeenSet = true; + } XmlNode performanceInsightsEnabledNode = resultNode.FirstChild("PerformanceInsightsEnabled"); if(!performanceInsightsEnabledNode.IsNull()) { @@ -1096,6 +1104,11 @@ void DBCluster::OutputToStream(Aws::OStream& oStream, const char* location, unsi oStream << location << index << locationValue << ".MonitoringRoleArn=" << StringUtils::URLEncode(m_monitoringRoleArn.c_str()) << "&"; } + if(m_databaseInsightsModeHasBeenSet) + { + oStream << location << index << locationValue << ".DatabaseInsightsMode=" << DatabaseInsightsModeMapper::GetNameForDatabaseInsightsMode(m_databaseInsightsMode) << "&"; + } + if(m_performanceInsightsEnabledHasBeenSet) { oStream << location << index << locationValue << ".PerformanceInsightsEnabled=" << std::boolalpha << m_performanceInsightsEnabled << "&"; @@ -1511,6 +1524,10 @@ void DBCluster::OutputToStream(Aws::OStream& oStream, const char* location) cons { oStream << location << ".MonitoringRoleArn=" << StringUtils::URLEncode(m_monitoringRoleArn.c_str()) << "&"; } + if(m_databaseInsightsModeHasBeenSet) + { + oStream << location << ".DatabaseInsightsMode=" << DatabaseInsightsModeMapper::GetNameForDatabaseInsightsMode(m_databaseInsightsMode) << "&"; + } if(m_performanceInsightsEnabledHasBeenSet) { oStream << location << ".PerformanceInsightsEnabled=" << std::boolalpha << m_performanceInsightsEnabled << "&"; diff --git a/generated/src/aws-cpp-sdk-rds/source/model/DBInstance.cpp b/generated/src/aws-cpp-sdk-rds/source/model/DBInstance.cpp index b920480ccf6..79b545e27d2 100644 --- a/generated/src/aws-cpp-sdk-rds/source/model/DBInstance.cpp +++ b/generated/src/aws-cpp-sdk-rds/source/model/DBInstance.cpp @@ -86,6 +86,8 @@ DBInstance::DBInstance() : m_timezoneHasBeenSet(false), m_iAMDatabaseAuthenticationEnabled(false), m_iAMDatabaseAuthenticationEnabledHasBeenSet(false), + m_databaseInsightsMode(DatabaseInsightsMode::NOT_SET), + m_databaseInsightsModeHasBeenSet(false), m_performanceInsightsEnabled(false), m_performanceInsightsEnabledHasBeenSet(false), m_performanceInsightsKMSKeyIdHasBeenSet(false), @@ -509,6 +511,12 @@ DBInstance& DBInstance::operator =(const XmlNode& xmlNode) m_iAMDatabaseAuthenticationEnabled = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(iAMDatabaseAuthenticationEnabledNode.GetText()).c_str()).c_str()); m_iAMDatabaseAuthenticationEnabledHasBeenSet = true; } + XmlNode databaseInsightsModeNode = resultNode.FirstChild("DatabaseInsightsMode"); + if(!databaseInsightsModeNode.IsNull()) + { + m_databaseInsightsMode = DatabaseInsightsModeMapper::GetDatabaseInsightsModeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(databaseInsightsModeNode.GetText()).c_str()).c_str()); + m_databaseInsightsModeHasBeenSet = true; + } XmlNode performanceInsightsEnabledNode = resultNode.FirstChild("PerformanceInsightsEnabled"); if(!performanceInsightsEnabledNode.IsNull()) { @@ -1060,6 +1068,11 @@ void DBInstance::OutputToStream(Aws::OStream& oStream, const char* location, uns oStream << location << index << locationValue << ".IAMDatabaseAuthenticationEnabled=" << std::boolalpha << m_iAMDatabaseAuthenticationEnabled << "&"; } + if(m_databaseInsightsModeHasBeenSet) + { + oStream << location << index << locationValue << ".DatabaseInsightsMode=" << DatabaseInsightsModeMapper::GetNameForDatabaseInsightsMode(m_databaseInsightsMode) << "&"; + } + if(m_performanceInsightsEnabledHasBeenSet) { oStream << location << index << locationValue << ".PerformanceInsightsEnabled=" << std::boolalpha << m_performanceInsightsEnabled << "&"; @@ -1526,6 +1539,10 @@ void DBInstance::OutputToStream(Aws::OStream& oStream, const char* location) con { oStream << location << ".IAMDatabaseAuthenticationEnabled=" << std::boolalpha << m_iAMDatabaseAuthenticationEnabled << "&"; } + if(m_databaseInsightsModeHasBeenSet) + { + oStream << location << ".DatabaseInsightsMode=" << DatabaseInsightsModeMapper::GetNameForDatabaseInsightsMode(m_databaseInsightsMode) << "&"; + } if(m_performanceInsightsEnabledHasBeenSet) { oStream << location << ".PerformanceInsightsEnabled=" << std::boolalpha << m_performanceInsightsEnabled << "&"; diff --git a/generated/src/aws-cpp-sdk-rds/source/model/DatabaseInsightsMode.cpp b/generated/src/aws-cpp-sdk-rds/source/model/DatabaseInsightsMode.cpp new file mode 100644 index 00000000000..b7341b94744 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rds/source/model/DatabaseInsightsMode.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace RDS + { + namespace Model + { + namespace DatabaseInsightsModeMapper + { + + static const int standard_HASH = HashingUtils::HashString("standard"); + static const int advanced_HASH = HashingUtils::HashString("advanced"); + + + DatabaseInsightsMode GetDatabaseInsightsModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == standard_HASH) + { + return DatabaseInsightsMode::standard; + } + else if (hashCode == advanced_HASH) + { + return DatabaseInsightsMode::advanced; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DatabaseInsightsMode::NOT_SET; + } + + Aws::String GetNameForDatabaseInsightsMode(DatabaseInsightsMode enumValue) + { + switch(enumValue) + { + case DatabaseInsightsMode::NOT_SET: + return {}; + case DatabaseInsightsMode::standard: + return "standard"; + case DatabaseInsightsMode::advanced: + return "advanced"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DatabaseInsightsModeMapper + } // namespace Model + } // namespace RDS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rds/source/model/ModifyDBClusterRequest.cpp b/generated/src/aws-cpp-sdk-rds/source/model/ModifyDBClusterRequest.cpp index ca38e3d24f7..77c8c398ed6 100644 --- a/generated/src/aws-cpp-sdk-rds/source/model/ModifyDBClusterRequest.cpp +++ b/generated/src/aws-cpp-sdk-rds/source/model/ModifyDBClusterRequest.cpp @@ -56,6 +56,8 @@ ModifyDBClusterRequest::ModifyDBClusterRequest() : m_monitoringInterval(0), m_monitoringIntervalHasBeenSet(false), m_monitoringRoleArnHasBeenSet(false), + m_databaseInsightsMode(DatabaseInsightsMode::NOT_SET), + m_databaseInsightsModeHasBeenSet(false), m_enablePerformanceInsights(false), m_enablePerformanceInsightsHasBeenSet(false), m_performanceInsightsKMSKeyIdHasBeenSet(false), @@ -252,6 +254,11 @@ Aws::String ModifyDBClusterRequest::SerializePayload() const ss << "MonitoringRoleArn=" << StringUtils::URLEncode(m_monitoringRoleArn.c_str()) << "&"; } + if(m_databaseInsightsModeHasBeenSet) + { + ss << "DatabaseInsightsMode=" << DatabaseInsightsModeMapper::GetNameForDatabaseInsightsMode(m_databaseInsightsMode) << "&"; + } + if(m_enablePerformanceInsightsHasBeenSet) { ss << "EnablePerformanceInsights=" << std::boolalpha << m_enablePerformanceInsights << "&"; diff --git a/generated/src/aws-cpp-sdk-rds/source/model/ModifyDBInstanceRequest.cpp b/generated/src/aws-cpp-sdk-rds/source/model/ModifyDBInstanceRequest.cpp index 9789f8cab32..c5169039151 100644 --- a/generated/src/aws-cpp-sdk-rds/source/model/ModifyDBInstanceRequest.cpp +++ b/generated/src/aws-cpp-sdk-rds/source/model/ModifyDBInstanceRequest.cpp @@ -63,6 +63,8 @@ ModifyDBInstanceRequest::ModifyDBInstanceRequest() : m_promotionTierHasBeenSet(false), m_enableIAMDatabaseAuthentication(false), m_enableIAMDatabaseAuthenticationHasBeenSet(false), + m_databaseInsightsMode(DatabaseInsightsMode::NOT_SET), + m_databaseInsightsModeHasBeenSet(false), m_enablePerformanceInsights(false), m_enablePerformanceInsightsHasBeenSet(false), m_performanceInsightsKMSKeyIdHasBeenSet(false), @@ -336,6 +338,11 @@ Aws::String ModifyDBInstanceRequest::SerializePayload() const ss << "EnableIAMDatabaseAuthentication=" << std::boolalpha << m_enableIAMDatabaseAuthentication << "&"; } + if(m_databaseInsightsModeHasBeenSet) + { + ss << "DatabaseInsightsMode=" << DatabaseInsightsModeMapper::GetNameForDatabaseInsightsMode(m_databaseInsightsMode) << "&"; + } + if(m_enablePerformanceInsightsHasBeenSet) { ss << "EnablePerformanceInsights=" << std::boolalpha << m_enablePerformanceInsights << "&"; diff --git a/generated/src/aws-cpp-sdk-rds/source/model/RestoreDBInstanceFromS3Request.cpp b/generated/src/aws-cpp-sdk-rds/source/model/RestoreDBInstanceFromS3Request.cpp index 454444a5823..060efdd193d 100644 --- a/generated/src/aws-cpp-sdk-rds/source/model/RestoreDBInstanceFromS3Request.cpp +++ b/generated/src/aws-cpp-sdk-rds/source/model/RestoreDBInstanceFromS3Request.cpp @@ -58,6 +58,8 @@ RestoreDBInstanceFromS3Request::RestoreDBInstanceFromS3Request() : m_s3BucketNameHasBeenSet(false), m_s3PrefixHasBeenSet(false), m_s3IngestionRoleArnHasBeenSet(false), + m_databaseInsightsMode(DatabaseInsightsMode::NOT_SET), + m_databaseInsightsModeHasBeenSet(false), m_enablePerformanceInsights(false), m_enablePerformanceInsightsHasBeenSet(false), m_performanceInsightsKMSKeyIdHasBeenSet(false), @@ -306,6 +308,11 @@ Aws::String RestoreDBInstanceFromS3Request::SerializePayload() const ss << "S3IngestionRoleArn=" << StringUtils::URLEncode(m_s3IngestionRoleArn.c_str()) << "&"; } + if(m_databaseInsightsModeHasBeenSet) + { + ss << "DatabaseInsightsMode=" << DatabaseInsightsModeMapper::GetNameForDatabaseInsightsMode(m_databaseInsightsMode) << "&"; + } + if(m_enablePerformanceInsightsHasBeenSet) { ss << "EnablePerformanceInsights=" << std::boolalpha << m_enablePerformanceInsights << "&"; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h index 6a1a1fc29b4..7d438342a63 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h @@ -145,13 +145,18 @@ namespace Aws * 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name - * . Path-style requests are not supported. For more information, see https://bucket-name.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 in the Amazon S3 User Guide.

        - *
        Permissions
        Permissions
        • General + * purpose bucket permissions - For information about permissions required to + * use the multipart upload, see Multipart * Upload and Permissions in the Amazon S3 User Guide.

        • *

          Directory bucket permissions - To grant access to this API operation @@ -171,7 +176,7 @@ namespace Aws * CreateSession .

        HTTP Host header * syntax

        Directory buckets - The HTTP Host header syntax is * - * Bucket_name.s3express-az_id.region.amazonaws.com.

        + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        *

        The following operations are related to * AbortMultipartUpload:

        Both the Region that you want to copy the object from and the + * Region that you want to copy the object to must be enabled for your account. For + * more information about how to enable a Region for your account, see Enable * or disable a Region for standalone accounts in the Amazon Web Services * Account Management Guide.

        Amazon S3 transfer acceleration @@ -450,7 +465,7 @@ namespace Aws * href="http://aws.amazon.com/s3/pricing/">Amazon S3 pricing.

        *
        HTTP Host header syntax

        Directory buckets - The HTTP * Host header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

        + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        *

        The following operations are related to * CopyObject:

        - *
        Permissions
        • General purpose bucket - * permissions - In addition to the s3:CreateBucket permission, - * the following permissions are required in a policy when your + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

          + *
        Permissions
        • General + * purpose bucket permissions - In addition to the s3:CreateBucket + * permission, the following permissions are required in a policy when your * CreateBucket request includes specific headers:

          • * Access control lists (ACLs) - In your CreateBucket request, * if you specify an access control list (ACL) and set it to @@ -564,7 +583,7 @@ namespace Aws * of S3 Express One Zone in the Amazon S3 User Guide.

            *
        HTTP Host header syntax

        Directory buckets * - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

        + * s3express-control.region-code.amazonaws.com.

        *

        The following operations are related to CreateBucket:

        - *
        Request signing

        For request signing, multipart - * upload is just a series of regular requests. You initiate a multipart upload, - * send one or more requests to upload parts, and then complete the multipart - * upload process. You sign each request individually. There is nothing special - * about signing multipart upload requests. For more information about signing, see - * in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

        + *
      Request signing

      For request signing, + * multipart upload is just a series of regular requests. You initiate a multipart + * upload, send one or more requests to upload parts, and then complete the + * multipart upload process. You sign each request individually. There is nothing + * special about signing multipart upload requests. For more information about + * signing, see Authenticating * Requests (Amazon Web Services Signature Version 4) in the Amazon S3 User * Guide.

      Permissions
      • General purpose @@ -783,7 +807,7 @@ namespace Aws * configuration of the destination bucket.

      HTTP * Host header syntax

      Directory buckets - The HTTP Host * header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

      + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

      *

      The following operations are related to * CreateMultipartUpload:

      • UploadPart @@ -853,16 +877,21 @@ namespace Aws * guidelines and design patterns in the Amazon S3 User Guide.

        * - *
        Permissions
        • General purpose bucket - * permissions - You must have the s3:DeleteBucket permission on - * the specified bucket in a policy.

        • Directory bucket - * permissions - You must have the s3express:DeleteBucket + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

          + *
        Permissions
        • General + * purpose bucket permissions - You must have the s3:DeleteBucket + * permission on the specified bucket in a policy.

        • Directory + * bucket permissions - You must have the s3express:DeleteBucket * 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 @@ -1005,7 +1038,7 @@ namespace Aws * Web Services Identity and Access Management (IAM) for S3 Express One Zone in * the Amazon S3 User Guide.

        HTTP Host header * syntax

        Directory buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

        + * s3express-control.region-code.amazonaws.com.

        *

        The following operations are related to DeleteBucket:

          *
        • CreateBucket @@ -1148,7 +1181,7 @@ namespace Aws * Web Services Identity and Access Management (IAM) for S3 Express One Zone in * the Amazon S3 User Guide.

        HTTP Host header * syntax

        Directory buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

        + * s3express-control.region-code.amazonaws.com.

        *

        The following operations are related to * DeleteBucketEncryption:

        HTTP Host header syntax

        Directory - * buckets - The HTTP Host header syntax is + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

        + *
      HTTP Host header syntax

      + * Directory buckets - The HTTP Host header syntax is * s3express-control.region.amazonaws.com.

      *

      For more information about the object expiration, see Elements @@ -1426,30 +1463,34 @@ namespace Aws *

      Deletes the policy of a specified bucket.

      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, - * see 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 in the Amazon S3 User Guide.

      - *
      Permissions

      If you are using an identity other than the root - * user of the Amazon Web Services account that owns the bucket, the calling - * identity must both have the DeleteBucketPolicy permissions on the - * specified bucket and belong to the bucket owner's account in order to use this - * operation.

      If you don't have DeleteBucketPolicy permissions, - * Amazon S3 returns a 403 Access Denied error. If you have the - * correct permissions, but you're not using an identity that belongs to the bucket - * owner's account, Amazon S3 returns a 405 Method Not Allowed - * error.

      To ensure that bucket owners don't inadvertently lock - * themselves out of their own buckets, the root principal in a bucket owner's - * Amazon Web Services account can perform the GetBucketPolicy, - * PutBucketPolicy, and DeleteBucketPolicy API actions, - * even if their bucket policy explicitly denies the root principal's access. - * Bucket owner root principals can only be blocked from performing these API - * actions by VPC endpoint policies and Amazon Web Services Organizations - * policies.

      • General purpose bucket - * permissions - The s3:DeleteBucketPolicy permission is required - * in a policy. For more information about general purpose buckets bucket policies, - * see in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

        + *
        Permissions

        If you are using an identity other + * than the root user of the Amazon Web Services account that owns the bucket, the + * calling identity must both have the DeleteBucketPolicy permissions + * on the specified bucket and belong to the bucket owner's account in order to use + * this operation.

        If you don't have DeleteBucketPolicy + * permissions, Amazon S3 returns a 403 Access Denied error. If you + * have the correct permissions, but you're not using an identity that belongs to + * the bucket owner's account, Amazon S3 returns a 405 Method Not + * Allowed error.

        To ensure that bucket owners don't + * inadvertently lock themselves out of their own buckets, the root principal in a + * bucket owner's Amazon Web Services account can perform the + * GetBucketPolicy, PutBucketPolicy, and + * DeleteBucketPolicy API actions, even if their bucket policy + * explicitly denies the root principal's access. Bucket owner root principals can + * only be blocked from performing these API actions by VPC endpoint policies and + * Amazon Web Services Organizations policies.

        • + * General purpose bucket permissions - The + * s3:DeleteBucketPolicy permission is required in a policy. For more + * information about general purpose buckets bucket policies, see Using * Bucket Policies and User Policies in the Amazon S3 User Guide.

          *
        • Directory bucket permissions - To grant access to this API @@ -1462,7 +1503,7 @@ namespace Aws * Web Services Identity and Access Management (IAM) for S3 Express One Zone in * the Amazon S3 User Guide.

        HTTP Host header * syntax

        Directory buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

        + * s3express-control.region-code.amazonaws.com.

      *

      The following operations are related to DeleteBucketPolicy

      *
      • CreateBucket @@ -1614,52 +1655,88 @@ namespace Aws /** *

        Removes an object from a bucket. The behavior depends on the bucket's - * versioning state. For more information, see Best - * practices to consider before deleting an object.

        To remove a specific - * version, you must use the versionId query parameter. Using this - * query parameter permanently deletes the version. If the object deleted is a - * delete marker, Amazon S3 sets the response header - * x-amz-delete-marker to true. If the object you want to delete is in - * a bucket where the bucket versioning configuration is MFA delete enabled, you - * must include the x-amz-mfa request header in the DELETE - * versionId request. Requests that include x-amz-mfa - * must use HTTPS. For more information about MFA delete and to see example - * requests, see

        • + *

          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. You can only specify + * null to the versionId query parameter in the + * request.

        • 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://bucket-name.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 in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

          + *

        To remove a specific version, you must use the + * versionId query parameter. Using this query parameter permanently + * deletes the version. If the object deleted is a delete marker, Amazon S3 sets + * the response header x-amz-delete-marker to true.

        If the + * object you want to delete is in a bucket where the bucket versioning + * configuration is MFA Delete enabled, you must include the x-amz-mfa + * request header in the DELETE versionId request. Requests that + * include x-amz-mfa must use HTTPS. For more information about MFA + * Delete, see Using - * MFA delete and in the Amazon S3 User Guide. To see sample requests that + * use versioning, see Sample - * request in the Amazon S3 User Guide.

        • 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 - * versionId query parameter in the request.

        • 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name - * . Path-style requests are not supported. For more information, see Regional - * and Zonal endpoints in the Amazon S3 User Guide.

        • - *

          MFA delete is not supported by directory buckets.

        + * Request.

        Directory buckets - MFA delete is not + * supported by directory buckets.

        You can delete objects by + * explicitly calling DELETE Object or calling (PutBucketLifecycle) + * to enable Amazon S3 to remove them for you. If you want to block users or + * accounts from removing or deleting objects from your bucket, you must deny them + * the s3:DeleteObject, s3:DeleteObjectVersion, and + * s3:PutLifeCycleConfiguration actions.

        Directory + * buckets - S3 Lifecycle is not supported by directory buckets.

        *
        Permissions
        • General purpose bucket * permissions - The following permissions are required in your policies when * your DeleteObjects request includes specific headers.

          • *

            s3:DeleteObject - To delete an object from a bucket, - * you must always have the s3:DeleteObject permission.

            - *

            You can also use PutBucketLifecycle to delete objects in Amazon - * S3.

          • s3:DeleteObjectVersion - To - * delete a specific version of an object from a versioning-enabled bucket, you - * must have the s3:DeleteObjectVersion permission.

          • - *

            If you want to block users or accounts from removing or deleting objects from - * your bucket, you must deny them the s3:DeleteObject, - * s3:DeleteObjectVersion, and - * s3:PutLifeCycleConfiguration permissions.

        • - *
        • Directory buckets permissions - To grant access to this API - * operation on a directory bucket, we recommend that you use the - * CreateSession API operation for session-based authorization.

        • - *
        HTTP Host header syntax

        Directory buckets - * - The HTTP Host header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

        + * you must always have the s3:DeleteObject permission.

      • + *

        s3:DeleteObjectVersion - To delete a specific version + * of an object from a versioning-enabled bucket, you must have the + * s3:DeleteObjectVersion permission.

    • + * Directory bucket permissions - To grant access to this API operation on a + * directory bucket, we recommend that you use the + * CreateSession 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. + * Amazon 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 + * CreateSession .

    HTTP Host header + * syntax

    Directory buckets - The HTTP Host header syntax is + * + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    *

    The following action is related to DeleteObject:

    * - *

    The operation supports two modes for the response: verbose and quiet. - * By default, the operation uses verbose mode in which the response includes the - * result of deletion of each key in your request. In quiet mode the response - * includes only keys where the delete operation encountered an error. For a - * successful deletion in a quiet mode, the operation does not return any - * information about the delete in the response body.

    When performing this - * action on an MFA Delete enabled bucket, that attempts to delete any versioned - * objects, you must include an MFA token. If you do not provide one, the entire - * request will fail, even if there are non-versioned objects you are trying to - * delete. If you provide an invalid token, whether there are versioned keys in the - * request or not, the entire Multi-Object Delete request will fail. For + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

    + *
  • The operation supports two modes for the response: + * verbose and quiet. By default, the operation uses verbose mode in which the + * response includes the result of deletion of each key in your request. In quiet + * mode the response includes only keys where the delete operation encountered an + * error. For a successful deletion in a quiet mode, the operation does not return + * any information about the delete in the response body.

    When performing + * this action on an MFA Delete enabled bucket, that attempts to delete any + * versioned objects, you must include an MFA token. If you do not provide one, the + * entire request will fail, even if there are non-versioned objects you are trying + * to delete. If you provide an invalid token, whether there are versioned keys in + * the request or not, the entire Multi-Object Delete request will fail. For * information about MFA Delete, see MFA * Delete in the Amazon S3 User Guide.

    Directory @@ -1792,7 +1874,7 @@ namespace Aws * required for all Multi-Object Delete requests.

    HTTP * Host header syntax

    Directory buckets - The HTTP Host * header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

    + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    *

    The following operations are related to * DeleteObjects:

    • CreateMultipartUpload @@ -2092,7 +2174,7 @@ namespace Aws * Web Services Identity and Access Management (IAM) for S3 Express One Zone in * the Amazon S3 User Guide.

    HTTP Host header * syntax

    Directory buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

    + * s3express-control.region-code.amazonaws.com.

    *

    The following operations are related to GetBucketEncryption:

    *
    HTTP Host header syntax

    Directory buckets - * - The HTTP Host header syntax is + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

    + *
    HTTP Host header syntax

    Directory + * buckets - The HTTP Host header syntax is * s3express-control.region.amazonaws.com.

    * GetBucketLifecycleConfiguration has the following special * error:

    • Error code: NoSuchLifecycleConfiguration @@ -2510,30 +2596,34 @@ namespace Aws *

      Returns the policy of a specified bucket.

      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, - * see 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 in the Amazon S3 User Guide.

      - *
      Permissions

      If you are using an identity other than the root - * user of the Amazon Web Services account that owns the bucket, the calling - * identity must both have the GetBucketPolicy permissions on the - * specified bucket and belong to the bucket owner's account in order to use this - * operation.

      If you don't have GetBucketPolicy permissions, - * Amazon S3 returns a 403 Access Denied error. If you have the - * correct permissions, but you're not using an identity that belongs to the bucket - * owner's account, Amazon S3 returns a 405 Method Not Allowed - * error.

      To ensure that bucket owners don't inadvertently lock - * themselves out of their own buckets, the root principal in a bucket owner's - * Amazon Web Services account can perform the GetBucketPolicy, - * PutBucketPolicy, and DeleteBucketPolicy API actions, - * even if their bucket policy explicitly denies the root principal's access. - * Bucket owner root principals can only be blocked from performing these API - * actions by VPC endpoint policies and Amazon Web Services Organizations - * policies.

      • General purpose bucket - * permissions - The s3:GetBucketPolicy permission is required in - * a policy. For more information about general purpose buckets bucket policies, - * see in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

        + *
        Permissions

        If you are using an identity other + * than the root user of the Amazon Web Services account that owns the bucket, the + * calling identity must both have the GetBucketPolicy permissions on + * the specified bucket and belong to the bucket owner's account in order to use + * this operation.

        If you don't have GetBucketPolicy + * permissions, Amazon S3 returns a 403 Access Denied error. If you + * have the correct permissions, but you're not using an identity that belongs to + * the bucket owner's account, Amazon S3 returns a 405 Method Not + * Allowed error.

        To ensure that bucket owners don't + * inadvertently lock themselves out of their own buckets, the root principal in a + * bucket owner's Amazon Web Services account can perform the + * GetBucketPolicy, PutBucketPolicy, and + * DeleteBucketPolicy API actions, even if their bucket policy + * explicitly denies the root principal's access. Bucket owner root principals can + * only be blocked from performing these API actions by VPC endpoint policies and + * Amazon Web Services Organizations policies.

        • + * General purpose bucket permissions - The s3:GetBucketPolicy + * permission is required in a policy. For more information about general purpose + * buckets bucket policies, see Using * Bucket Policies and User Policies in the Amazon S3 User Guide.

          *
        • Directory bucket permissions - To grant access to this API @@ -2554,7 +2644,7 @@ namespace Aws * bucket policies for S3 Express One Zone in the Amazon S3 User * Guide.

        HTTP Host header syntax

        Directory * buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

        + * s3express-control.region-code.amazonaws.com.

      *

      The following action is related to GetBucketPolicy:

      HTTP Host header syntax
      *

      Directory buckets - The HTTP Host header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

      + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

      *

      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://bucket_name.s3express-az_id.region.amazonaws.com/key-name - * . Path-style requests are not supported. For more information, see https://bucket-name.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 in the Amazon S3 User Guide.

      - *

      The following actions are related to HeadObject:

        - *
      • in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

        + *

        The following actions are related to + * HeadObject:

        • GetObject *

        • GetObjectAttributes @@ -3825,12 +3935,16 @@ namespace Aws * 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, - * see 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 in the Amazon S3 User Guide.

          - *
          Permissions

          You must have the + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets 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 @@ -3902,11 +4016,16 @@ namespace Aws *

          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://bucket_name.s3express-az_id.region.amazonaws.com/key-name - * . Path-style requests are not supported. For more information, see https://bucket-name.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 in the Amazon S3 User Guide.

          - *
          Permissions

          Directory buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

          The following - * operations are related to PutBucketLifecycleConfiguration:

          Directory buckets - The HTTP Host + * header syntax is s3express-control.region.amazonaws.com.

          + *

          The following operations are related to + * PutBucketLifecycleConfiguration:

          • GetBucketLifecycleConfiguration *

          • DeleteBucketLifecycle @@ -5149,30 +5294,34 @@ namespace Aws * 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, - * see 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 in the Amazon S3 User Guide.

            - *
            Permissions

            If you are using an identity other than the root - * user of the Amazon Web Services account that owns the bucket, the calling - * identity must both have the PutBucketPolicy permissions on the - * specified bucket and belong to the bucket owner's account in order to use this - * operation.

            If you don't have PutBucketPolicy permissions, - * Amazon S3 returns a 403 Access Denied error. If you have the - * correct permissions, but you're not using an identity that belongs to the bucket - * owner's account, Amazon S3 returns a 405 Method Not Allowed - * error.

            To ensure that bucket owners don't inadvertently lock - * themselves out of their own buckets, the root principal in a bucket owner's - * Amazon Web Services account can perform the GetBucketPolicy, - * PutBucketPolicy, and DeleteBucketPolicy API actions, - * even if their bucket policy explicitly denies the root principal's access. - * Bucket owner root principals can only be blocked from performing these API - * actions by VPC endpoint policies and Amazon Web Services Organizations - * policies.

            • General purpose bucket - * permissions - The s3:PutBucketPolicy permission is required in - * a policy. For more information about general purpose buckets bucket policies, - * see in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

              + *
              Permissions

              If you are using an identity other + * than the root user of the Amazon Web Services account that owns the bucket, the + * calling identity must both have the PutBucketPolicy permissions on + * the specified bucket and belong to the bucket owner's account in order to use + * this operation.

              If you don't have PutBucketPolicy + * permissions, Amazon S3 returns a 403 Access Denied error. If you + * have the correct permissions, but you're not using an identity that belongs to + * the bucket owner's account, Amazon S3 returns a 405 Method Not + * Allowed error.

              To ensure that bucket owners don't + * inadvertently lock themselves out of their own buckets, the root principal in a + * bucket owner's Amazon Web Services account can perform the + * GetBucketPolicy, PutBucketPolicy, and + * DeleteBucketPolicy API actions, even if their bucket policy + * explicitly denies the root principal's access. Bucket owner root principals can + * only be blocked from performing these API actions by VPC endpoint policies and + * Amazon Web Services Organizations policies.

              • + * General purpose bucket permissions - The s3:PutBucketPolicy + * permission is required in a policy. For more information about general purpose + * buckets bucket policies, see Using * Bucket Policies and User Policies in the Amazon S3 User Guide.

                *
              • Directory bucket permissions - To grant access to this API @@ -5193,7 +5342,7 @@ namespace Aws * bucket policies for S3 Express One Zone in the Amazon S3 User * Guide.

              HTTP Host header syntax

              Directory * buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

              + * s3express-control.region-code.amazonaws.com.

            *

            The following operations are related to PutBucketPolicy:

            * - *

            Amazon S3 is a distributed system. If it receives multiple write - * requests for the same object simultaneously, it overwrites all but the last - * object written. However, Amazon S3 provides features that can modify this - * behavior:

            Amazon S3 is a distributed system. If it receives + * multiple write requests for the same object simultaneously, it overwrites all + * but the last object written. However, Amazon S3 provides features that can + * modify this behavior:

            • S3 Object Lock - To prevent + * objects from being deleted or overwritten, you can use Amazon * S3 Object Lock in the Amazon S3 User Guide.

              This * functionality is not supported for directory buckets.

            • @@ -5604,7 +5758,7 @@ namespace Aws * bucket - This functionality is not supported for directory buckets.

              *
          HTTP Host header syntax

          Directory buckets * - The HTTP Host header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

          + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

          *

          For more information about related Amazon S3 APIs, see the * following:

          HTTP Host header syntax

          Directory buckets * - The HTTP Host header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

          + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

          *

          The following operations are related to * UploadPartCopy:

          • CreateMultipartUpload diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/AbortMultipartUploadRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/AbortMultipartUploadRequest.h index 1bb1e623008..8c06aababa3 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/AbortMultipartUploadRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/AbortMultipartUploadRequest.h @@ -53,12 +53,12 @@ namespace Model *

            The bucket name to which the upload was taking place.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/BucketInfo.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/BucketInfo.h index d0a95882ab6..cf5532d992d 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/BucketInfo.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/BucketInfo.h @@ -44,8 +44,8 @@ namespace Model ///@{ /** - *

            The number of Availability Zone that's used for redundancy for the - * bucket.

            + *

            The number of Zone (Availability Zone or Local Zone) that's used for + * redundancy for the bucket.

            */ inline const DataRedundancy& GetDataRedundancy() const{ return m_dataRedundancy; } inline bool DataRedundancyHasBeenSet() const { return m_dataRedundancyHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CompleteMultipartUploadRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CompleteMultipartUploadRequest.h index 8cdbe1487cf..c7b9168bfa5 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CompleteMultipartUploadRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CompleteMultipartUploadRequest.h @@ -53,12 +53,12 @@ namespace Model *

            Name of the bucket to which the multipart upload was initiated.

            * Directory buckets - When you use this operation with a directory bucket, * you must use virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CopyObjectRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CopyObjectRequest.h index c7efd332117..fddf904f65a 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CopyObjectRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CopyObjectRequest.h @@ -93,18 +93,23 @@ namespace Model *

            The name of the destination bucket.

            Directory buckets - When * you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory - * bucket naming rules in the Amazon S3 User Guide.

            Access - * points - When you use this action with an access point, you must provide the - * alias of the access point in place of the bucket name or specify the access - * point ARN. When using the access point ARN, you must direct requests to the - * access point hostname. The access point hostname takes the form + * bucket naming rules in the Amazon S3 User Guide.

            + *

            Copying objects across different Amazon Web Services Regions isn't supported + * when the source or destination bucket is in Amazon Web Services Local Zones. The + * source and destination buckets must have the same parent Amazon Web Services + * Region. Otherwise, you get an HTTP 400 Bad Request error with the + * error code InvalidRequest.

            Access points - + * When you use this action with an access point, you must provide the alias of the + * access point in place of the bucket name or specify the access point ARN. When + * using the access point ARN, you must direct requests to the access point + * hostname. The access point hostname takes the form * AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. * When using this action with an access point through the Amazon Web Services * SDKs, you provide the access point ARN in place of the bucket name. For more diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CopyObjectResult.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CopyObjectResult.h index 29f469b1d5d..0f54380767d 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CopyObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CopyObjectResult.h @@ -38,8 +38,9 @@ namespace Model ///@{ /** *

            If the object expiration is configured, the response includes this - * header.

            This functionality is not supported for directory - * buckets.

            + * header.

            Object expiration information is not returned in directory + * buckets and this header returns the value "NotImplemented" in all + * responses for directory buckets.

            */ inline const Aws::String& GetExpiration() const{ return m_expiration; } inline void SetExpiration(const Aws::String& value) { m_expiration = value; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateBucketConfiguration.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateBucketConfiguration.h index 7c43b242e25..44b7aa813e2 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateBucketConfiguration.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateBucketConfiguration.h @@ -61,8 +61,13 @@ namespace Model ///@{ /** - *

            Specifies the location where the bucket will be created.

            For directory - * buckets, the location type is Availability Zone.

            This + *

            Specifies the location where the bucket will be created.

            Directory + * buckets - The location type is Availability Zone or Local Zone. When the + * location type is Local Zone, your Local Zone must be in opt-in status. + * Otherwise, you get an HTTP 400 Bad Request error with the error + * code Access denied. To learn more about opt-in Local Zones, see Opt-in + * Dedicated Local Zonesin the Amazon S3 User Guide.

            This * functionality is only supported by directory buckets.

            */ inline const LocationInfo& GetLocation() const{ return m_location; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateBucketRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateBucketRequest.h index a23f3ee1787..38929388261 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateBucketRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateBucketRequest.h @@ -70,12 +70,13 @@ namespace Model * naming rules in the Amazon S3 User Guide.

            Directory * buckets - When you use this operation with a directory bucket, you must use * path-style requests in the format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateMultipartUploadRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateMultipartUploadRequest.h index b6a11344589..f710cabf152 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateMultipartUploadRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CreateMultipartUploadRequest.h @@ -86,12 +86,12 @@ namespace Model * object is uploaded.

            Directory buckets - When you use this * operation with a directory bucket, you must use virtual-hosted-style requests in * the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DataRedundancy.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DataRedundancy.h index b7894abd976..d670dbe8a6d 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DataRedundancy.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DataRedundancy.h @@ -16,7 +16,8 @@ namespace Model enum class DataRedundancy { NOT_SET, - SingleAvailabilityZone + SingleAvailabilityZone, + SingleLocalZone }; namespace DataRedundancyMapper diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketEncryptionRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketEncryptionRequest.h index b46469daec0..812942135b9 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketEncryptionRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketEncryptionRequest.h @@ -51,12 +51,13 @@ namespace Model *

            The name of the bucket containing the server-side encryption configuration to * delete.

            Directory buckets - When you use this operation with a * directory bucket, you must use path-style requests in the format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketPolicyRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketPolicyRequest.h index 45780b40e11..04be5d445a8 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketPolicyRequest.h @@ -51,12 +51,13 @@ namespace Model *

            The bucket name.

            Directory buckets - When you use this * operation with a directory bucket, you must use path-style requests in the * format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketRequest.h index 56f0284d245..4ce839a28fd 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketRequest.h @@ -51,12 +51,13 @@ namespace Model *

            Specifies the bucket being deleted.

            Directory buckets - When * you use this operation with a directory bucket, you must use path-style requests * in the format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteObjectRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteObjectRequest.h index 5e50782e62f..0cf8d81f3f4 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteObjectRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteObjectRequest.h @@ -53,12 +53,12 @@ namespace Model *

            The bucket name of the bucket containing the object.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteObjectsRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteObjectsRequest.h index 1a238e2b09e..28fbce4b4b3 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteObjectsRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteObjectsRequest.h @@ -56,12 +56,12 @@ namespace Model *

            The bucket name containing the objects to delete.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketEncryptionRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketEncryptionRequest.h index a7ebccb8e9c..79471b8031f 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketEncryptionRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketEncryptionRequest.h @@ -51,12 +51,13 @@ namespace Model *

            The name of the bucket from which the server-side encryption configuration is * retrieved.

            Directory buckets - When you use this operation with * a directory bucket, you must use path-style requests in the format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketPolicyRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketPolicyRequest.h index 1f276d44742..03e5e753653 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketPolicyRequest.h @@ -51,12 +51,13 @@ namespace Model *

            The bucket name to get the bucket policy for.

            Directory buckets * - When you use this operation with a directory bucket, you must use * path-style requests in the format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            Access * points - When you use this API operation with an access point, provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesRequest.h index 4c33c668703..92931ecf0c7 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesRequest.h @@ -54,12 +54,12 @@ namespace Model *

            The name of the bucket that contains the object.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectRequest.h index 448dd0740ff..6dbeeb72930 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectRequest.h @@ -57,12 +57,12 @@ namespace Model *

            The bucket name containing the object.

            Directory buckets - * When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectResult.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectResult.h index 032122441c0..61e3bdb1f4c 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectResult.h @@ -90,8 +90,10 @@ namespace Model * PutBucketLifecycleConfiguration ), the response includes this * header. It includes the expiry-date and rule-id * key-value pairs providing object expiration information. The value of the - * rule-id is URL-encoded.

            This functionality is not - * supported for directory buckets.

            + * rule-id is URL-encoded.

            Object expiration information + * is not returned in directory buckets and this header returns the value + * "NotImplemented" in all responses for directory buckets.

            + * */ inline const Aws::String& GetExpiration() const{ return m_expiration; } inline void SetExpiration(const Aws::String& value) { m_expiration = value; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadBucketRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadBucketRequest.h index a12870573da..898cbaeb47b 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadBucketRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadBucketRequest.h @@ -51,12 +51,12 @@ namespace Model *

            The bucket name.

            Directory buckets - When you use this * operation with a directory bucket, you must use virtual-hosted-style requests in * the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadBucketResult.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadBucketResult.h index 40f1fce81f1..dc91c0641bd 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadBucketResult.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadBucketResult.h @@ -48,9 +48,10 @@ namespace Model ///@{ /** *

            The name of the location where the bucket will be created.

            For - * directory buckets, the AZ ID of the Availability Zone where the bucket is - * created. An example AZ ID value is usw2-az1.

            This - * functionality is only supported by directory buckets.

            + * directory buckets, the Zone ID of the Availability Zone or the Local Zone where + * the bucket is created. An example Zone ID value for an Availability Zone is + * usw2-az1.

            This functionality is only supported by + * directory buckets.

            */ inline const Aws::String& GetBucketLocationName() const{ return m_bucketLocationName; } inline void SetBucketLocationName(const Aws::String& value) { m_bucketLocationName = value; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectRequest.h index f48eae52c94..7306050e485 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectRequest.h @@ -54,12 +54,12 @@ namespace Model *

            The name of the bucket that contains the object.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h index d42f06f54cf..152e6f1fb56 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h @@ -72,8 +72,10 @@ namespace Model * PutBucketLifecycleConfiguration ), the response includes this * header. It includes the expiry-date and rule-id * key-value pairs providing object expiration information. The value of the - * rule-id is URL-encoded.

            This functionality is not - * supported for directory buckets.

            + * rule-id is URL-encoded.

            Object expiration information + * is not returned in directory buckets and this header returns the value + * "NotImplemented" in all responses for directory buckets.

            + * */ inline const Aws::String& GetExpiration() const{ return m_expiration; } inline void SetExpiration(const Aws::String& value) { m_expiration = value; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListMultipartUploadsRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListMultipartUploadsRequest.h index 4b794e57d91..436ba5f75b2 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListMultipartUploadsRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListMultipartUploadsRequest.h @@ -53,12 +53,12 @@ namespace Model *

            The name of the bucket to which the multipart upload was initiated.

            * Directory buckets - When you use this operation with a directory bucket, * you must use virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsRequest.h index d1fc19efa79..a722e2d8c80 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsRequest.h @@ -55,12 +55,12 @@ namespace Model *

            The name of the bucket containing the objects.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Request.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Request.h index a15fc112b96..961411aed1f 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Request.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Request.h @@ -54,12 +54,12 @@ namespace Model /** *

            Directory buckets - When you use this operation with a directory * bucket, you must use virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListPartsRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListPartsRequest.h index 00bfcfa237b..1bc6f86ebb0 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListPartsRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListPartsRequest.h @@ -52,12 +52,12 @@ namespace Model *

            The name of the bucket to which the parts are being uploaded.

            * Directory buckets - When you use this operation with a directory bucket, * you must use virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/LocationInfo.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/LocationInfo.h index 8914c76aa2f..8eefa5eb82e 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/LocationInfo.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/LocationInfo.h @@ -25,8 +25,8 @@ namespace Model /** *

            Specifies the location where the bucket will be created.

            For directory - * buckets, the location type is Availability Zone. For more information about - * directory buckets, see Directory * buckets in the Amazon S3 User Guide.

            This functionality * is only supported by directory buckets.

            See Also:

            The name of the location where the bucket will be created.

            For - * directory buckets, the name of the location is the AZ ID of the Availability - * Zone where the bucket will be created. An example AZ ID value is - * usw2-az1.

            + * directory buckets, the name of the location is the Zone ID of the Availability + * Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID + * value is usw2-az1.

            */ inline const Aws::String& GetName() const{ return m_name; } inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/LocationType.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/LocationType.h index c51532d322e..c09857c1545 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/LocationType.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/LocationType.h @@ -16,7 +16,8 @@ namespace Model enum class LocationType { NOT_SET, - AvailabilityZone + AvailabilityZone, + LocalZone }; namespace LocationTypeMapper diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketEncryptionRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketEncryptionRequest.h index 7bb09b89dad..b657ef05f6b 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketEncryptionRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketEncryptionRequest.h @@ -56,12 +56,13 @@ namespace Model * different key options.

            Directory buckets - When you use this * operation with a directory bucket, you must use path-style requests in the * format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketPolicyRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketPolicyRequest.h index c6d9c750700..ead21f57f73 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketPolicyRequest.h @@ -54,12 +54,13 @@ namespace Model *

            The name of the bucket.

            Directory buckets - When you use this * operation with a directory bucket, you must use path-style requests in the * format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutObjectRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutObjectRequest.h index 323c1f84537..95bb1e2774d 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutObjectRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutObjectRequest.h @@ -96,12 +96,12 @@ namespace Model *

            The bucket name to which the PUT action was initiated.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutObjectResult.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutObjectResult.h index c9efa059bcb..e82793d9592 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutObjectResult.h @@ -41,8 +41,10 @@ namespace Model * in the Amazon S3 User Guide, the response includes this header. It * includes the expiry-date and rule-id key-value pairs * that provide information about object expiration. The value of the - * rule-id is URL-encoded.

            This functionality is not - * supported for directory buckets.

            + * rule-id is URL-encoded.

            Object expiration information + * is not returned in directory buckets and this header returns the value + * "NotImplemented" in all responses for directory buckets.

            + * */ inline const Aws::String& GetExpiration() const{ return m_expiration; } inline void SetExpiration(const Aws::String& value) { m_expiration = value; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RestoreRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RestoreRequest.h index ff5f103e6e2..d10d46d0aa1 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RestoreRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RestoreRequest.h @@ -69,7 +69,11 @@ namespace Model ///@{ /** - *

            Type of restore request.

            + *

            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

            Type of restore request.

            */ inline const RestoreRequestType& GetType() const{ return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } @@ -107,7 +111,11 @@ namespace Model ///@{ /** - *

            Describes the parameters for Select job types.

            + *

            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

            Describes the parameters for Select job types.

            */ inline const SelectParameters& GetSelectParameters() const{ return m_selectParameters; } inline bool SelectParametersHasBeenSet() const { return m_selectParametersHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/SelectObjectContentRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/SelectObjectContentRequest.h index e9d74047225..e4c37acc7de 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/SelectObjectContentRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/SelectObjectContentRequest.h @@ -29,12 +29,17 @@ namespace Model { /** - *

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

            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.

            See Also:

            AWS diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/SelectParameters.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/SelectParameters.h index d81546326d3..91168700253 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/SelectParameters.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/SelectParameters.h @@ -26,7 +26,18 @@ namespace Model { /** - *

            Describes the parameters for Select job types.

            See Also:

            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

            Describes the parameters for Select job types.

            + *

            Learn How + * to optimize querying your data in Amazon S3 using Amazon + * Athena, S3 + * Object Lambda, or client-side filtering.

            See Also:

            AWS * API Reference

            */ @@ -66,7 +77,12 @@ namespace Model ///@{ /** - *

            The expression that is used to query the object.

            + *

            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

            The expression that is used to query the + * object.

            */ inline const Aws::String& GetExpression() const{ return m_expression; } inline bool ExpressionHasBeenSet() const { return m_expressionHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/UploadPartCopyRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/UploadPartCopyRequest.h index ffbd1bec8a0..2e3933dc996 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/UploadPartCopyRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/UploadPartCopyRequest.h @@ -53,18 +53,23 @@ namespace Model *

            The bucket name.

            Directory buckets - When you use this * operation with a directory bucket, you must use virtual-hosted-style requests in * the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory - * bucket naming rules in the Amazon S3 User Guide.

            Access - * points - When you use this action with an access point, you must provide the - * alias of the access point in place of the bucket name or specify the access - * point ARN. When using the access point ARN, you must direct requests to the - * access point hostname. The access point hostname takes the form + * bucket naming rules in the Amazon S3 User Guide.

            + *

            Copying objects across different Amazon Web Services Regions isn't supported + * when the source or destination bucket is in Amazon Web Services Local Zones. The + * source and destination buckets must have the same parent Amazon Web Services + * Region. Otherwise, you get an HTTP 400 Bad Request error with the + * error code InvalidRequest.

            Access points - + * When you use this action with an access point, you must provide the alias of the + * access point in place of the bucket name or specify the access point ARN. When + * using the access point ARN, you must direct requests to the access point + * hostname. The access point hostname takes the form * AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. * When using this action with an access point through the Amazon Web Services * SDKs, you provide the access point ARN in place of the bucket name. For more diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/UploadPartRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/UploadPartRequest.h index 50595e7629d..6b91b0b4ff5 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/UploadPartRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/UploadPartRequest.h @@ -54,12 +54,12 @@ namespace Model *

            The name of the bucket to which the multipart upload was initiated.

            * Directory buckets - When you use this operation with a directory bucket, * you must use virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp index 23640d34b24..b510dbb74a4 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace S3Crt { -const size_t S3CrtEndpointRules::RulesBlobStrLen = 75332; -const size_t S3CrtEndpointRules::RulesBlobSize = 75333; +const size_t S3CrtEndpointRules::RulesBlobStrLen = 81230; +const size_t S3CrtEndpointRules::RulesBlobSize = 81231; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ @@ -442,40 +442,184 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', '"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', 'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'U','n','r','e','c','o','g','n','i','z','e','d',' ','S','3','E','x','p','r','e','s','s',' ','b','u', -'c','k','e','t',' ','n','a','m','e',' ','f','o','r','m','a','t','.','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u', -'b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'B','u','c','k','e','t','"','}',',','6',',','1','4',',','t','r','u','e',']',',','"','a','s','s','i', -'g','n','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t', -'y','Z','o','n','e','I','d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n', -'g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t', -'"','}',',','1','4',',','1','6',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"', -'s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e', -'D','e','l','i','m','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p', -'r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m', -'"','}',',','"','-','-','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', -'}','.','s','3','e','x','p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s', +'t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', +'c','k','e','t','"','}',',','6',',','1','9',',','t','r','u','e',']',',','"','a','s','s','i','g','n', +'"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z', +'o','n','e','I','d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}', +',','1','9',',','2','1',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3', +'e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e', +'l','i','m','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e', +'s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}', +',','"','-','-','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'s','3','e','x','p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s', +'A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i', +'o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r', +'e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3','e','x','p','r','e', 's','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e', 'g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x', 'p','r','e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', 'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s', -'s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r', -'e','s','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r', +'i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',',','6',',','2','0',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':', +'"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n', +'e','I','d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','2', +'0',',','2','2',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x', +'p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i', +'m','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s', +'A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"', +'-','-','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3', +'e','x','p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v', +'a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n', +'}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s', +'s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', +'k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3','e','x','p','r','e','s','s', +'A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i', +'o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r', +'e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n', +'g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t', +'"','}',',','6',',','2','6',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s', +'3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I', +'d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','2','6',',', +'2','8',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r', +'e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"', +'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s','A','v', +'a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"','-','-', +'"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x', +'p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i', +'l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.', +'a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"', +',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', +'t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3','e','x','p','r','e','s','s','A','v', +'a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n', +'}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s', +'s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','U','n','r','e','c','o', +'g','n','i','z','e','d',' ','S','3','E','x','p','r','e','s','s',' ','b','u','c','k','e','t',' ','n', +'a','m','e',' ','f','o','r','m','a','t','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n', +'g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t', +'"','}',',','6',',','1','4',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s', +'3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I', +'d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','1','4',',', +'1','6',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r', +'e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"', +'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s','A','v', +'a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"','-','-', +'"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x', +'p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i', +'l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.', +'a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"', +',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s', +'3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I', +'d','}','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"', +':','"','S','3','E','x','p','r','e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','-','s','3','e', +'x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','6',',','1','5', +',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r','e','s', +'s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','"','}',',','{','"','f', +'n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','1','5',',','1','7',',','t','r','u','e', +']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i', +'l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l', +'i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"','-','-','"',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','f', +'i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t', 'y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a', 'w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','b','a', 'c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"','a','u','t','h','S', @@ -485,36 +629,36 @@ static constexpr RulesBlobT RulesBlob = {{ 'e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e', 'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', 'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"', -'}',',','6',',','1','5',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3', -'e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d', -'"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','1','5',',','1', -'7',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r','e', -'s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}', -',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a', -'i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"','-','-','"', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p', -'r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l', -'a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.','a', -'m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', +'c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3','e','x','p','r','e','s', +'s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g', +'i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p', +'r','e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','B','u','c','k','e','t','"','}',',','6',',','1','9',',','t','r','u','e',']',',', +'"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a', +'b','i','l','i','t','y','Z','o','n','e','I','d','"','}',',','{','"','f','n','"',':','"','s','u','b', +'s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B', +'u','c','k','e','t','"','}',',','1','9',',','2','1',',','t','r','u','e',']',',','"','a','s','s','i', +'g','n','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t', +'y','Z','o','n','e','D','e','l','i','m','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e', +'D','e','l','i','m','"','}',',','"','-','-','"',']','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','f','i','p','s','-','{','s','3', 'e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d', '}','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"', ',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':', @@ -524,426 +668,366 @@ static constexpr RulesBlobT RulesBlob = {{ 'p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','e', 'x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', '{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','r','r','o','r','"',':','"','U','n','r','e','c','o','g','n','i','z','e','d', -' ','S','3','E','x','p','r','e','s','s',' ','b','u','c','k','e','t',' ','n','a','m','e',' ','f','o', -'r','m','a','t','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','S','3','E','x','p','r','e','s','s',' ', -'b','u','c','k','e','t',' ','n','a','m','e',' ','i','s',' ','n','o','t',' ','a',' ','v','a','l','i', -'d',' ','v','i','r','t','u','a','l',' ','h','o','s','t','a','b','l','e',' ','n','a','m','e','.','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', -'c','k','e','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','S','3','E','x','p','r', -'e','s','s','C','o','n','t','r','o','l','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','S','3','E','x','p','r','e','s','s','C','o', -'n','t','r','o','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', -'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r', -'l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t', -'y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','e', -'x','p','r','e','s','s','-','c','o','n','t','r','o','l','-','f','i','p','s','.','{','R','e','g','i', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', +'3','e','x','p','r','e','s','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a', +'b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.','a','m', +'a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s', +'t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', +'c','k','e','t','"','}',',','6',',','2','0',',','t','r','u','e',']',',','"','a','s','s','i','g','n', +'"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z', +'o','n','e','I','d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}', +',','2','0',',','2','2',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3', +'e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e', +'l','i','m','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e', +'s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}', +',','"','-','-','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'s','3','e','x','p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s', +'A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i', 'o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e', 'r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r', 'e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', 'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'e','x','p','r','e','s','s','-','c','o','n','t','r','o','l','.','{','R','e','g','i','o','n','}','.', -'a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"', -',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',',','{','"','f', -'n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','4','9',',','5','0',',','t','r','u','e', -']',',','"','a','s','s','i','g','n','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"', -'}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','8',',','1','2',',', -'t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','r','e','g','i','o','n','P','r','e', -'f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','0', -',','7',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t', -'A','l','i','a','s','S','u','f','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s', -'t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', -'c','k','e','t','"','}',',','3','2',',','4','9',',','t','r','u','e',']',',','"','a','s','s','i','g', -'n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','r', -'e','g','i','o','n','P','a','r','t','i','t','i','o','n','"','}',',','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','l','i','a','s','S','u','f','f','i','x','"','}',',','"', -'-','-','o','p','-','s','3','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d', -'H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','"', -'e','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e','g','i','o','n','P','r', -'e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ', -'a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e', -'d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u', -'n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', -'.','e','c','2','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}', -',','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', -'c','k','e','t','}','.','e','c','2','.','s','3','-','o','u','t','p','o','s','t','s','.','{','R','e', -'g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','#','d','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'"','n','a','m','e','"',':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e','s', +'s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z', +'o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s', +'.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','b','a','c','k', +'e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'-','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',', +'6',',','2','6',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x', +'p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','"','}', +',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','2','6',',','2','8',',', +'t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r','e','s','s', +'A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l', +'a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"','-','-','"',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e', +'s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b', +'i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.','a','m','a', +'z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3','e','x', +'p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.', +'{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S', +'3','E','x','p','r','e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','-','s','3','e','x','p','r', +'e','s','s','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','e','x','p', +'r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','U','n','r','e','c','o','g','n','i','z','e','d',' ','S', +'3','E','x','p','r','e','s','s',' ','b','u','c','k','e','t',' ','n','a','m','e',' ','f','o','r','m', +'a','t','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','S','3','E','x','p','r','e','s','s',' ','b','u', +'c','k','e','t',' ','n','a','m','e',' ','i','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ', +'v','i','r','t','u','a','l',' ','h','o','s','t','a','b','l','e',' ','n','a','m','e','.','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','S','3','E','x','p','r','e','s', +'s','C','o','n','t','r','o','l','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','S','3','E','x','p','r','e','s','s','C','o','n','t', +'r','o','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', +'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', +'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', +'{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','e','x','p', +'r','e','s','s','-','c','o','n','t','r','o','l','-','f','i','p','s','.','{','R','e','g','i','o','n', +'}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s', +'s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','e','x', +'p','r','e','s','s','-','c','o','n','t','r','o','l','.','{','R','e','g','i','o','n','}','.','a','m', +'a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"', 'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', 'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', ':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h','a','r','d','w','a','r', -'e','T','y','p','e','"','}',',','"','o','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"', -'E','x','p','e','c','t','e','d',' ','a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e', -' ','s','p','e','c','i','f','i','e','d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n', -'t',' ','w','a','s',' ','f','o','u','n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','{','B','u','c','k','e','t','}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', -'.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s', -'t','s','.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t', -'i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','U','n', -'r','e','c','o','g','n','i','z','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',':', -' ','\\','"','E','x','p','e','c','t','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e', -' ','o',' ','o','r',' ','e',' ','b','u','t',' ','g','o','t',' ','{','h','a','r','d','w','a','r','e', -'T','y','p','e','}','\\','"','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', -'A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s','t',' ', -'o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-', -'9',' ','a','n','d',' ','`','-','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','C','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','`','{','E','n','d','p','o','i','n','t','}','`',' ','w', -'a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','U','R','I','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t', -'y','l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.', -'i','s','V','i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"', -'}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t', -'i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d', -'H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}', -']',',','"','e','r','r','o','r','"',':','"','S','3',' ','A','c','c','e','l','e','r','a','t','e',' ', -'c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','i','n',' ','t','h','i','s',' ','r','e', -'g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', -'3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-', -'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', -'p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', -'t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g', -'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', -'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f', -'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s', -'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',',','{','"','f','n','"', +':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','B','u','c','k','e','t','"','}',',','4','9',',','5','0',',','t','r','u','e',']',',', +'"','a','s','s','i','g','n','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',', +'{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','8',',','1','2',',','t','r', +'u','e',']',',','"','a','s','s','i','g','n','"',':','"','r','e','g','i','o','n','P','r','e','f','i', +'x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','0',',','7', +',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','A','l', +'i','a','s','S','u','f','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r', +'i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',',','3','2',',','4','9',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"', +':','"','o','u','t','p','o','s','t','I','d','"','}',',','{','"','f','n','"',':','"','a','w','s','.', +'p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','r','e','g', +'i','o','n','P','a','r','t','i','t','i','o','n','"','}',',','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','b','u','c','k','e','t','A','l','i','a','s','S','u','f','f','i','x','"','}',',','"','-','-', +'o','p','-','s','3','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','"','e','"', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e','g','i','o','n','P','r','e','f', +'i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ', +'e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ', +'b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','e', +'c','2','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','e','c','2','.','s','3','-','o','u','t','p','o','s','t','s','.','{','R','e','g','i', +'o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','#','d','n','s','S', 'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', 't','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', 'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', -'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', -'c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', +'s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-', +'o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T', +'y','p','e','"','}',',','"','o','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r', +'e','g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x', +'p','e','c','t','e','d',' ','a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s', +'p','e','c','i','f','i','e','d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ', +'w','a','s',' ','f','o','u','n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'B','u','c','k','e','t','}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','{','u', +'r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','o', +'p','-','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t','s', +'.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o', +'n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','U','n','r','e', +'c','o','g','n','i','z','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',':',' ','\\', +'"','E','x','p','e','c','t','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',' ','o', +' ','o','r',' ','e',' ','b','u','t',' ','g','o','t',' ','{','h','a','r','d','w','a','r','e','T','y', +'p','e','}','\\','"','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', +'N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s','t',' ','o','n', +'l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ', +'a','n','d',' ','`','-','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','C','u','s','t','o','m',' ', +'e','n','d','p','o','i','n','t',' ','`','{','E','n','d','p','o','i','n','t','}','`',' ','w','a','s', +' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','U','R','I','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l', +'e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','i','s', +'V','i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',', +'f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t', +'i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']',',', +'"','e','r','r','o','r','"',':','"','S','3',' ','A','c','c','e','l','e','r','a','t','e',' ','c','a', +'n','n','o','t',' ','b','e',' ','u','s','e','d',' ','i','n',' ','t','h','i','s',' ','r','e','g','i', +'o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', '{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r', -'a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', '"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', '"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R', -'e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', -'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', +'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-', +'f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', 'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', -'e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t', -'-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', -'1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', -'d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s','t','a', -'c','k','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', +'.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o', +'n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', 'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', 'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', 'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', @@ -956,9 +1040,9 @@ static constexpr RulesBlobT RulesBlob = {{ '"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', 'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', -'c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', +'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', 'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', '"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', 't','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', @@ -968,37 +1052,90 @@ static constexpr RulesBlobT RulesBlob = {{ 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', 'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f', 'a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', -'e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p', +'s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-', +'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', +'d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', ']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', -'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', -'c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s', -'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', +'e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g', +'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', 'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', 'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', '"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', @@ -1006,52 +1143,178 @@ static constexpr RulesBlobT RulesBlob = {{ 'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', '"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', -'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', -'c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o', -'n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l', +'e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', +'o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', +'}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', +'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l', +'e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-', +'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', '"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', '"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', -'c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', +'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', +'d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', 'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', -'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u', -'a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a', +'l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a','l', +'s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', +'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a', +'l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', '}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', 'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', @@ -1067,71 +1330,54 @@ static constexpr RulesBlobT RulesBlob = {{ 'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', ':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r', -'m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', -'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', -'e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r', -'a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-', -'e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t', +'y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', +'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', +'e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',', +'"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', +'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a', +'s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u', +'t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a', +'t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', 'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#', 'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d', 'P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', @@ -1140,164 +1386,164 @@ static constexpr RulesBlobT RulesBlob = {{ 'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', 'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', '{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r', -'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z', -'e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', -'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"', -'}',',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', -'n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r', -'l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l', -'#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', -'e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', -'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', -':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}', -',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n', +'"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':', +'"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',', +'"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', 'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', 'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', '{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', 'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', -'p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/', -'/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m', -'a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o', +'p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', +'s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a', +'u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', 't','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', 'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', 'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', -'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', -'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a', -'l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t', +'y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', '[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', 'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', 'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', 'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', 'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', +':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', +'u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"', +'i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', +'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l', +'i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s', +'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u', +'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', 'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', '"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', -'o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', '"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', '/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.', '{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', @@ -1307,104 +1553,33 @@ static constexpr RulesBlobT RulesBlob = {{ '4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', 'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', '}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t', -'e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', -'c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f', -'a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', -'e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', -'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', -'p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', -'t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', +'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l', +'e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', +'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', 'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', 's','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', 'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', @@ -1415,921 +1590,888 @@ static constexpr RulesBlobT RulesBlob = {{ 'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', ':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', '"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', -'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', -'B','u','c','k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', -'a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n', -'o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'u','r','l','"','}',',','"','s','c','h','e','m','e','"',']','}',',','"','h','t','t','p','"',']','}', -',','{','"','f','n','"',':','"','a','w','s','.','i','s','V','i','r','t','u','a','l','H','o','s','t', -'a','b','l','e','S','3','B','u','c','k','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','B','u','c','k','e','t','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t', -'i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d', -'H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', -'e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g', -'i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l', -'i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S', -'t','y','l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s', -'.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c', -'k','e','t','A','r','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', -'"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','0',']','"',']',',','"','a','s','s','i', -'g','n','"',':','"','a','r','n','T','y','p','e','"','}',',','{','"','f','n','"',':','"','n','o','t', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', '"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n', -'T','y','p','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"', -'s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p', -'o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', -'}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g', -'n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']', -'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', +'.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', 's','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S', -'3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ', -'s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j', -'e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', -'r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"', -']','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c', -'e','s','s','P','o','i','n','t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t', -'r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o', -'i','n','t','s',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o', -'r',' ','t','h','i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', +'E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', +'c','k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t', +' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', +'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r', +'l','"','}',',','"','s','c','h','e','m','e','"',']','}',',','"','h','t','t','p','"',']','}',',','{', +'"','f','n','"',':','"','a','w','s','.','i','s','V','i','r','t','u','a','l','H','o','s','t','a','b', +'l','e','S','3','B','u','c','k','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','B','u','c','k','e','t','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t', +'i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t', +'y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o', +'n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d', +' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y', +'l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','p', +'a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','r','e','s','o','u','r','c','e','I','d','[','0',']','"',']',',','"','a','s','s','i','g','n', +'"',':','"','a','r','n','T','y','p','e','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y', +'p','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', 't','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u', -'c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"', -']','}',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e', -'g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', -'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', -'e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i', -'o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f', -'r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t', -' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s', -'e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', -'"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"', -'b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':', -'"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n', -'a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','r','u','l','e','s', +'c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s','3', +'-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',']','}',']',',','"','r','u','l','e','s', '"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i', -'o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', -'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', -'u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',', -'"','"',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', -'N',':',' ','M','i','s','s','i','n','g',' ','a','c','c','o','u','n','t',' ','i','d','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', -'e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e', -'l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s', -'P','o','i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', -'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e', -'}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{', -'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-', -'l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u', -'c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','o','b','j', -'e','c','t','-','l','a','m','b','d','a','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r', -'n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o', -'n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r', -'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', -'d','}','.','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','b','u','c','k', -'e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t', -'i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A', -'r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', -'N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ', -'m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z', -',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a', -'c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t', -' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',', -' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':', -' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i', -'n',' ','A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', -'}','`',' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r', -'e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ', -'(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ', -'A','R','N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i', -'n','g','l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a', -'f','t','e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', -'r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t',' ','A', -'R','N',' ','i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c', -'t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r', -'m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s','s','p', -'o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w', -'a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','A','R','N',':',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','A','R', -'N','s',' ','o','n','l','y',' ','s','u','p','p','o','r','t',' ','`','a','c','c','e','s','s','p','o', -'i','n','t','`',' ','a','r','n',' ','t','y','p','e','s',',',' ','b','u','t',' ','f','o','u','n','d', -':',' ','`','{','a','r','n','T','y','p','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a', -'r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u', -'r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','c','c','e', -'s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e', -'s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',', -'"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p', -'e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i', +'n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"', +':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"', ':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"', -'"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P', -'o','i','n','t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i', -'s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']', -'}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s', -' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h', -'i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']', +'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ', +'O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u', +'p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c', +'t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', +' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}', +',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s', +'s','P','o','i','n','t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u', +'e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n', +'t','s',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ', +'t','h','i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', +'e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}', +']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i', +'o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', 'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}',']','}', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', -'n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n','}','"', -']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ', -'A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ', -'d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e','g', -'i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r','n', -'R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', -'r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k', -'e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.', -'p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"', -']','}',',','"','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e', -'}','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a', -'b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', -'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s', -'e','r','v','i','c','e','"',']','}',',','"','s','3','"',']','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', -'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u', -'n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':', +'A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n', +'}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', +'c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r','o', +'m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}', +'`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r', +'e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A', +'r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u', +'c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', +'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m', +'e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':', '[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', 'V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',', -'f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', -'l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', -'"','A','c','c','e','s','s',' ','P','o','i','n','t','s',' ','d','o',' ','n','o','t',' ','s','u','p', -'p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', -'s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c', -'c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f', -'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r','n','#', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n', +'"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c', +'k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','"','"', +']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','M','i','s','s','i','n','g',' ','a','c','c','o','u','n','t',' ','i','d','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o', +'i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', +'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-', +'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','u','r', +'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a', +'m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b', +'u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k', +'e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','o','b','j','e','c', +'t','-','l','a','m','b','d','a','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r','n','#', 'r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#', 'd','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', '{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', 'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', 'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u', -'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N', -'a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d', -'}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i','p','s','.','{','b','u', -'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a', -'r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e', -'s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a', -'c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.', -'d','u','a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i', -'o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t', -'A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', -'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','a','c','c','e', -'s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a', -'c','c','o','u','n','t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', -'{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u', -'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', -'d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','{','b','u','c','k','e','t', +'"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a', +'m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}', +'.','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','b','u','c','k','e','t', 'A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t', 'i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', 'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', 'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', '"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n', +'#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a', +'y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ', +'0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c', +'e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', 'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', -'n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o', -'i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n', -' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F', -'o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h', -'e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n', -'t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-', -'`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c', -'o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', -' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','w','a','s',' ','n','o','t',' ','f','o','r', -' ','t','h','e',' ','S','3',' ','s','e','r','v','i','c','e',',',' ','f','o','u','n','d',':',' ','{', -'b','u','c','k','e','t','A','r','n','#','s','e','r','v','i','c','e','}','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':', -' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n', -'v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r', -' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c', -'k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t', -'i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a', -'y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r', -'e','s','o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`', -'a','c','c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e', -'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r', -'o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', -'p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', -']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s', -' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', -',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P', -' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e', -'l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s', -'s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ', -'M','u','l','t','i','-','R','e','g','i','o','n',' ','A','c','c','e','s','s',' ','P','o','i','n','t', -' ','A','R','N','s',' ','a','r','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',', -'"','a','s','s','i','g','n','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}', -']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n', -'"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'A','r','n','"','}',',','"','p','a','r','t','i','t','i','o','n','"',']','}',']','}',']',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','.','a','c','c','e','s','s', -'p','o','i','n','t','.','s','3','-','g','l','o','b','a','l','.','{','m','r','a','p','P','a','r','t', -'i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','S','e','t','"',':','[','"','*','"',']','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s', -' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n', -' ','`','{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`',' ','b', -'u','t',' ','b','u','c','k','e','t',' ','r','e','f','e','r','r','e','d',' ','t','o',' ','p','a','r', -'t','i','t','i','o','n',' ','`','{','b','u','c','k','e','t','A','r','n','#','p','a','r','t','i','t', -'i','o','n','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i', +'d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A', +'-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`', +'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ', +'A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`', +' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d', +' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`', +'{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a', +'r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"', 't','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r', 'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','c','c','e','s','s',' ','P','o','i','n', -'t',' ','N','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', -'R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o', -'f',' ','t','h','e',' ','f','o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t', -':','<','a','c','c','e','s','s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ', -'n','o',' ','n','a','m','e',' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y', +'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R', +'N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i','n','g', +'l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a','f','t', +'e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t',' ','A','R','N', +' ','i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"',',','"','t','y', 'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e', +'d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r','m','a', +'t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s','s','p','o','i', +'n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w','a','s', +' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','A','R','N',':',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','A','R','N','s', +' ','o','n','l','y',' ','s','u','p','p','o','r','t',' ','`','a','c','c','e','s','s','p','o','i','n', +'t','`',' ','a','r','n',' ','t','y','p','e','s',',',' ','b','u','t',' ','f','o','u','n','d',':',' ', +'`','{','a','r','n','T','y','p','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n', +'T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e', -'"',']','}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t', -'s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s', -'t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"', -':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u', -'p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c', +'e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"', +']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"', +'}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i', +'n','t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a', +'b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']', +',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s', +' ','o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', '"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}', -']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o', -'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r', -'a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}',']','}',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', -'}',',','"','r','e','s','o','u','r','c','e','I','d','[','4',']','"',']','}',']','}',']',',','"','e', -'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','r','n',':',' ','O','u','t','p','o', -'s','t',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N',' ','c','o','n','t','a', -'i','n','s',' ','s','u','b',' ','r','e','s','o','u','r','c','e','s','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u', -'r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p', -'o','s','t','I','d','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s', -'t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o', -'u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i', -'o','n','"',']','}',',','"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r', -'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i', -'o','n',':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c', -'k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ', -'m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g', -'i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s', -' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}', -']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i', -'o','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a', -'r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"', -']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a', -'b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', -'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', -'}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r', -'c','e','I','d','[','2',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o', -'s','t','T','y','p','e','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', -'"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s','i', -'g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',','"', +'}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n','}','"',']','}', +']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f', +'i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ','A','R', +'N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','d','o', +'e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e','g','i','o', +'n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r','n','R','e', +'g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e', +'g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a', +'r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}', +',','"','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','"', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e', +'l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A', +'r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"', 'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','T','y','p','e','"','}',',','"', -'a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c', -'c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n', -'#','a','c','c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','{', -'u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r', +'v','i','c','e','"',']','}',',','"','s','3','"',']','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V', +'a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t', +'I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a', +'l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','f','a', +'l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A', +'c','c','e','s','s',' ','P','o','i','n','t','s',' ','d','o',' ','n','o','t',' ','s','u','p','p','o', +'r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P', +'o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o', +'u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i','p', +'s','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r','n','#','r','e', +'g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', ':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m', 'e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.', -'{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t','s','.','{', -'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}', -',','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"', +'s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i','p','s','.','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t', +'i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c', +'o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','d','u', +'a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', +'}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', 's','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r', 'n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a','n', -' ','o','u','t','p','o','s','t',' ','t','y','p','e',' ','`','a','c','c','e','s','s','p','o','i','n', -'t','`',',',' ','f','o','u','n','d',' ','{','o','u','t','p','o','s','t','T','y','p','e','}','"',',', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', +'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', +':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c', +'o','u','n','t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', +'r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', +'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a', +'m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}', +'.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','{','b','u','c','k','e','t','A','r', +'n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o', +'n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n', +'t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a', +'-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u', +'n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',', '"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', 't','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','e','x','p','e', -'c','t','e','d',' ','a','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x', -'p','e','c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o', -'u','r','c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ', +'a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a', +'i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.', +' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u', +'n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', +'R','N',':',' ','T','h','e',' ','A','R','N',' ','w','a','s',' ','n','o','t',' ','f','o','r',' ','t', +'h','e',' ','S','3',' ','s','e','r','v','i','c','e',',',' ','f','o','u','n','d',':',' ','{','b','u', +'c','k','e','t','A','r','n','#','s','e','r','v','i','c','e','}','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`', +'{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a', +'l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l', +'i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p', +'a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e', +'t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o', +'n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ', +'o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s', +'o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c', +'c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}', +',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r', +'"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', +'r','t',' ','d','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', +']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', +'r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e', +'r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P', +'o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','u', +'l','t','i','-','R','e','g','i','o','n',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A', +'R','N','s',' ','a','r','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}', +',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','p','a','r','t','i','t','i','o','n','"',']','}',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','.','a','c','c','e','s','s','p','o', +'i','n','t','.','s','3','-','g','l','o','b','a','l','.','{','m','r','a','p','P','a','r','t','i','t', +'i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','S', +'e','t','"',':','[','"','*','"',']','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c', +'o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`', +'{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`',' ','b','u','t', +' ','b','u','c','k','e','t',' ','r','e','f','e','r','r','e','d',' ','t','o',' ','p','a','r','t','i', +'t','i','o','n',' ','`','{','b','u','c','k','e','t','A','r','n','#','p','a','r','t','i','t','i','o', +'n','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','I','n','v','a','l','i','d',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ', +'N','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', 'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', '"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N', -':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y', -' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n', -'d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n', -'#','a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', -'a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c', -'k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ', -'D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t', -' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i', -'t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a', -'m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')', -' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a', -'m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m', -'a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',', -' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','o','u', -'t','p','o','s','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','A','R','N',':',' ','T','h','e',' ','O','u','t','p','o','s','t',' ','I','d',' ','w','a','s', -' ','n','o','t',' ','s','e','t','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', -' ','A','R','N',':',' ','U','n','r','e','c','o','g','n','i','z','e','d',' ','f','o','r','m','a','t', -':',' ','{','B','u','c','k','e','t','}',' ','(','t','y','p','e',':',' ','{','a','r','n','T','y','p', -'e','}',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', -' ','N','o',' ','A','R','N',' ','t','y','p','e',' ','s','p','e','c','i','f','i','e','d','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','B','u','c','k','e','t','"','}',',','0',',','4',',','f','a','l','s','e',']',',', -'"','a','s','s','i','g','n','"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','"','a','r','n', -':','"',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}',']','}',']',',', -'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','`','{','B', -'u','c','k','e','t','}','`',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','A', -'R','N','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +':',' ','E','x','p','e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ', +'t','h','e',' ','f','o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<', +'a','c','c','e','s','s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o', +' ','n','a','m','e',' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']', +'}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ', +'d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a', +'c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', 'd','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o', -'r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','e','r','r', -'o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i','n', -'g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','A','R','N', -' ','b','u','c','k','e','t','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','u','r', -'i','E','n','c','o','d','e','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','"','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}', -']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i', -'p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', -'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i', -'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e', -'t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"', +'S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p', +'o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', ',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u', -'s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_', -'b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', -'t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', -'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e', -'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', -'s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', -'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', -'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i', -'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',', +'"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s', +' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t', +'e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','s','o','u','r','c','e','I','d','[','4',']','"',']','}',']','}',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','r','n',':',' ','O','u','t','p','o','s','t', +' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N',' ','c','o','n','t','a','i','n', +'s',' ','s','u','b',' ','r','e','s','o','u','r','c','e','s','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c', +'e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s', +'t','I','d','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L', +'a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u','t', +'p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n', +'"',']','}',',','"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o', +'r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n', +':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e', +'t','A','r','n','#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a', +'t','c','h',' ','c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o', +'n','}','`',' ','a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`', +'f','a','l','s','e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.', +'p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',', +'"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n', +'"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']', +',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t', +'i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e', +'l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A', +'r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e', +'I','d','[','2',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t', +'T','y','p','e','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s','i','g','n', +'"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','T','y','p','e','"','}',',','"','a','c', +'c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e', +'s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a', +'c','c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','{','u','r', +'l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}', +'-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','o', +'u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t','s','.','{','b','u', +'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a', +'r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#', +'r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a','n',' ','o', +'u','t','p','o','s','t',' ','t','y','p','e',' ','`','a','c','c','e','s','s','p','o','i','n','t','`', +',',' ','f','o','u','n','d',' ','{','o','u','t','p','o','s','t','T','y','p','e','}','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','e','x','p','e','c','t', +'e','d',' ','a','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e', +'c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o','u','r', +'c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ', +'T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c', +'o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ', +'`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a', +'c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k','e', +'t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D','N', +'S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w', +'a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i', +'o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e', +'}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h', +'a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e', +'}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','a','y', +' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0', +'-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','o','u','t','p', +'o','s','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', +'A','R','N',':',' ','T','h','e',' ','O','u','t','p','o','s','t',' ','I','d',' ','w','a','s',' ','n', +'o','t',' ','s','e','t','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', +'R','N',':',' ','U','n','r','e','c','o','g','n','i','z','e','d',' ','f','o','r','m','a','t',':',' ', +'{','B','u','c','k','e','t','}',' ','(','t','y','p','e',':',' ','{','a','r','n','T','y','p','e','}', +')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','N', +'o',' ','A','R','N',' ','t','y','p','e',' ','s','p','e','c','i','f','i','e','d','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','B','u','c','k','e','t','"','}',',','0',',','4',',','f','a','l','s','e',']',',','"','a', +'s','s','i','g','n','"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','"','a','r','n',':','"', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}',']','}',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','`','{','B','u','c', +'k','e','t','}','`',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','A','R','N', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c', +'e','P','a','t','h','S','t','y','l','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','e','r','r','o','r', +'"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i','n','g',' ', +'c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','A','R','N',' ','b', +'u','c','k','e','t','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','u','r','i','E', +'n','c','o','d','e','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', +'c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','i','_','e','n','c', +'o','d','e','d','_','b','u','c','k','e','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.', +'p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s', +'.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{', +'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n', +'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', '"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', ':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', @@ -2337,11 +2479,35 @@ static constexpr RulesBlobT RulesBlob = {{ '"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', 'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', +'n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f', +'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-', 'e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', 'n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u', 'c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', @@ -2353,12 +2519,12 @@ static constexpr RulesBlobT RulesBlob = {{ '"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', 's','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', 'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', ',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', @@ -2366,340 +2532,365 @@ static constexpr RulesBlobT RulesBlob = {{ 'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', ',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', 't','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.', -'{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_', -'b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i', +'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e', +'t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', '}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', +'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s', +'3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', +'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', 'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', 's','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', 'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', -'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', -'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', -':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', -'n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l', -'#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e', -'d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', -'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', -'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', -'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', -'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', -'}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#', -'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d', -'P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/', -'{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e', -'a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n', -'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n', -'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d', -'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s', -'s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ', -'S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','O','b','j','e','c','t','L', -'a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t', -'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', -'"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o', -'t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', -'e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O', -'b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', -'p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', -'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', -'r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', -'r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a', +'s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k', +'e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"', '}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', '"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', ':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d', -'a','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w', -'a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']', -'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',', -'"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e', -'l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R', +'e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u', +'c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', '{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-', -'e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e', -'a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', +'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{', +'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r', +'l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t', +'y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r', +'i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', +':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', +'u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', +'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', +'e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#', +'n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d', +'e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', 't','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a', +'u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P', +'a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', +'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u', +'t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a', +'t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u', -'a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', +'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', +'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s', +'t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o', +'d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', +'n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b', +'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i', +'n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','S','3', +' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','O','b','j','e','c','t','L','a','m', +'b','d','a','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u', +'e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S', +'3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ', +'s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j', +'e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', +'r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', +'r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i', +'t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','-', +'f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', +'n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s', +' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', 't','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', 'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', 'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', @@ -2707,34 +2898,11 @@ static constexpr RulesBlobT RulesBlob = {{ '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"', 'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u', -'a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a', +'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a', 's','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', 'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', 'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', @@ -2747,110 +2915,305 @@ static constexpr RulesBlobT RulesBlob = {{ 's','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', 'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', -'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e', -'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', -'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', +'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l', +'s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', +'}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l', +'s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t', +'-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', +'1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', +',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i', +'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a', +'c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', ']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s', -'t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', +'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.', +'d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', +'o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l', +'s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', 'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', 'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', 'd','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', 'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', 'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', +'l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', +'t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', +'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-', +'e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#', +'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e', +'}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p', +'a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', -'a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s', -'3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u', +'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', '"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', 's','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', 'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', 's','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', 'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', 'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', ']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', -'d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u', -'a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s', +'-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i', 'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', @@ -2858,177 +3221,50 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', 'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s', -'s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{', -'u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e', -'a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', -'l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', -'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u', -'s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r', -'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', +'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', 'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', '"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', 'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', 'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', 'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', 'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', -'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', -'#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', -'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',', -'"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', -'o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', -'-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n', +'o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', 'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f', -'a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', -'n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s', -' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','r','e','g','i','o','n',' ','m','u', -'s','t',' ','b','e',' ','s','e','t',' ','w','h','e','n',' ','s','e','n','d','i','n','g',' ','r','e', -'q','u','e','s','t','s',' ','t','o',' ','S','3','.','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']','}','\0' +'[',']',',','"','e','r','r','o','r','"',':','"','A',' ','r','e','g','i','o','n',' ','m','u','s','t', +' ','b','e',' ','s','e','t',' ','w','h','e','n',' ','s','e','n','d','i','n','g',' ','r','e','q','u', +'e','s','t','s',' ','t','o',' ','S','3','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']','}','\0' }}; const char* S3CrtEndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/DataRedundancy.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/DataRedundancy.cpp index 88f42da7761..5da2c7fa067 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/DataRedundancy.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/DataRedundancy.cpp @@ -21,6 +21,7 @@ namespace Aws { static const int SingleAvailabilityZone_HASH = HashingUtils::HashString("SingleAvailabilityZone"); + static const int SingleLocalZone_HASH = HashingUtils::HashString("SingleLocalZone"); DataRedundancy GetDataRedundancyForName(const Aws::String& name) @@ -30,6 +31,10 @@ namespace Aws { return DataRedundancy::SingleAvailabilityZone; } + else if (hashCode == SingleLocalZone_HASH) + { + return DataRedundancy::SingleLocalZone; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -48,6 +53,8 @@ namespace Aws return {}; case DataRedundancy::SingleAvailabilityZone: return "SingleAvailabilityZone"; + case DataRedundancy::SingleLocalZone: + return "SingleLocalZone"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/LocationType.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/LocationType.cpp index 65d267062d1..34a605f6701 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/LocationType.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/LocationType.cpp @@ -21,6 +21,7 @@ namespace Aws { static const int AvailabilityZone_HASH = HashingUtils::HashString("AvailabilityZone"); + static const int LocalZone_HASH = HashingUtils::HashString("LocalZone"); LocationType GetLocationTypeForName(const Aws::String& name) @@ -30,6 +31,10 @@ namespace Aws { return LocationType::AvailabilityZone; } + else if (hashCode == LocalZone_HASH) + { + return LocationType::LocalZone; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -48,6 +53,8 @@ namespace Aws return {}; case LocationType::AvailabilityZone: return "AvailabilityZone"; + case LocationType::LocalZone: + return "LocalZone"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h index 0eac64a5589..8a2867f0c83 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h @@ -155,13 +155,18 @@ namespace Aws * 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name - * . Path-style requests are not supported. For more information, see https://bucket-name.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 in the Amazon S3 User Guide.

          - *
          Permissions
          Permissions
          • General + * purpose bucket permissions - For information about permissions required to + * use the multipart upload, see Multipart * Upload and Permissions in the Amazon S3 User Guide.

          • *

            Directory bucket permissions - To grant access to this API operation @@ -181,7 +186,7 @@ namespace Aws * CreateSession .

          HTTP Host header * syntax

          Directory buckets - The HTTP Host header syntax is * - * Bucket_name.s3express-az_id.region.amazonaws.com.

          + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

          *

          The following operations are related to * AbortMultipartUpload:

          Both the Region that you want to copy the object from and the + * Region that you want to copy the object to must be enabled for your account. For + * more information about how to enable a Region for your account, see Enable * or disable a Region for standalone accounts in the Amazon Web Services * Account Management Guide.

          Amazon S3 transfer acceleration @@ -460,7 +475,7 @@ namespace Aws * href="http://aws.amazon.com/s3/pricing/">Amazon S3 pricing.

          *
          HTTP Host header syntax

          Directory buckets - The HTTP * Host header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

          + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

          *

          The following operations are related to * CopyObject:

          - *
          Permissions
          • General purpose bucket - * permissions - In addition to the s3:CreateBucket permission, - * the following permissions are required in a policy when your + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

            + *
          Permissions
          • General + * purpose bucket permissions - In addition to the s3:CreateBucket + * permission, the following permissions are required in a policy when your * CreateBucket request includes specific headers:

            • * Access control lists (ACLs) - In your CreateBucket request, * if you specify an access control list (ACL) and set it to @@ -578,7 +597,7 @@ namespace Aws * of S3 Express One Zone in the Amazon S3 User Guide.

              *
          HTTP Host header syntax

          Directory buckets * - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

          + * s3express-control.region-code.amazonaws.com.

          *

          The following operations are related to CreateBucket:

          - *
          Request signing

          For request signing, multipart - * upload is just a series of regular requests. You initiate a multipart upload, - * send one or more requests to upload parts, and then complete the multipart - * upload process. You sign each request individually. There is nothing special - * about signing multipart upload requests. For more information about signing, see - * in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

          + *
        Request signing

        For request signing, + * multipart upload is just a series of regular requests. You initiate a multipart + * upload, send one or more requests to upload parts, and then complete the + * multipart upload process. You sign each request individually. There is nothing + * special about signing multipart upload requests. For more information about + * signing, see Authenticating * Requests (Amazon Web Services Signature Version 4) in the Amazon S3 User * Guide.

        Permissions
        • General purpose @@ -797,7 +821,7 @@ namespace Aws * configuration of the destination bucket.

        HTTP * Host header syntax

        Directory buckets - The HTTP Host * header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

        + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        *

        The following operations are related to * CreateMultipartUpload:

        • UploadPart @@ -867,16 +891,21 @@ namespace Aws * guidelines and design patterns in the Amazon S3 User Guide.

          * - *
          Permissions
          • General purpose bucket - * permissions - You must have the s3:DeleteBucket permission on - * the specified bucket in a policy.

          • Directory bucket - * permissions - You must have the s3express:DeleteBucket + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

            + *
          Permissions
          • General + * purpose bucket permissions - You must have the s3:DeleteBucket + * permission on the specified bucket in a policy.

          • Directory + * bucket permissions - You must have the s3express:DeleteBucket * 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 @@ -1019,7 +1052,7 @@ namespace Aws * Web Services Identity and Access Management (IAM) for S3 Express One Zone in * the Amazon S3 User Guide.

          HTTP Host header * syntax

          Directory buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

          + * s3express-control.region-code.amazonaws.com.

          *

          The following operations are related to DeleteBucket:

            *
          • CreateBucket @@ -1162,7 +1195,7 @@ namespace Aws * Web Services Identity and Access Management (IAM) for S3 Express One Zone in * the Amazon S3 User Guide.

          HTTP Host header * syntax

          Directory buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

          + * s3express-control.region-code.amazonaws.com.

          *

          The following operations are related to * DeleteBucketEncryption:

          HTTP Host header syntax

          Directory - * buckets - The HTTP Host header syntax is + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

          + *
        HTTP Host header syntax

        + * Directory buckets - The HTTP Host header syntax is * s3express-control.region.amazonaws.com.

        *

        For more information about the object expiration, see Elements @@ -1440,30 +1477,34 @@ namespace Aws *

        Deletes the policy of a specified bucket.

        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, - * see 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 in the Amazon S3 User Guide.

        - *
        Permissions

        If you are using an identity other than the root - * user of the Amazon Web Services account that owns the bucket, the calling - * identity must both have the DeleteBucketPolicy permissions on the - * specified bucket and belong to the bucket owner's account in order to use this - * operation.

        If you don't have DeleteBucketPolicy permissions, - * Amazon S3 returns a 403 Access Denied error. If you have the - * correct permissions, but you're not using an identity that belongs to the bucket - * owner's account, Amazon S3 returns a 405 Method Not Allowed - * error.

        To ensure that bucket owners don't inadvertently lock - * themselves out of their own buckets, the root principal in a bucket owner's - * Amazon Web Services account can perform the GetBucketPolicy, - * PutBucketPolicy, and DeleteBucketPolicy API actions, - * even if their bucket policy explicitly denies the root principal's access. - * Bucket owner root principals can only be blocked from performing these API - * actions by VPC endpoint policies and Amazon Web Services Organizations - * policies.

        • General purpose bucket - * permissions - The s3:DeleteBucketPolicy permission is required - * in a policy. For more information about general purpose buckets bucket policies, - * see in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

          + *
          Permissions

          If you are using an identity other + * than the root user of the Amazon Web Services account that owns the bucket, the + * calling identity must both have the DeleteBucketPolicy permissions + * on the specified bucket and belong to the bucket owner's account in order to use + * this operation.

          If you don't have DeleteBucketPolicy + * permissions, Amazon S3 returns a 403 Access Denied error. If you + * have the correct permissions, but you're not using an identity that belongs to + * the bucket owner's account, Amazon S3 returns a 405 Method Not + * Allowed error.

          To ensure that bucket owners don't + * inadvertently lock themselves out of their own buckets, the root principal in a + * bucket owner's Amazon Web Services account can perform the + * GetBucketPolicy, PutBucketPolicy, and + * DeleteBucketPolicy API actions, even if their bucket policy + * explicitly denies the root principal's access. Bucket owner root principals can + * only be blocked from performing these API actions by VPC endpoint policies and + * Amazon Web Services Organizations policies.

          • + * General purpose bucket permissions - The + * s3:DeleteBucketPolicy permission is required in a policy. For more + * information about general purpose buckets bucket policies, see Using * Bucket Policies and User Policies in the Amazon S3 User Guide.

            *
          • Directory bucket permissions - To grant access to this API @@ -1476,7 +1517,7 @@ namespace Aws * Web Services Identity and Access Management (IAM) for S3 Express One Zone in * the Amazon S3 User Guide.

          HTTP Host header * syntax

          Directory buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

          + * s3express-control.region-code.amazonaws.com.

        *

        The following operations are related to DeleteBucketPolicy

        *
        • CreateBucket @@ -1628,52 +1669,88 @@ namespace Aws /** *

          Removes an object from a bucket. The behavior depends on the bucket's - * versioning state. For more information, see Best - * practices to consider before deleting an object.

          To remove a specific - * version, you must use the versionId query parameter. Using this - * query parameter permanently deletes the version. If the object deleted is a - * delete marker, Amazon S3 sets the response header - * x-amz-delete-marker to true. If the object you want to delete is in - * a bucket where the bucket versioning configuration is MFA delete enabled, you - * must include the x-amz-mfa request header in the DELETE - * versionId request. Requests that include x-amz-mfa - * must use HTTPS. For more information about MFA delete and to see example - * requests, see

          • + *

            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. You can only specify + * null to the versionId query parameter in the + * request.

          • 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://bucket-name.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 in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

            + *

          To remove a specific version, you must use the + * versionId query parameter. Using this query parameter permanently + * deletes the version. If the object deleted is a delete marker, Amazon S3 sets + * the response header x-amz-delete-marker to true.

          If the + * object you want to delete is in a bucket where the bucket versioning + * configuration is MFA Delete enabled, you must include the x-amz-mfa + * request header in the DELETE versionId request. Requests that + * include x-amz-mfa must use HTTPS. For more information about MFA + * Delete, see Using - * MFA delete and in the Amazon S3 User Guide. To see sample requests that + * use versioning, see Sample - * request in the Amazon S3 User Guide.

          • 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 - * versionId query parameter in the request.

          • 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name - * . Path-style requests are not supported. For more information, see Regional - * and Zonal endpoints in the Amazon S3 User Guide.

          • - *

            MFA delete is not supported by directory buckets.

          + * Request.

          Directory buckets - MFA delete is not + * supported by directory buckets.

          You can delete objects by + * explicitly calling DELETE Object or calling (PutBucketLifecycle) + * to enable Amazon S3 to remove them for you. If you want to block users or + * accounts from removing or deleting objects from your bucket, you must deny them + * the s3:DeleteObject, s3:DeleteObjectVersion, and + * s3:PutLifeCycleConfiguration actions.

          Directory + * buckets - S3 Lifecycle is not supported by directory buckets.

          *
          Permissions
          • General purpose bucket * permissions - The following permissions are required in your policies when * your DeleteObjects request includes specific headers.

            • *

              s3:DeleteObject - To delete an object from a bucket, - * you must always have the s3:DeleteObject permission.

              - *

              You can also use PutBucketLifecycle to delete objects in Amazon - * S3.

            • s3:DeleteObjectVersion - To - * delete a specific version of an object from a versioning-enabled bucket, you - * must have the s3:DeleteObjectVersion permission.

            • - *

              If you want to block users or accounts from removing or deleting objects from - * your bucket, you must deny them the s3:DeleteObject, - * s3:DeleteObjectVersion, and - * s3:PutLifeCycleConfiguration permissions.

          • - *
          • Directory buckets permissions - To grant access to this API - * operation on a directory bucket, we recommend that you use the - * CreateSession API operation for session-based authorization.

          • - *
          HTTP Host header syntax

          Directory buckets - * - The HTTP Host header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

          + * you must always have the s3:DeleteObject permission.

        • + *

          s3:DeleteObjectVersion - To delete a specific version + * of an object from a versioning-enabled bucket, you must have the + * s3:DeleteObjectVersion permission.

      • + * Directory bucket permissions - To grant access to this API operation on a + * directory bucket, we recommend that you use the + * CreateSession 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. + * Amazon 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 + * CreateSession .

      HTTP Host header + * syntax

      Directory buckets - The HTTP Host header syntax is + * + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

      *

      The following action is related to DeleteObject:

      * - *

      The operation supports two modes for the response: verbose and quiet. - * By default, the operation uses verbose mode in which the response includes the - * result of deletion of each key in your request. In quiet mode the response - * includes only keys where the delete operation encountered an error. For a - * successful deletion in a quiet mode, the operation does not return any - * information about the delete in the response body.

      When performing this - * action on an MFA Delete enabled bucket, that attempts to delete any versioned - * objects, you must include an MFA token. If you do not provide one, the entire - * request will fail, even if there are non-versioned objects you are trying to - * delete. If you provide an invalid token, whether there are versioned keys in the - * request or not, the entire Multi-Object Delete request will fail. For + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

      + *

    The operation supports two modes for the response: + * verbose and quiet. By default, the operation uses verbose mode in which the + * response includes the result of deletion of each key in your request. In quiet + * mode the response includes only keys where the delete operation encountered an + * error. For a successful deletion in a quiet mode, the operation does not return + * any information about the delete in the response body.

    When performing + * this action on an MFA Delete enabled bucket, that attempts to delete any + * versioned objects, you must include an MFA token. If you do not provide one, the + * entire request will fail, even if there are non-versioned objects you are trying + * to delete. If you provide an invalid token, whether there are versioned keys in + * the request or not, the entire Multi-Object Delete request will fail. For * information about MFA Delete, see MFA * Delete in the Amazon S3 User Guide.

    Directory @@ -1806,7 +1888,7 @@ namespace Aws * required for all Multi-Object Delete requests.

    HTTP * Host header syntax

    Directory buckets - The HTTP Host * header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

    + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    *

    The following operations are related to * DeleteObjects:

    • CreateMultipartUpload @@ -2106,7 +2188,7 @@ namespace Aws * Web Services Identity and Access Management (IAM) for S3 Express One Zone in * the Amazon S3 User Guide.

    HTTP Host header * syntax

    Directory buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

    + * s3express-control.region-code.amazonaws.com.

    *

    The following operations are related to GetBucketEncryption:

    *
    HTTP Host header syntax

    Directory buckets - * - The HTTP Host header syntax is + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

    + *
    HTTP Host header syntax

    Directory + * buckets - The HTTP Host header syntax is * s3express-control.region.amazonaws.com.

    * GetBucketLifecycleConfiguration has the following special * error:

    • Error code: NoSuchLifecycleConfiguration @@ -2524,30 +2610,34 @@ namespace Aws *

      Returns the policy of a specified bucket.

      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, - * see 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 in the Amazon S3 User Guide.

      - *
      Permissions

      If you are using an identity other than the root - * user of the Amazon Web Services account that owns the bucket, the calling - * identity must both have the GetBucketPolicy permissions on the - * specified bucket and belong to the bucket owner's account in order to use this - * operation.

      If you don't have GetBucketPolicy permissions, - * Amazon S3 returns a 403 Access Denied error. If you have the - * correct permissions, but you're not using an identity that belongs to the bucket - * owner's account, Amazon S3 returns a 405 Method Not Allowed - * error.

      To ensure that bucket owners don't inadvertently lock - * themselves out of their own buckets, the root principal in a bucket owner's - * Amazon Web Services account can perform the GetBucketPolicy, - * PutBucketPolicy, and DeleteBucketPolicy API actions, - * even if their bucket policy explicitly denies the root principal's access. - * Bucket owner root principals can only be blocked from performing these API - * actions by VPC endpoint policies and Amazon Web Services Organizations - * policies.

      • General purpose bucket - * permissions - The s3:GetBucketPolicy permission is required in - * a policy. For more information about general purpose buckets bucket policies, - * see in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

        + *
        Permissions

        If you are using an identity other + * than the root user of the Amazon Web Services account that owns the bucket, the + * calling identity must both have the GetBucketPolicy permissions on + * the specified bucket and belong to the bucket owner's account in order to use + * this operation.

        If you don't have GetBucketPolicy + * permissions, Amazon S3 returns a 403 Access Denied error. If you + * have the correct permissions, but you're not using an identity that belongs to + * the bucket owner's account, Amazon S3 returns a 405 Method Not + * Allowed error.

        To ensure that bucket owners don't + * inadvertently lock themselves out of their own buckets, the root principal in a + * bucket owner's Amazon Web Services account can perform the + * GetBucketPolicy, PutBucketPolicy, and + * DeleteBucketPolicy API actions, even if their bucket policy + * explicitly denies the root principal's access. Bucket owner root principals can + * only be blocked from performing these API actions by VPC endpoint policies and + * Amazon Web Services Organizations policies.

        • + * General purpose bucket permissions - The s3:GetBucketPolicy + * permission is required in a policy. For more information about general purpose + * buckets bucket policies, see Using * Bucket Policies and User Policies in the Amazon S3 User Guide.

          *
        • Directory bucket permissions - To grant access to this API @@ -2568,7 +2658,7 @@ namespace Aws * bucket policies for S3 Express One Zone in the Amazon S3 User * Guide.

        HTTP Host header syntax

        Directory * buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

        + * s3express-control.region-code.amazonaws.com.

      *

      The following action is related to GetBucketPolicy:

      HTTP Host header syntax
      *

      Directory buckets - The HTTP Host header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

      + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

      *

      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://bucket_name.s3express-az_id.region.amazonaws.com/key-name - * . Path-style requests are not supported. For more information, see https://bucket-name.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 in the Amazon S3 User Guide.

      - *

      The following actions are related to HeadObject:

        - *
      • in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

        + *

        The following actions are related to + * HeadObject:

        • GetObject *

        • GetObjectAttributes @@ -3843,12 +3953,16 @@ namespace Aws * 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, - * see 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 in the Amazon S3 User Guide.

          - *
          Permissions

          You must have the + * and Zonal endpoints for directory buckets in Availability Zones in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets 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 @@ -3920,11 +4034,16 @@ namespace Aws *

          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://bucket_name.s3express-az_id.region.amazonaws.com/key-name - * . Path-style requests are not supported. For more information, see https://bucket-name.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 in the Amazon S3 User Guide.

          - *
          Permissions

          Directory buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

          The following - * operations are related to PutBucketLifecycleConfiguration:

          Directory buckets - The HTTP Host + * header syntax is s3express-control.region.amazonaws.com.

          + *

          The following operations are related to + * PutBucketLifecycleConfiguration:

          • GetBucketLifecycleConfiguration *

          • DeleteBucketLifecycle @@ -5167,30 +5312,34 @@ namespace Aws * 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, - * see 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 in the Amazon S3 User Guide.

            - *
            Permissions

            If you are using an identity other than the root - * user of the Amazon Web Services account that owns the bucket, the calling - * identity must both have the PutBucketPolicy permissions on the - * specified bucket and belong to the bucket owner's account in order to use this - * operation.

            If you don't have PutBucketPolicy permissions, - * Amazon S3 returns a 403 Access Denied error. If you have the - * correct permissions, but you're not using an identity that belongs to the bucket - * owner's account, Amazon S3 returns a 405 Method Not Allowed - * error.

            To ensure that bucket owners don't inadvertently lock - * themselves out of their own buckets, the root principal in a bucket owner's - * Amazon Web Services account can perform the GetBucketPolicy, - * PutBucketPolicy, and DeleteBucketPolicy API actions, - * even if their bucket policy explicitly denies the root principal's access. - * Bucket owner root principals can only be blocked from performing these API - * actions by VPC endpoint policies and Amazon Web Services Organizations - * policies.

            • General purpose bucket - * permissions - The s3:PutBucketPolicy permission is required in - * a policy. For more information about general purpose buckets bucket policies, - * see in the + * Amazon S3 User Guide. For more information about endpoints in Local + * Zones, see Available + * Local Zone for directory buckets in the Amazon S3 User Guide.

              + *
              Permissions

              If you are using an identity other + * than the root user of the Amazon Web Services account that owns the bucket, the + * calling identity must both have the PutBucketPolicy permissions on + * the specified bucket and belong to the bucket owner's account in order to use + * this operation.

              If you don't have PutBucketPolicy + * permissions, Amazon S3 returns a 403 Access Denied error. If you + * have the correct permissions, but you're not using an identity that belongs to + * the bucket owner's account, Amazon S3 returns a 405 Method Not + * Allowed error.

              To ensure that bucket owners don't + * inadvertently lock themselves out of their own buckets, the root principal in a + * bucket owner's Amazon Web Services account can perform the + * GetBucketPolicy, PutBucketPolicy, and + * DeleteBucketPolicy API actions, even if their bucket policy + * explicitly denies the root principal's access. Bucket owner root principals can + * only be blocked from performing these API actions by VPC endpoint policies and + * Amazon Web Services Organizations policies.

              • + * General purpose bucket permissions - The s3:PutBucketPolicy + * permission is required in a policy. For more information about general purpose + * buckets bucket policies, see Using * Bucket Policies and User Policies in the Amazon S3 User Guide.

                *
              • Directory bucket permissions - To grant access to this API @@ -5211,7 +5360,7 @@ namespace Aws * bucket policies for S3 Express One Zone in the Amazon S3 User * Guide.

              HTTP Host header syntax

              Directory * buckets - The HTTP Host header syntax is - * s3express-control.region.amazonaws.com.

              + * s3express-control.region-code.amazonaws.com.

            *

            The following operations are related to PutBucketPolicy:

            * - *

            Amazon S3 is a distributed system. If it receives multiple write - * requests for the same object simultaneously, it overwrites all but the last - * object written. However, Amazon S3 provides features that can modify this - * behavior:

            Amazon S3 is a distributed system. If it receives + * multiple write requests for the same object simultaneously, it overwrites all + * but the last object written. However, Amazon S3 provides features that can + * modify this behavior:

            • S3 Object Lock - To prevent + * objects from being deleted or overwritten, you can use Amazon * S3 Object Lock in the Amazon S3 User Guide.

              This * functionality is not supported for directory buckets.

            • @@ -5622,7 +5776,7 @@ namespace Aws * bucket - This functionality is not supported for directory buckets.

              *
          HTTP Host header syntax

          Directory buckets * - The HTTP Host header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

          + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

          *

          For more information about related Amazon S3 APIs, see the * following:

          HTTP Host header syntax

          Directory buckets * - The HTTP Host header syntax is - * Bucket_name.s3express-az_id.region.amazonaws.com.

          + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

          *

          The following operations are related to * UploadPartCopy:

          • CreateMultipartUpload diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h index a798250856d..ef6c9fdbcef 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h @@ -53,12 +53,12 @@ namespace Model *

            The bucket name to which the upload was taking place.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/BucketInfo.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/BucketInfo.h index 9e53773b513..3aef8c1719f 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/BucketInfo.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/BucketInfo.h @@ -44,8 +44,8 @@ namespace Model ///@{ /** - *

            The number of Availability Zone that's used for redundancy for the - * bucket.

            + *

            The number of Zone (Availability Zone or Local Zone) that's used for + * redundancy for the bucket.

            */ inline const DataRedundancy& GetDataRedundancy() const{ return m_dataRedundancy; } inline bool DataRedundancyHasBeenSet() const { return m_dataRedundancyHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h index e6942be41cf..89a7418f09c 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h @@ -53,12 +53,12 @@ namespace Model *

            Name of the bucket to which the multipart upload was initiated.

            * Directory buckets - When you use this operation with a directory bucket, * you must use virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h index 7feceb85121..1d066bf4033 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h @@ -93,18 +93,23 @@ namespace Model *

            The name of the destination bucket.

            Directory buckets - When * you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory - * bucket naming rules in the Amazon S3 User Guide.

            Access - * points - When you use this action with an access point, you must provide the - * alias of the access point in place of the bucket name or specify the access - * point ARN. When using the access point ARN, you must direct requests to the - * access point hostname. The access point hostname takes the form + * bucket naming rules in the Amazon S3 User Guide.

            + *

            Copying objects across different Amazon Web Services Regions isn't supported + * when the source or destination bucket is in Amazon Web Services Local Zones. The + * source and destination buckets must have the same parent Amazon Web Services + * Region. Otherwise, you get an HTTP 400 Bad Request error with the + * error code InvalidRequest.

            Access points - + * When you use this action with an access point, you must provide the alias of the + * access point in place of the bucket name or specify the access point ARN. When + * using the access point ARN, you must direct requests to the access point + * hostname. The access point hostname takes the form * AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. * When using this action with an access point through the Amazon Web Services * SDKs, you provide the access point ARN in place of the bucket name. For more diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h index a37b3b47819..5591785461f 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h @@ -38,8 +38,9 @@ namespace Model ///@{ /** *

            If the object expiration is configured, the response includes this - * header.

            This functionality is not supported for directory - * buckets.

            + * header.

            Object expiration information is not returned in directory + * buckets and this header returns the value "NotImplemented" in all + * responses for directory buckets.

            */ inline const Aws::String& GetExpiration() const{ return m_expiration; } inline void SetExpiration(const Aws::String& value) { m_expiration = value; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h index 1d71f46bd25..9b045cc0746 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h @@ -61,8 +61,13 @@ namespace Model ///@{ /** - *

            Specifies the location where the bucket will be created.

            For directory - * buckets, the location type is Availability Zone.

            This + *

            Specifies the location where the bucket will be created.

            Directory + * buckets - The location type is Availability Zone or Local Zone. When the + * location type is Local Zone, your Local Zone must be in opt-in status. + * Otherwise, you get an HTTP 400 Bad Request error with the error + * code Access denied. To learn more about opt-in Local Zones, see Opt-in + * Dedicated Local Zonesin the Amazon S3 User Guide.

            This * functionality is only supported by directory buckets.

            */ inline const LocationInfo& GetLocation() const{ return m_location; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h index 8137199922f..b8b0dae8701 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h @@ -70,12 +70,13 @@ namespace Model * naming rules in the Amazon S3 User Guide.

            Directory * buckets - When you use this operation with a directory bucket, you must use * path-style requests in the format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h index dc854c55a1a..c8c64424135 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h @@ -86,12 +86,12 @@ namespace Model * object is uploaded.

            Directory buckets - When you use this * operation with a directory bucket, you must use virtual-hosted-style requests in * the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DataRedundancy.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DataRedundancy.h index c71d19f3663..78aa05d48ae 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DataRedundancy.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DataRedundancy.h @@ -16,7 +16,8 @@ namespace Model enum class DataRedundancy { NOT_SET, - SingleAvailabilityZone + SingleAvailabilityZone, + SingleLocalZone }; namespace DataRedundancyMapper diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h index c2cec0d23c7..a9449bb3171 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h @@ -51,12 +51,13 @@ namespace Model *

            The name of the bucket containing the server-side encryption configuration to * delete.

            Directory buckets - When you use this operation with a * directory bucket, you must use path-style requests in the format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h index 9058487db8d..c62b4a80675 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h @@ -51,12 +51,13 @@ namespace Model *

            The bucket name.

            Directory buckets - When you use this * operation with a directory bucket, you must use path-style requests in the * format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h index 8918efdf952..dd8449f47d6 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h @@ -51,12 +51,13 @@ namespace Model *

            Specifies the bucket being deleted.

            Directory buckets - When * you use this operation with a directory bucket, you must use path-style requests * in the format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h index b9fcda8aac7..683a4db6b18 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h @@ -53,12 +53,12 @@ namespace Model *

            The bucket name of the bucket containing the object.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h index b59a477bd75..6cd34c600df 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h @@ -56,12 +56,12 @@ namespace Model *

            The bucket name containing the objects to delete.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h index 616fb237c23..05304746823 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h @@ -51,12 +51,13 @@ namespace Model *

            The name of the bucket from which the server-side encryption configuration is * retrieved.

            Directory buckets - When you use this operation with * a directory bucket, you must use path-style requests in the format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h index 43545e5341d..f5a073eb976 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h @@ -51,12 +51,13 @@ namespace Model *

            The bucket name to get the bucket policy for.

            Directory buckets * - When you use this operation with a directory bucket, you must use * path-style requests in the format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            Access * points - When you use this API operation with an access point, provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesRequest.h index 0fa1c2f6372..4060d7b3b53 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesRequest.h @@ -54,12 +54,12 @@ namespace Model *

            The name of the bucket that contains the object.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h index 727c5eb11ed..0cb185b6b9f 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h @@ -57,12 +57,12 @@ namespace Model *

            The bucket name containing the object.

            Directory buckets - * When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h index 5e961e4c5b9..1a39b78a01d 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h @@ -90,8 +90,10 @@ namespace Model * PutBucketLifecycleConfiguration ), the response includes this * header. It includes the expiry-date and rule-id * key-value pairs providing object expiration information. The value of the - * rule-id is URL-encoded.

            This functionality is not - * supported for directory buckets.

            + * rule-id is URL-encoded.

            Object expiration information + * is not returned in directory buckets and this header returns the value + * "NotImplemented" in all responses for directory buckets.

            + * */ inline const Aws::String& GetExpiration() const{ return m_expiration; } inline void SetExpiration(const Aws::String& value) { m_expiration = value; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h index 0463a13dd25..d5f4be053ac 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h @@ -51,12 +51,12 @@ namespace Model *

            The bucket name.

            Directory buckets - When you use this * operation with a directory bucket, you must use virtual-hosted-style requests in * the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h index 9fa2bfe7dbd..87679397b09 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketResult.h @@ -48,9 +48,10 @@ namespace Model ///@{ /** *

            The name of the location where the bucket will be created.

            For - * directory buckets, the AZ ID of the Availability Zone where the bucket is - * created. An example AZ ID value is usw2-az1.

            This - * functionality is only supported by directory buckets.

            + * directory buckets, the Zone ID of the Availability Zone or the Local Zone where + * the bucket is created. An example Zone ID value for an Availability Zone is + * usw2-az1.

            This functionality is only supported by + * directory buckets.

            */ inline const Aws::String& GetBucketLocationName() const{ return m_bucketLocationName; } inline void SetBucketLocationName(const Aws::String& value) { m_bucketLocationName = value; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h index 9e867a58927..77a78bbd200 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h @@ -54,12 +54,12 @@ namespace Model *

            The name of the bucket that contains the object.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h index 15de02e2a7b..85969f1865b 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h @@ -72,8 +72,10 @@ namespace Model * PutBucketLifecycleConfiguration ), the response includes this * header. It includes the expiry-date and rule-id * key-value pairs providing object expiration information. The value of the - * rule-id is URL-encoded.

            This functionality is not - * supported for directory buckets.

            + * rule-id is URL-encoded.

            Object expiration information + * is not returned in directory buckets and this header returns the value + * "NotImplemented" in all responses for directory buckets.

            + * */ inline const Aws::String& GetExpiration() const{ return m_expiration; } inline void SetExpiration(const Aws::String& value) { m_expiration = value; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h index 11d3cde270c..421e2ebc1fe 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h @@ -53,12 +53,12 @@ namespace Model *

            The name of the bucket to which the multipart upload was initiated.

            * Directory buckets - When you use this operation with a directory bucket, * you must use virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h index 398b8875a2f..a120696e20e 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h @@ -55,12 +55,12 @@ namespace Model *

            The name of the bucket containing the objects.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h index ad7d66db8c0..c316f0a9101 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h @@ -54,12 +54,12 @@ namespace Model /** *

            Directory buckets - When you use this operation with a directory * bucket, you must use virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h index febc8b5df89..64e3e1196a2 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h @@ -52,12 +52,12 @@ namespace Model *

            The name of the bucket to which the parts are being uploaded.

            * Directory buckets - When you use this operation with a directory bucket, * you must use virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/LocationInfo.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/LocationInfo.h index 6fbb3743d05..2b61247763f 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/LocationInfo.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/LocationInfo.h @@ -25,8 +25,8 @@ namespace Model /** *

            Specifies the location where the bucket will be created.

            For directory - * buckets, the location type is Availability Zone. For more information about - * directory buckets, see Directory * buckets in the Amazon S3 User Guide.

            This functionality * is only supported by directory buckets.

            See Also:

            The name of the location where the bucket will be created.

            For - * directory buckets, the name of the location is the AZ ID of the Availability - * Zone where the bucket will be created. An example AZ ID value is - * usw2-az1.

            + * directory buckets, the name of the location is the Zone ID of the Availability + * Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID + * value is usw2-az1.

            */ inline const Aws::String& GetName() const{ return m_name; } inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/LocationType.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/LocationType.h index 06e73b26cd0..b3e25bdfcf6 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/LocationType.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/LocationType.h @@ -16,7 +16,8 @@ namespace Model enum class LocationType { NOT_SET, - AvailabilityZone + AvailabilityZone, + LocalZone }; namespace LocationTypeMapper diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h index b9ca2ea8f73..2ae63c815d2 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h @@ -56,12 +56,13 @@ namespace Model * different key options.

            Directory buckets - When you use this * operation with a directory bucket, you must use path-style requests in the * format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h index 18f92ea1c93..f9f8cde5a88 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h @@ -54,12 +54,13 @@ namespace Model *

            The name of the bucket.

            Directory buckets - When you use this * operation with a directory bucket, you must use path-style requests in the * format - * https://s3express-control.region_code.amazonaws.com/bucket-name + * https://s3express-control.region-code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names - * must be unique in the chosen Availability Zone. Bucket names must also follow - * the format bucket_base_name--az_id--x-s3 (for - * example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For - * information about bucket naming restrictions, see + * bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about + * bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide

            */ diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h index a4a44cee2cd..99ad26b17a0 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h @@ -96,12 +96,12 @@ namespace Model *

            The bucket name to which the PUT action was initiated.

            Directory * buckets - When you use this operation with a directory bucket, you must use * virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h index 421396aff8a..8e9c7fd1944 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h @@ -41,8 +41,10 @@ namespace Model * in the Amazon S3 User Guide, the response includes this header. It * includes the expiry-date and rule-id key-value pairs * that provide information about object expiration. The value of the - * rule-id is URL-encoded.

            This functionality is not - * supported for directory buckets.

            + * rule-id is URL-encoded.

            Object expiration information + * is not returned in directory buckets and this header returns the value + * "NotImplemented" in all responses for directory buckets.

            + * */ inline const Aws::String& GetExpiration() const{ return m_expiration; } inline void SetExpiration(const Aws::String& value) { m_expiration = value; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h index 20e057cf077..984c7d8046b 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h @@ -69,7 +69,11 @@ namespace Model ///@{ /** - *

            Type of restore request.

            + *

            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

            Type of restore request.

            */ inline const RestoreRequestType& GetType() const{ return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } @@ -107,7 +111,11 @@ namespace Model ///@{ /** - *

            Describes the parameters for Select job types.

            + *

            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

            Describes the parameters for Select job types.

            */ inline const SelectParameters& GetSelectParameters() const{ return m_selectParameters; } inline bool SelectParametersHasBeenSet() const { return m_selectParametersHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h index 1d7d7788ccb..efa7f9b1683 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h @@ -29,12 +29,17 @@ namespace Model { /** - *

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

            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.

            See Also:

            AWS diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h index 956bf90f828..15cd67c0cb8 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h @@ -26,7 +26,18 @@ namespace Model { /** - *

            Describes the parameters for Select job types.

            See Also:

            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

            Describes the parameters for Select job types.

            + *

            Learn How + * to optimize querying your data in Amazon S3 using Amazon + * Athena, S3 + * Object Lambda, or client-side filtering.

            See Also:

            AWS * API Reference

            */ @@ -66,7 +77,12 @@ namespace Model ///@{ /** - *

            The expression that is used to query the object.

            + *

            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

            The expression that is used to query the + * object.

            */ inline const Aws::String& GetExpression() const{ return m_expression; } inline bool ExpressionHasBeenSet() const { return m_expressionHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h index 4688f31c254..89ba6f982af 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h @@ -53,18 +53,23 @@ namespace Model *

            The bucket name.

            Directory buckets - When you use this * operation with a directory bucket, you must use virtual-hosted-style requests in * the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory - * bucket naming rules in the Amazon S3 User Guide.

            Access - * points - When you use this action with an access point, you must provide the - * alias of the access point in place of the bucket name or specify the access - * point ARN. When using the access point ARN, you must direct requests to the - * access point hostname. The access point hostname takes the form + * bucket naming rules in the Amazon S3 User Guide.

            + *

            Copying objects across different Amazon Web Services Regions isn't supported + * when the source or destination bucket is in Amazon Web Services Local Zones. The + * source and destination buckets must have the same parent Amazon Web Services + * Region. Otherwise, you get an HTTP 400 Bad Request error with the + * error code InvalidRequest.

            Access points - + * When you use this action with an access point, you must provide the alias of the + * access point in place of the bucket name or specify the access point ARN. When + * using the access point ARN, you must direct requests to the access point + * hostname. The access point hostname takes the form * AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. * When using this action with an access point through the Amazon Web Services * SDKs, you provide the access point ARN in place of the bucket name. For more diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h index 49a9874536a..2cd21ecd31d 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h @@ -54,12 +54,12 @@ namespace Model *

            The name of the bucket to which the multipart upload was initiated.

            * Directory buckets - When you use this operation with a directory bucket, * you must use virtual-hosted-style requests in the format - * Bucket_name.s3express-az_id.region.amazonaws.com. + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. * Path-style requests are not supported. Directory bucket names must be unique in - * the chosen Availability Zone. Bucket names must follow the format - * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about - * bucket naming restrictions, see bucket-base-name--zone-id--x-s3 (for example, + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + * about bucket naming restrictions, see Directory * bucket naming rules in the Amazon S3 User Guide.

            Access * points - When you use this action with an access point, you must provide the diff --git a/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp b/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp index fa6a10a7f41..9dfd31ee3e8 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace S3 { -const size_t S3EndpointRules::RulesBlobStrLen = 75332; -const size_t S3EndpointRules::RulesBlobSize = 75333; +const size_t S3EndpointRules::RulesBlobStrLen = 81230; +const size_t S3EndpointRules::RulesBlobSize = 81231; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ @@ -442,40 +442,184 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', '"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', 'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'U','n','r','e','c','o','g','n','i','z','e','d',' ','S','3','E','x','p','r','e','s','s',' ','b','u', -'c','k','e','t',' ','n','a','m','e',' ','f','o','r','m','a','t','.','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u', -'b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'B','u','c','k','e','t','"','}',',','6',',','1','4',',','t','r','u','e',']',',','"','a','s','s','i', -'g','n','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t', -'y','Z','o','n','e','I','d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n', -'g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t', -'"','}',',','1','4',',','1','6',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"', -'s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e', -'D','e','l','i','m','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p', -'r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m', -'"','}',',','"','-','-','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', -'}','.','s','3','e','x','p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s', +'t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', +'c','k','e','t','"','}',',','6',',','1','9',',','t','r','u','e',']',',','"','a','s','s','i','g','n', +'"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z', +'o','n','e','I','d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}', +',','1','9',',','2','1',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3', +'e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e', +'l','i','m','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e', +'s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}', +',','"','-','-','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'s','3','e','x','p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s', +'A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i', +'o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r', +'e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3','e','x','p','r','e', 's','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e', 'g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x', 'p','r','e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', 'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s', -'s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r', -'e','s','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r', +'i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',',','6',',','2','0',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':', +'"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n', +'e','I','d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','2', +'0',',','2','2',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x', +'p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i', +'m','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s', +'A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"', +'-','-','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3', +'e','x','p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v', +'a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n', +'}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s', +'s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', +'k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3','e','x','p','r','e','s','s', +'A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i', +'o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r', +'e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n', +'g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t', +'"','}',',','6',',','2','6',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s', +'3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I', +'d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','2','6',',', +'2','8',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r', +'e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"', +'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s','A','v', +'a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"','-','-', +'"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x', +'p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i', +'l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.', +'a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"', +',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', +'t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3','e','x','p','r','e','s','s','A','v', +'a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n', +'}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s', +'s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','U','n','r','e','c','o', +'g','n','i','z','e','d',' ','S','3','E','x','p','r','e','s','s',' ','b','u','c','k','e','t',' ','n', +'a','m','e',' ','f','o','r','m','a','t','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n', +'g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t', +'"','}',',','6',',','1','4',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s', +'3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I', +'d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','1','4',',', +'1','6',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r', +'e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"', +'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s','A','v', +'a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"','-','-', +'"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x', +'p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i', +'l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.', +'a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"', +',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s', +'3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I', +'d','}','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"', +':','"','S','3','E','x','p','r','e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','-','s','3','e', +'x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','6',',','1','5', +',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r','e','s', +'s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','"','}',',','{','"','f', +'n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','1','5',',','1','7',',','t','r','u','e', +']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i', +'l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l', +'i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"','-','-','"',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','f', +'i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t', 'y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a', 'w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','b','a', 'c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"','a','u','t','h','S', @@ -485,36 +629,36 @@ static constexpr RulesBlobT RulesBlob = {{ 'e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e', 'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', 'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"', -'}',',','6',',','1','5',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3', -'e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d', -'"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','1','5',',','1', -'7',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r','e', -'s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}', -',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a', -'i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"','-','-','"', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p', -'r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l', -'a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.','a', -'m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', +'c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3','e','x','p','r','e','s', +'s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g', +'i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p', +'r','e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','B','u','c','k','e','t','"','}',',','6',',','1','9',',','t','r','u','e',']',',', +'"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a', +'b','i','l','i','t','y','Z','o','n','e','I','d','"','}',',','{','"','f','n','"',':','"','s','u','b', +'s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B', +'u','c','k','e','t','"','}',',','1','9',',','2','1',',','t','r','u','e',']',',','"','a','s','s','i', +'g','n','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t', +'y','Z','o','n','e','D','e','l','i','m','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e', +'D','e','l','i','m','"','}',',','"','-','-','"',']','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','f','i','p','s','-','{','s','3', 'e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d', '}','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"', ',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':', @@ -524,426 +668,366 @@ static constexpr RulesBlobT RulesBlob = {{ 'p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','e', 'x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', '{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','r','r','o','r','"',':','"','U','n','r','e','c','o','g','n','i','z','e','d', -' ','S','3','E','x','p','r','e','s','s',' ','b','u','c','k','e','t',' ','n','a','m','e',' ','f','o', -'r','m','a','t','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','S','3','E','x','p','r','e','s','s',' ', -'b','u','c','k','e','t',' ','n','a','m','e',' ','i','s',' ','n','o','t',' ','a',' ','v','a','l','i', -'d',' ','v','i','r','t','u','a','l',' ','h','o','s','t','a','b','l','e',' ','n','a','m','e','.','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', -'c','k','e','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','S','3','E','x','p','r', -'e','s','s','C','o','n','t','r','o','l','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','S','3','E','x','p','r','e','s','s','C','o', -'n','t','r','o','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', -'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r', -'l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t', -'y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','e', -'x','p','r','e','s','s','-','c','o','n','t','r','o','l','-','f','i','p','s','.','{','R','e','g','i', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', +'3','e','x','p','r','e','s','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a', +'b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.','a','m', +'a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s', +'t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', +'c','k','e','t','"','}',',','6',',','2','0',',','t','r','u','e',']',',','"','a','s','s','i','g','n', +'"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z', +'o','n','e','I','d','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}', +',','2','0',',','2','2',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3', +'e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e', +'l','i','m','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e', +'s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}', +',','"','-','-','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'s','3','e','x','p','r','e','s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s', +'A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i', 'o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e', 'r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r', 'e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', 'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'e','x','p','r','e','s','s','-','c','o','n','t','r','o','l','.','{','R','e','g','i','o','n','}','.', -'a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"', -',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',',','{','"','f', -'n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','4','9',',','5','0',',','t','r','u','e', -']',',','"','a','s','s','i','g','n','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"', -'}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','8',',','1','2',',', -'t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','r','e','g','i','o','n','P','r','e', -'f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','0', -',','7',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t', -'A','l','i','a','s','S','u','f','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s', -'t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', -'c','k','e','t','"','}',',','3','2',',','4','9',',','t','r','u','e',']',',','"','a','s','s','i','g', -'n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','r', -'e','g','i','o','n','P','a','r','t','i','t','i','o','n','"','}',',','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','l','i','a','s','S','u','f','f','i','x','"','}',',','"', -'-','-','o','p','-','s','3','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d', -'H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','"', -'e','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e','g','i','o','n','P','r', -'e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ', -'a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e', -'d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u', -'n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', -'.','e','c','2','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}', -',','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', -'c','k','e','t','}','.','e','c','2','.','s','3','-','o','u','t','p','o','s','t','s','.','{','R','e', -'g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','#','d','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'"','n','a','m','e','"',':','"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e','s', +'s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z', +'o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s', +'.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','b','a','c','k', +'e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'-','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',', +'6',',','2','6',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x', +'p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','"','}', +',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','2','6',',','2','8',',', +'t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','s','3','e','x','p','r','e','s','s', +'A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','s','3','e','x','p','r','e','s','s','A','v','a','i','l', +'a','b','i','l','i','t','y','Z','o','n','e','D','e','l','i','m','"','}',',','"','-','-','"',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e', +'s','s','-','f','i','p','s','-','{','s','3','e','x','p','r','e','s','s','A','v','a','i','l','a','b', +'i','l','i','t','y','Z','o','n','e','I','d','}','.','{','R','e','g','i','o','n','}','.','a','m','a', +'z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','-','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','{','B','u','c','k','e','t','}','.','s','3','e','x','p','r','e','s','s','-','{','s','3','e','x', +'p','r','e','s','s','A','v','a','i','l','a','b','i','l','i','t','y','Z','o','n','e','I','d','}','.', +'{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S', +'3','E','x','p','r','e','s','s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','-','s','3','e','x','p','r', +'e','s','s','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','e','x','p', +'r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','U','n','r','e','c','o','g','n','i','z','e','d',' ','S', +'3','E','x','p','r','e','s','s',' ','b','u','c','k','e','t',' ','n','a','m','e',' ','f','o','r','m', +'a','t','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','S','3','E','x','p','r','e','s','s',' ','b','u', +'c','k','e','t',' ','n','a','m','e',' ','i','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ', +'v','i','r','t','u','a','l',' ','h','o','s','t','a','b','l','e',' ','n','a','m','e','.','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','S','3','E','x','p','r','e','s', +'s','C','o','n','t','r','o','l','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','S','3','E','x','p','r','e','s','s','C','o','n','t', +'r','o','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', +'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', +'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', +'{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','e','x','p', +'r','e','s','s','-','c','o','n','t','r','o','l','-','f','i','p','s','.','{','R','e','g','i','o','n', +'}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s', +'s','"',',','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','e','x', +'p','r','e','s','s','-','c','o','n','t','r','o','l','.','{','R','e','g','i','o','n','}','.','a','m', +'a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','b','a','c','k','e','n','d','"',':','"','S','3','E','x','p','r','e','s','s','"',',','"', 'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', 'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', ':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h','a','r','d','w','a','r', -'e','T','y','p','e','"','}',',','"','o','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"', -'E','x','p','e','c','t','e','d',' ','a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e', -' ','s','p','e','c','i','f','i','e','d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n', -'t',' ','w','a','s',' ','f','o','u','n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','{','B','u','c','k','e','t','}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', -'.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s', -'t','s','.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t', -'i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','U','n', -'r','e','c','o','g','n','i','z','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',':', -' ','\\','"','E','x','p','e','c','t','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e', -' ','o',' ','o','r',' ','e',' ','b','u','t',' ','g','o','t',' ','{','h','a','r','d','w','a','r','e', -'T','y','p','e','}','\\','"','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', -'A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s','t',' ', -'o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-', -'9',' ','a','n','d',' ','`','-','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','C','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','`','{','E','n','d','p','o','i','n','t','}','`',' ','w', -'a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','U','R','I','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t', -'y','l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.', -'i','s','V','i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"', -'}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t', -'i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d', -'H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}', -']',',','"','e','r','r','o','r','"',':','"','S','3',' ','A','c','c','e','l','e','r','a','t','e',' ', -'c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','i','n',' ','t','h','i','s',' ','r','e', -'g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', -'3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-', -'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', -'p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', -'t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g', -'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', -'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f', -'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s', -'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'3','e','x','p','r','e','s','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',',','{','"','f','n','"', +':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','B','u','c','k','e','t','"','}',',','4','9',',','5','0',',','t','r','u','e',']',',', +'"','a','s','s','i','g','n','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',', +'{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','8',',','1','2',',','t','r', +'u','e',']',',','"','a','s','s','i','g','n','"',':','"','r','e','g','i','o','n','P','r','e','f','i', +'x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','0',',','7', +',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','A','l', +'i','a','s','S','u','f','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r', +'i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',',','3','2',',','4','9',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"', +':','"','o','u','t','p','o','s','t','I','d','"','}',',','{','"','f','n','"',':','"','a','w','s','.', +'p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','r','e','g', +'i','o','n','P','a','r','t','i','t','i','o','n','"','}',',','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','b','u','c','k','e','t','A','l','i','a','s','S','u','f','f','i','x','"','}',',','"','-','-', +'o','p','-','s','3','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','"','e','"', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e','g','i','o','n','P','r','e','f', +'i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ', +'e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ', +'b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','e', +'c','2','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','e','c','2','.','s','3','-','o','u','t','p','o','s','t','s','.','{','R','e','g','i', +'o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','#','d','n','s','S', 'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', 't','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', 'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', -'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', -'c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', +'s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-', +'o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T', +'y','p','e','"','}',',','"','o','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r', +'e','g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x', +'p','e','c','t','e','d',' ','a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s', +'p','e','c','i','f','i','e','d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ', +'w','a','s',' ','f','o','u','n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'B','u','c','k','e','t','}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','{','u', +'r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','o', +'p','-','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t','s', +'.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o', +'n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','U','n','r','e', +'c','o','g','n','i','z','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',':',' ','\\', +'"','E','x','p','e','c','t','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',' ','o', +' ','o','r',' ','e',' ','b','u','t',' ','g','o','t',' ','{','h','a','r','d','w','a','r','e','T','y', +'p','e','}','\\','"','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', +'N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s','t',' ','o','n', +'l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ', +'a','n','d',' ','`','-','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','C','u','s','t','o','m',' ', +'e','n','d','p','o','i','n','t',' ','`','{','E','n','d','p','o','i','n','t','}','`',' ','w','a','s', +' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','U','R','I','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l', +'e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','i','s', +'V','i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',', +'f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t', +'i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']',',', +'"','e','r','r','o','r','"',':','"','S','3',' ','A','c','c','e','l','e','r','a','t','e',' ','c','a', +'n','n','o','t',' ','b','e',' ','u','s','e','d',' ','i','n',' ','t','h','i','s',' ','r','e','g','i', +'o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', '{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r', -'a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', '"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', '"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R', -'e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', -'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', +'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-', +'f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', 'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', -'e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t', -'-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', -'1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', -'d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s','t','a', -'c','k','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', +'.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o', +'n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', 'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', 'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', 'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', @@ -956,9 +1040,9 @@ static constexpr RulesBlobT RulesBlob = {{ '"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', 'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', -'c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', +'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', 'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', '"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', 't','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', @@ -968,37 +1052,90 @@ static constexpr RulesBlobT RulesBlob = {{ 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', 'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f', 'a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', -'e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p', +'s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-', +'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', +'d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', ']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', -'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', -'c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s', -'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', +'e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g', +'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', 'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', 'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', '"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', @@ -1006,52 +1143,178 @@ static constexpr RulesBlobT RulesBlob = {{ 'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', '"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', -'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', -'c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o', -'n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l', +'e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', +'o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', +'}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', +'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l', +'e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-', +'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', '"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', '"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', -'c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', +'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', +'d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', +'e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', 'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', -'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u', -'a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a', +'l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a','l', +'s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', +'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a', +'l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', '}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', 'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', @@ -1067,71 +1330,54 @@ static constexpr RulesBlobT RulesBlob = {{ 'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', ':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r', -'m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', -'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', -'e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r', -'a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-', -'e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t', +'y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', +'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', +'e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',', +'"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', +'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a', +'s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u', +'t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a', +'t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', 'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#', 'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d', 'P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', @@ -1140,164 +1386,164 @@ static constexpr RulesBlobT RulesBlob = {{ 'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', 'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', '{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r', -'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z', -'e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', -'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"', -'}',',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', -'n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r', -'l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l', -'#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', -'e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', -'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', -':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}', -',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n', +'"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':', +'"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',', +'"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', 'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', 'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', '{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', 'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', -'p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/', -'/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m', -'a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o', +'p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', +'s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a', +'u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', 't','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', 'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', 'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', -'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', -'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a', -'l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t', +'y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', '[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', 'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', 'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', 'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', 'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', +':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', +'u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"', +'i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', +'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l', +'i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s', +'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u', +'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', 'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', '"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', -'o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', '"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', '/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.', '{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', @@ -1307,104 +1553,33 @@ static constexpr RulesBlobT RulesBlob = {{ '4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', 'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', '}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t', -'e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', -'c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f', -'a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', -'e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', -'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', -'p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', -'t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', +'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l', +'e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', +'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', 'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', 's','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', 'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', @@ -1415,921 +1590,888 @@ static constexpr RulesBlobT RulesBlob = {{ 'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', ':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', '"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', -'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', -'B','u','c','k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', -'a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n', -'o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'u','r','l','"','}',',','"','s','c','h','e','m','e','"',']','}',',','"','h','t','t','p','"',']','}', -',','{','"','f','n','"',':','"','a','w','s','.','i','s','V','i','r','t','u','a','l','H','o','s','t', -'a','b','l','e','S','3','B','u','c','k','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','B','u','c','k','e','t','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t', -'i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d', -'H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', -'e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g', -'i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l', -'i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S', -'t','y','l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s', -'.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c', -'k','e','t','A','r','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', -'"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','0',']','"',']',',','"','a','s','s','i', -'g','n','"',':','"','a','r','n','T','y','p','e','"','}',',','{','"','f','n','"',':','"','n','o','t', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', '"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n', -'T','y','p','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"', -'s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p', -'o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', -'}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g', -'n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']', -'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', +'.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', 's','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S', -'3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ', -'s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j', -'e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', -'r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"', -']','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c', -'e','s','s','P','o','i','n','t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t', -'r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o', -'i','n','t','s',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o', -'r',' ','t','h','i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', +'E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', +'c','k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t', +' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', +'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r', +'l','"','}',',','"','s','c','h','e','m','e','"',']','}',',','"','h','t','t','p','"',']','}',',','{', +'"','f','n','"',':','"','a','w','s','.','i','s','V','i','r','t','u','a','l','H','o','s','t','a','b', +'l','e','S','3','B','u','c','k','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','B','u','c','k','e','t','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t', +'i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t', +'y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o', +'n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d', +' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y', +'l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','p', +'a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','r','e','s','o','u','r','c','e','I','d','[','0',']','"',']',',','"','a','s','s','i','g','n', +'"',':','"','a','r','n','T','y','p','e','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y', +'p','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', 't','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u', -'c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"', -']','}',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e', -'g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', -'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', -'e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i', -'o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f', -'r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t', -' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s', -'e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', -'"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"', -'b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':', -'"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n', -'a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','r','u','l','e','s', +'c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s','3', +'-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',']','}',']',',','"','r','u','l','e','s', '"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i', -'o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', -'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', -'u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',', -'"','"',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', -'N',':',' ','M','i','s','s','i','n','g',' ','a','c','c','o','u','n','t',' ','i','d','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', -'e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e', -'l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s', -'P','o','i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', -'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e', -'}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{', -'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-', -'l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u', -'c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','o','b','j', -'e','c','t','-','l','a','m','b','d','a','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r', -'n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o', -'n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r', -'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', -'d','}','.','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','b','u','c','k', -'e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t', -'i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A', -'r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', -'N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ', -'m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z', -',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a', -'c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t', -' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',', -' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':', -' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i', -'n',' ','A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', -'}','`',' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r', -'e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ', -'(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ', -'A','R','N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i', -'n','g','l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a', -'f','t','e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', -'r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t',' ','A', -'R','N',' ','i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c', -'t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r', -'m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s','s','p', -'o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w', -'a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','A','R','N',':',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','A','R', -'N','s',' ','o','n','l','y',' ','s','u','p','p','o','r','t',' ','`','a','c','c','e','s','s','p','o', -'i','n','t','`',' ','a','r','n',' ','t','y','p','e','s',',',' ','b','u','t',' ','f','o','u','n','d', -':',' ','`','{','a','r','n','T','y','p','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a', -'r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u', -'r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','c','c','e', -'s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e', -'s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',', -'"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p', -'e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i', +'n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"', +':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"', ':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"', -'"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P', -'o','i','n','t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i', -'s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']', -'}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s', -' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h', -'i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']', +'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ', +'O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u', +'p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c', +'t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', +' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}', +',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s', +'s','P','o','i','n','t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u', +'e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n', +'t','s',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ', +'t','h','i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', +'e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}', +']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i', +'o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', 'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}',']','}', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', -'n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n','}','"', -']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ', -'A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ', -'d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e','g', -'i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r','n', -'R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', -'r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k', -'e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.', -'p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"', -']','}',',','"','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e', -'}','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a', -'b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', -'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s', -'e','r','v','i','c','e','"',']','}',',','"','s','3','"',']','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', -'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u', -'n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':', +'A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n', +'}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', +'c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r','o', +'m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}', +'`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r', +'e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A', +'r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u', +'c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', +'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m', +'e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':', '[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', 'V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',', -'f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', -'l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', -'"','A','c','c','e','s','s',' ','P','o','i','n','t','s',' ','d','o',' ','n','o','t',' ','s','u','p', -'p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', -'s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c', -'c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f', -'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r','n','#', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n', +'"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c', +'k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','"','"', +']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','M','i','s','s','i','n','g',' ','a','c','c','o','u','n','t',' ','i','d','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o', +'i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', +'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-', +'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','u','r', +'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a', +'m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b', +'u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k', +'e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','o','b','j','e','c', +'t','-','l','a','m','b','d','a','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r','n','#', 'r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#', 'd','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', '{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', 'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', 'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u', -'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N', -'a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d', -'}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i','p','s','.','{','b','u', -'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a', -'r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e', -'s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a', -'c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.', -'d','u','a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i', -'o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t', -'A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', -'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','a','c','c','e', -'s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a', -'c','c','o','u','n','t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', -'{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u', -'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', -'d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','{','b','u','c','k','e','t', +'"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a', +'m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}', +'.','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','b','u','c','k','e','t', 'A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t', 'i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', 'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', 'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', '"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n', +'#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a', +'y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ', +'0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c', +'e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', 'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', -'n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o', -'i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n', -' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F', -'o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h', -'e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n', -'t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-', -'`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c', -'o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', -' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','w','a','s',' ','n','o','t',' ','f','o','r', -' ','t','h','e',' ','S','3',' ','s','e','r','v','i','c','e',',',' ','f','o','u','n','d',':',' ','{', -'b','u','c','k','e','t','A','r','n','#','s','e','r','v','i','c','e','}','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':', -' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n', -'v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r', -' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c', -'k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t', -'i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a', -'y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r', -'e','s','o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`', -'a','c','c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e', -'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r', -'o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', -'p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', -']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s', -' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', -',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P', -' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e', -'l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s', -'s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ', -'M','u','l','t','i','-','R','e','g','i','o','n',' ','A','c','c','e','s','s',' ','P','o','i','n','t', -' ','A','R','N','s',' ','a','r','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',', -'"','a','s','s','i','g','n','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}', -']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n', -'"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'A','r','n','"','}',',','"','p','a','r','t','i','t','i','o','n','"',']','}',']','}',']',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','.','a','c','c','e','s','s', -'p','o','i','n','t','.','s','3','-','g','l','o','b','a','l','.','{','m','r','a','p','P','a','r','t', -'i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','S','e','t','"',':','[','"','*','"',']','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s', -' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n', -' ','`','{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`',' ','b', -'u','t',' ','b','u','c','k','e','t',' ','r','e','f','e','r','r','e','d',' ','t','o',' ','p','a','r', -'t','i','t','i','o','n',' ','`','{','b','u','c','k','e','t','A','r','n','#','p','a','r','t','i','t', -'i','o','n','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i', +'d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A', +'-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`', +'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ', +'A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`', +' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d', +' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`', +'{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a', +'r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"', 't','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r', 'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','c','c','e','s','s',' ','P','o','i','n', -'t',' ','N','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', -'R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o', -'f',' ','t','h','e',' ','f','o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t', -':','<','a','c','c','e','s','s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ', -'n','o',' ','n','a','m','e',' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y', +'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R', +'N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i','n','g', +'l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a','f','t', +'e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t',' ','A','R','N', +' ','i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"',',','"','t','y', 'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e', +'d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r','m','a', +'t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s','s','p','o','i', +'n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w','a','s', +' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','A','R','N',':',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','A','R','N','s', +' ','o','n','l','y',' ','s','u','p','p','o','r','t',' ','`','a','c','c','e','s','s','p','o','i','n', +'t','`',' ','a','r','n',' ','t','y','p','e','s',',',' ','b','u','t',' ','f','o','u','n','d',':',' ', +'`','{','a','r','n','T','y','p','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n', +'T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e', -'"',']','}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t', -'s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s', -'t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"', -':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u', -'p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c', +'e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"', +']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"', +'}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i', +'n','t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a', +'b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']', +',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s', +' ','o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', '"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}', -']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o', -'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r', -'a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}',']','}',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', -'}',',','"','r','e','s','o','u','r','c','e','I','d','[','4',']','"',']','}',']','}',']',',','"','e', -'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','r','n',':',' ','O','u','t','p','o', -'s','t',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N',' ','c','o','n','t','a', -'i','n','s',' ','s','u','b',' ','r','e','s','o','u','r','c','e','s','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u', -'r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p', -'o','s','t','I','d','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s', -'t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o', -'u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i', -'o','n','"',']','}',',','"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r', -'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i', -'o','n',':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c', -'k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ', -'m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g', -'i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s', -' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}', -']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i', -'o','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a', -'r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"', -']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a', -'b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', -'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', -'}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r', -'c','e','I','d','[','2',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o', -'s','t','T','y','p','e','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', -'"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s','i', -'g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',','"', +'}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n','}','"',']','}', +']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f', +'i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ','A','R', +'N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','d','o', +'e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e','g','i','o', +'n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r','n','R','e', +'g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e', +'g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a', +'r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}', +',','"','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','"', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e', +'l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A', +'r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"', 'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','T','y','p','e','"','}',',','"', -'a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c', -'c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n', -'#','a','c','c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','{', -'u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r', +'v','i','c','e','"',']','}',',','"','s','3','"',']','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V', +'a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t', +'I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a', +'l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','f','a', +'l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A', +'c','c','e','s','s',' ','P','o','i','n','t','s',' ','d','o',' ','n','o','t',' ','s','u','p','p','o', +'r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P', +'o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o', +'u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i','p', +'s','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r','n','#','r','e', +'g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', ':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m', 'e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.', -'{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t','s','.','{', -'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}', -',','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"', +'s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i','p','s','.','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t', +'i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c', +'o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','d','u', +'a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', +'}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', 's','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r', 'n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a','n', -' ','o','u','t','p','o','s','t',' ','t','y','p','e',' ','`','a','c','c','e','s','s','p','o','i','n', -'t','`',',',' ','f','o','u','n','d',' ','{','o','u','t','p','o','s','t','T','y','p','e','}','"',',', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', +'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', +':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c', +'o','u','n','t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', +'r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', +'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a', +'m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}', +'.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','{','b','u','c','k','e','t','A','r', +'n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o', +'n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n', +'t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a', +'-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u', +'n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',', '"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', 't','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','e','x','p','e', -'c','t','e','d',' ','a','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x', -'p','e','c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o', -'u','r','c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ', +'a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a', +'i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.', +' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u', +'n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', +'R','N',':',' ','T','h','e',' ','A','R','N',' ','w','a','s',' ','n','o','t',' ','f','o','r',' ','t', +'h','e',' ','S','3',' ','s','e','r','v','i','c','e',',',' ','f','o','u','n','d',':',' ','{','b','u', +'c','k','e','t','A','r','n','#','s','e','r','v','i','c','e','}','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`', +'{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a', +'l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l', +'i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p', +'a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e', +'t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o', +'n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ', +'o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s', +'o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c', +'c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}', +',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r', +'"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', +'r','t',' ','d','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', +']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', +'r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e', +'r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P', +'o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','u', +'l','t','i','-','R','e','g','i','o','n',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A', +'R','N','s',' ','a','r','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}', +',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','p','a','r','t','i','t','i','o','n','"',']','}',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','.','a','c','c','e','s','s','p','o', +'i','n','t','.','s','3','-','g','l','o','b','a','l','.','{','m','r','a','p','P','a','r','t','i','t', +'i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','S', +'e','t','"',':','[','"','*','"',']','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c', +'o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`', +'{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`',' ','b','u','t', +' ','b','u','c','k','e','t',' ','r','e','f','e','r','r','e','d',' ','t','o',' ','p','a','r','t','i', +'t','i','o','n',' ','`','{','b','u','c','k','e','t','A','r','n','#','p','a','r','t','i','t','i','o', +'n','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','I','n','v','a','l','i','d',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ', +'N','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', 'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', '"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N', -':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y', -' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n', -'d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n', -'#','a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', -'a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c', -'k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ', -'D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t', -' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i', -'t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a', -'m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')', -' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a', -'m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m', -'a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',', -' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','o','u', -'t','p','o','s','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','A','R','N',':',' ','T','h','e',' ','O','u','t','p','o','s','t',' ','I','d',' ','w','a','s', -' ','n','o','t',' ','s','e','t','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', -' ','A','R','N',':',' ','U','n','r','e','c','o','g','n','i','z','e','d',' ','f','o','r','m','a','t', -':',' ','{','B','u','c','k','e','t','}',' ','(','t','y','p','e',':',' ','{','a','r','n','T','y','p', -'e','}',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', -' ','N','o',' ','A','R','N',' ','t','y','p','e',' ','s','p','e','c','i','f','i','e','d','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','B','u','c','k','e','t','"','}',',','0',',','4',',','f','a','l','s','e',']',',', -'"','a','s','s','i','g','n','"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','"','a','r','n', -':','"',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}',']','}',']',',', -'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','`','{','B', -'u','c','k','e','t','}','`',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','A', -'R','N','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +':',' ','E','x','p','e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ', +'t','h','e',' ','f','o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<', +'a','c','c','e','s','s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o', +' ','n','a','m','e',' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']', +'}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ', +'d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a', +'c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', 'd','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o', -'r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','e','r','r', -'o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i','n', -'g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','A','R','N', -' ','b','u','c','k','e','t','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','u','r', -'i','E','n','c','o','d','e','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','"','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}', -']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i', -'p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', -'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i', -'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e', -'t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"', +'S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p', +'o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', ',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u', -'s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_', -'b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', -'t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', -'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e', -'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', -'s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', -'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', -'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i', -'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',', +'"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s', +' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t', +'e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','s','o','u','r','c','e','I','d','[','4',']','"',']','}',']','}',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','r','n',':',' ','O','u','t','p','o','s','t', +' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N',' ','c','o','n','t','a','i','n', +'s',' ','s','u','b',' ','r','e','s','o','u','r','c','e','s','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c', +'e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s', +'t','I','d','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L', +'a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u','t', +'p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n', +'"',']','}',',','"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o', +'r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n', +':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e', +'t','A','r','n','#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a', +'t','c','h',' ','c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o', +'n','}','`',' ','a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`', +'f','a','l','s','e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.', +'p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',', +'"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n', +'"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']', +',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t', +'i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e', +'l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A', +'r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e', +'I','d','[','2',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t', +'T','y','p','e','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s','i','g','n', +'"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','T','y','p','e','"','}',',','"','a','c', +'c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e', +'s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a', +'c','c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','{','u','r', +'l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}', +'-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','o', +'u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t','s','.','{','b','u', +'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a', +'r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',',','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#', +'r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a','n',' ','o', +'u','t','p','o','s','t',' ','t','y','p','e',' ','`','a','c','c','e','s','s','p','o','i','n','t','`', +',',' ','f','o','u','n','d',' ','{','o','u','t','p','o','s','t','T','y','p','e','}','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','e','x','p','e','c','t', +'e','d',' ','a','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e', +'c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o','u','r', +'c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ', +'T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c', +'o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ', +'`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a', +'c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k','e', +'t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D','N', +'S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w', +'a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i', +'o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e', +'}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h', +'a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e', +'}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','a','y', +' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0', +'-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','o','u','t','p', +'o','s','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', +'A','R','N',':',' ','T','h','e',' ','O','u','t','p','o','s','t',' ','I','d',' ','w','a','s',' ','n', +'o','t',' ','s','e','t','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', +'R','N',':',' ','U','n','r','e','c','o','g','n','i','z','e','d',' ','f','o','r','m','a','t',':',' ', +'{','B','u','c','k','e','t','}',' ','(','t','y','p','e',':',' ','{','a','r','n','T','y','p','e','}', +')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','N', +'o',' ','A','R','N',' ','t','y','p','e',' ','s','p','e','c','i','f','i','e','d','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','B','u','c','k','e','t','"','}',',','0',',','4',',','f','a','l','s','e',']',',','"','a', +'s','s','i','g','n','"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','"','a','r','n',':','"', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}',']','}',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','`','{','B','u','c', +'k','e','t','}','`',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','A','R','N', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c', +'e','P','a','t','h','S','t','y','l','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','e','r','r','o','r', +'"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i','n','g',' ', +'c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','A','R','N',' ','b', +'u','c','k','e','t','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','u','r','i','E', +'n','c','o','d','e','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', +'c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','i','_','e','n','c', +'o','d','e','d','_','b','u','c','k','e','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.', +'p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s', +'.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{', +'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n', +'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', '"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', ':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', @@ -2337,11 +2479,35 @@ static constexpr RulesBlobT RulesBlob = {{ '"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', 'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', +'n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f', +'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-', 'e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', 'n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u', 'c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', @@ -2353,12 +2519,12 @@ static constexpr RulesBlobT RulesBlob = {{ '"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', 's','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', 'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', ',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', @@ -2366,340 +2532,365 @@ static constexpr RulesBlobT RulesBlob = {{ 'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', ',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', 't','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.', -'{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_', -'b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i', +'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e', +'t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', '}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', +'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s', +'3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', +'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', 'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', 's','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', 'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', -'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', -'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', -':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', -'n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l', -'#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e', -'d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', -'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', -'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', -'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', -'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', -'}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#', -'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d', -'P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/', -'{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e', -'a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n', -'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n', -'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d', -'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s', -'s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ', -'S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','O','b','j','e','c','t','L', -'a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t', -'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', -'"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o', -'t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', -'e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O', -'b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', -'p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', -'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', -'r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', -'r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a', +'s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k', +'e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"', '}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', '"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', ':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d', -'a','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w', -'a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']', -'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',', -'"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e', -'l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R', +'e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u', +'c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', '{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-', -'e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e', -'a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', +'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{', +'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r', +'l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t', +'y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r', +'i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', +':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', +'u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', +'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', +'e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#', +'n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d', +'e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', 't','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a', +'u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P', +'a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', +'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u', +'t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a', +'t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u', -'a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', +'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', +'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s', +'t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o', +'d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', +'n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b', +'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i', +'n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','S','3', +' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','O','b','j','e','c','t','L','a','m', +'b','d','a','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u', +'e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S', +'3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ', +'s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j', +'e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', +'r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', +'r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i', +'t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','-', +'f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', +'n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s', +' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', 't','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', 'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', 'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', @@ -2707,34 +2898,11 @@ static constexpr RulesBlobT RulesBlob = {{ '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"', 'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u', -'a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a', +'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a', 's','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', 'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', 'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', @@ -2747,110 +2915,305 @@ static constexpr RulesBlobT RulesBlob = {{ 's','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', 'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', -'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e', -'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', -'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', +'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l', +'s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', +'}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l', +'s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t', +'-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', +'1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', +',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i', +'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a', +'c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', ']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s', -'t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', +'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.', +'d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', +'o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l', +'s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', 'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', 'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', 'd','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', 'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', 'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', +'l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', +'t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', +'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-', +'e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#', +'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e', +'}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p', +'a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', -'a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s', -'3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u', +'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', '"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', 's','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', 'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', 's','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', 'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', 'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', ']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', -'d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u', -'a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s', +'-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i', 'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', @@ -2858,177 +3221,50 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', 'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s', -'s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{', -'u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e', -'a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', -'l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', -'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u', -'s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r', -'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', +'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', 'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', '"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', 'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', 'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', 'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', 'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', -'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', -'#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', -'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',', -'"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', -'o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', -'-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n', +'o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', 'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f', -'a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', -'n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s', -' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','r','e','g','i','o','n',' ','m','u', -'s','t',' ','b','e',' ','s','e','t',' ','w','h','e','n',' ','s','e','n','d','i','n','g',' ','r','e', -'q','u','e','s','t','s',' ','t','o',' ','S','3','.','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']','}','\0' +'[',']',',','"','e','r','r','o','r','"',':','"','A',' ','r','e','g','i','o','n',' ','m','u','s','t', +' ','b','e',' ','s','e','t',' ','w','h','e','n',' ','s','e','n','d','i','n','g',' ','r','e','q','u', +'e','s','t','s',' ','t','o',' ','S','3','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']','}','\0' }}; const char* S3EndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-s3/source/model/DataRedundancy.cpp b/generated/src/aws-cpp-sdk-s3/source/model/DataRedundancy.cpp index c507aa102f3..d4dd98f915f 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/DataRedundancy.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/DataRedundancy.cpp @@ -21,6 +21,7 @@ namespace Aws { static const int SingleAvailabilityZone_HASH = HashingUtils::HashString("SingleAvailabilityZone"); + static const int SingleLocalZone_HASH = HashingUtils::HashString("SingleLocalZone"); DataRedundancy GetDataRedundancyForName(const Aws::String& name) @@ -30,6 +31,10 @@ namespace Aws { return DataRedundancy::SingleAvailabilityZone; } + else if (hashCode == SingleLocalZone_HASH) + { + return DataRedundancy::SingleLocalZone; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -48,6 +53,8 @@ namespace Aws return {}; case DataRedundancy::SingleAvailabilityZone: return "SingleAvailabilityZone"; + case DataRedundancy::SingleLocalZone: + return "SingleLocalZone"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-s3/source/model/LocationType.cpp b/generated/src/aws-cpp-sdk-s3/source/model/LocationType.cpp index 97e9ab42bad..985b010f0cf 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/LocationType.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/LocationType.cpp @@ -21,6 +21,7 @@ namespace Aws { static const int AvailabilityZone_HASH = HashingUtils::HashString("AvailabilityZone"); + static const int LocalZone_HASH = HashingUtils::HashString("LocalZone"); LocationType GetLocationTypeForName(const Aws::String& name) @@ -30,6 +31,10 @@ namespace Aws { return LocationType::AvailabilityZone; } + else if (hashCode == LocalZone_HASH) + { + return LocationType::LocalZone; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -48,6 +53,8 @@ namespace Aws return {}; case LocationType::AvailabilityZone: return "AvailabilityZone"; + case LocationType::LocalZone: + return "LocalZone"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h index 29196b0ce26..6c8e56ec9b7 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h @@ -2625,11 +2625,22 @@ namespace S3Control } /** - *

            Returns a list of the access grants that were given to the caller using S3 - * Access Grants and that allow the caller to access the S3 data of the Amazon Web - * Services account specified in the request.

            Permissions
            - *

            You must have the s3:ListCallerAccessGrants permission to use - * this operation.

            See Also:

            Use this API to list the access grants that grant the caller access to Amazon + * S3 data through S3 Access Grants. The caller (grantee) can be an Identity and + * Access Management (IAM) identity or Amazon Web Services Identity Center + * corporate directory identity. You must pass the Amazon Web Services account of + * the S3 data owner (grantor) in the request. You can, optionally, narrow the + * results by GrantScope, using a fragment of the data's S3 path, and + * S3 Access Grants will return only the grants with a path that contains the path + * fragment. You can also pass the AllowedByApplication filter in the + * request, which returns only the grants authorized for applications, whether the + * application is the caller's Identity Center application or any other application + * (ALL). For more information, see List + * the caller's access grants in the Amazon S3 User Guide.

            + *
            Permissions

            You must have the + * s3:ListCallerAccessGrants permission to use this operation.

            + *

            See Also:

            AWS * API Reference

            */ diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateJobRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateJobRequest.h index 6ce73935b57..d1c8b1305ba 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateJobRequest.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateJobRequest.h @@ -75,7 +75,7 @@ namespace Model /** *

            The action that you want this job to perform on every object listed in the * manifest. For more information about the available actions, see Operations + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html">Operations * in the Amazon S3 User Guide.

            */ inline const JobOperation& GetOperation() const{ return m_operation; } diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3CopyObjectOperation.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3CopyObjectOperation.h index c678aad8876..dbe7552191b 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3CopyObjectOperation.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3CopyObjectOperation.h @@ -61,10 +61,16 @@ namespace Model * destinationBucket, set the TargetResource property to * arn:aws:s3:::destinationBucket.

          • Directory * buckets - For example, to copy objects to a directory bucket named - * destinationBucket in the Availability Zone; identified by the AZ ID + * destinationBucket in the Availability Zone identified by the AZ ID * usw2-az1, set the TargetResource property to - * arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3.

            - *
          + * arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3. + * A directory bucket as a destination bucket can be in Availability Zone or Local + * Zone.

          Copying objects across different Amazon Web Services + * Regions isn't supported when the source or destination bucket is in Amazon Web + * Services Local Zones. The source and destination buckets must have the same + * parent Amazon Web Services Region. Otherwise, you get an HTTP 400 Bad + * Request error with the error code InvalidRequest.

          + *
        */ inline const Aws::String& GetTargetResource() const{ return m_targetResource; } inline bool TargetResourceHasBeenSet() const { return m_targetResourceHasBeenSet; } @@ -219,8 +225,29 @@ namespace Model ///@{ /** - *

        This functionality is not supported by directory buckets.

        - * + *

        Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object + * encryption. If the KMS key doesn't exist in the same account that's issuing the + * command, you must use the full Key ARN not the Key ID.

        + * Directory buckets - If you specify SSEAlgorithm with + * KMS, you must specify the SSEAwsKmsKeyId parameter + * with the ID (Key ID or Key ARN) of the KMS symmetric encryption customer managed + * key to use. Otherwise, you get an HTTP 400 Bad Request error. The + * key alias format of the KMS key isn't supported. To encrypt new object copies 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). The Amazon + * Web Services managed key (aws/s3) isn't supported. Your SSE-KMS + * configuration can only support 1 customer + * managed key per directory bucket for the lifetime of the bucket. After you + * specify a customer managed key for SSE-KMS as the bucket default encryption, you + * can't override the customer managed key for the bucket's SSE-KMS configuration. + * Then, when you specify server-side encryption settings for new object copies + * with SSE-KMS, you must make sure the encryption key is the same customer managed + * key that you specified for the directory bucket's default encryption + * configuration.

        */ inline const Aws::String& GetSSEAwsKmsKeyId() const{ return m_sSEAwsKmsKeyId; } inline bool SSEAwsKmsKeyIdHasBeenSet() const { return m_sSEAwsKmsKeyIdHasBeenSet; } @@ -297,9 +324,14 @@ namespace Model * with server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting * this header to true causes Amazon S3 to use an S3 Bucket Key for * object encryption with SSE-KMS.

        Specifying this header with an - * object action doesn’t affect bucket-level settings for S3 Bucket - * Key.

        This functionality is not supported by directory buckets.

        - * + * Copy action doesn’t affect bucket-level settings for S3 Bucket + * Key.

        Directory buckets - S3 Bucket Keys aren't supported, + * when you copy SSE-KMS encrypted objects from general purpose buckets to + * directory buckets, from directory buckets to general purpose buckets, or between + * directory buckets, through the + * Copy operation in Batch Operations. In this case, Amazon S3 makes a call to + * KMS every time a copy request is made for a KMS-encrypted object.

        */ inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3ObjectMetadata.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3ObjectMetadata.h index 8132c91d123..7224875ccf3 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3ObjectMetadata.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3ObjectMetadata.h @@ -177,8 +177,16 @@ namespace Model ///@{ /** - *

        For directory buckets, only the server-side encryption with - * Amazon S3 managed keys (SSE-S3) (AES256) is supported.

        + *

        The server-side encryption algorithm used when storing objects in Amazon + * S3.

        Directory buckets - 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) (KMS). For more information, see Protecting + * data with server-side encryption in the Amazon S3 User Guide. For the + * Copy operation in Batch Operations, see S3CopyObjectOperation.

        */ inline const S3SSEAlgorithm& GetSSEAlgorithm() const{ return m_sSEAlgorithm; } inline bool SSEAlgorithmHasBeenSet() const { return m_sSEAlgorithmHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-security-ir/CMakeLists.txt b/generated/src/aws-cpp-sdk-security-ir/CMakeLists.txt new file mode 100644 index 00000000000..dd30b58a376 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-security-ir "C++ SDK for the AWS security-ir service" aws-cpp-sdk-core) + +file(GLOB AWS_SECURITY-IR_HEADERS + "include/aws/security-ir/*.h" +) + +file(GLOB AWS_SECURITY-IR_MODEL_HEADERS + "include/aws/security-ir/model/*.h" +) + +file(GLOB AWS_SECURITY-IR_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_SECURITY-IR_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB SECURITY-IR_UNIFIED_HEADERS + ${AWS_SECURITY-IR_HEADERS} + ${AWS_SECURITY-IR_MODEL_HEADERS} +) + +file(GLOB SECURITY-IR_UNITY_SRC + ${AWS_SECURITY-IR_SOURCE} + ${AWS_SECURITY-IR_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("SECURITY-IR" SECURITY-IR_UNITY_SRC) +endif() + +file(GLOB SECURITY-IR_SRC + ${SECURITY-IR_UNIFIED_HEADERS} + ${SECURITY-IR_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\security-ir" FILES ${AWS_SECURITY-IR_HEADERS}) + source_group("Header Files\\aws\\security-ir\\model" FILES ${AWS_SECURITY-IR_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_SECURITY-IR_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_SECURITY-IR_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(SECURITY-IR_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${SECURITY-IR_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_SECURITYIR_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_SECURITY-IR_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/security-ir) +install (FILES ${AWS_SECURITY-IR_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/security-ir/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClient.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClient.h new file mode 100644 index 00000000000..3c5191e724e --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClient.h @@ -0,0 +1,662 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ + /** + *

        This guide provides documents the action and response elements for customer + * use of the service.

        + */ + class AWS_SECURITYIR_API SecurityIRClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef SecurityIRClientConfiguration ClientConfigurationType; + typedef SecurityIREndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + SecurityIRClient(const Aws::SecurityIR::SecurityIRClientConfiguration& clientConfiguration = Aws::SecurityIR::SecurityIRClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + SecurityIRClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::SecurityIR::SecurityIRClientConfiguration& clientConfiguration = Aws::SecurityIR::SecurityIRClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + SecurityIRClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::SecurityIR::SecurityIRClientConfiguration& clientConfiguration = Aws::SecurityIR::SecurityIRClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + SecurityIRClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + SecurityIRClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + SecurityIRClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~SecurityIRClient(); + + /** + *

        Grants permission to view an existing membership.

        See Also:

        + * AWS + * API Reference

        + */ + virtual Model::BatchGetMemberAccountDetailsOutcome BatchGetMemberAccountDetails(const Model::BatchGetMemberAccountDetailsRequest& request) const; + + /** + * A Callable wrapper for BatchGetMemberAccountDetails that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::BatchGetMemberAccountDetailsOutcomeCallable BatchGetMemberAccountDetailsCallable(const BatchGetMemberAccountDetailsRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::BatchGetMemberAccountDetails, request); + } + + /** + * An Async wrapper for BatchGetMemberAccountDetails that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void BatchGetMemberAccountDetailsAsync(const BatchGetMemberAccountDetailsRequestT& request, const BatchGetMemberAccountDetailsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::BatchGetMemberAccountDetails, request, handler, context); + } + + /** + *

        Grants permissions to cancel an existing membership.

        See Also:

        + * AWS + * API Reference

        + */ + virtual Model::CancelMembershipOutcome CancelMembership(const Model::CancelMembershipRequest& request) const; + + /** + * A Callable wrapper for CancelMembership that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CancelMembershipOutcomeCallable CancelMembershipCallable(const CancelMembershipRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::CancelMembership, request); + } + + /** + * An Async wrapper for CancelMembership that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CancelMembershipAsync(const CancelMembershipRequestT& request, const CancelMembershipResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::CancelMembership, request, handler, context); + } + + /** + *

        Grants permission to close an existing case.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::CloseCaseOutcome CloseCase(const Model::CloseCaseRequest& request) const; + + /** + * A Callable wrapper for CloseCase that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CloseCaseOutcomeCallable CloseCaseCallable(const CloseCaseRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::CloseCase, request); + } + + /** + * An Async wrapper for CloseCase that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CloseCaseAsync(const CloseCaseRequestT& request, const CloseCaseResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::CloseCase, request, handler, context); + } + + /** + *

        Grants permission to create a new case.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::CreateCaseOutcome CreateCase(const Model::CreateCaseRequest& request) const; + + /** + * A Callable wrapper for CreateCase that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateCaseOutcomeCallable CreateCaseCallable(const CreateCaseRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::CreateCase, request); + } + + /** + * An Async wrapper for CreateCase that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateCaseAsync(const CreateCaseRequestT& request, const CreateCaseResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::CreateCase, request, handler, context); + } + + /** + *

        Grants permission to add a comment to an existing case.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::CreateCaseCommentOutcome CreateCaseComment(const Model::CreateCaseCommentRequest& request) const; + + /** + * A Callable wrapper for CreateCaseComment that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateCaseCommentOutcomeCallable CreateCaseCommentCallable(const CreateCaseCommentRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::CreateCaseComment, request); + } + + /** + * An Async wrapper for CreateCaseComment that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateCaseCommentAsync(const CreateCaseCommentRequestT& request, const CreateCaseCommentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::CreateCaseComment, request, handler, context); + } + + /** + *

        Grants permissions to create a new membership.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::CreateMembershipOutcome CreateMembership(const Model::CreateMembershipRequest& request) const; + + /** + * A Callable wrapper for CreateMembership that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateMembershipOutcomeCallable CreateMembershipCallable(const CreateMembershipRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::CreateMembership, request); + } + + /** + * An Async wrapper for CreateMembership that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateMembershipAsync(const CreateMembershipRequestT& request, const CreateMembershipResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::CreateMembership, request, handler, context); + } + + /** + *

        Grant permission to view a designated case.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetCaseOutcome GetCase(const Model::GetCaseRequest& request) const; + + /** + * A Callable wrapper for GetCase that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetCaseOutcomeCallable GetCaseCallable(const GetCaseRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::GetCase, request); + } + + /** + * An Async wrapper for GetCase that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetCaseAsync(const GetCaseRequestT& request, const GetCaseResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::GetCase, request, handler, context); + } + + /** + *

        Grants permission to obtain an Amazon S3 presigned URL to download an + * attachment.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetCaseAttachmentDownloadUrlOutcome GetCaseAttachmentDownloadUrl(const Model::GetCaseAttachmentDownloadUrlRequest& request) const; + + /** + * A Callable wrapper for GetCaseAttachmentDownloadUrl that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetCaseAttachmentDownloadUrlOutcomeCallable GetCaseAttachmentDownloadUrlCallable(const GetCaseAttachmentDownloadUrlRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::GetCaseAttachmentDownloadUrl, request); + } + + /** + * An Async wrapper for GetCaseAttachmentDownloadUrl that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetCaseAttachmentDownloadUrlAsync(const GetCaseAttachmentDownloadUrlRequestT& request, const GetCaseAttachmentDownloadUrlResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::GetCaseAttachmentDownloadUrl, request, handler, context); + } + + /** + *

        Grants permission to upload an attachment to a case.

        See Also:

        + * AWS + * API Reference

        + */ + virtual Model::GetCaseAttachmentUploadUrlOutcome GetCaseAttachmentUploadUrl(const Model::GetCaseAttachmentUploadUrlRequest& request) const; + + /** + * A Callable wrapper for GetCaseAttachmentUploadUrl that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetCaseAttachmentUploadUrlOutcomeCallable GetCaseAttachmentUploadUrlCallable(const GetCaseAttachmentUploadUrlRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::GetCaseAttachmentUploadUrl, request); + } + + /** + * An Async wrapper for GetCaseAttachmentUploadUrl that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetCaseAttachmentUploadUrlAsync(const GetCaseAttachmentUploadUrlRequestT& request, const GetCaseAttachmentUploadUrlResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::GetCaseAttachmentUploadUrl, request, handler, context); + } + + /** + *

        Grants permission to get details of a designated service + * membership.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetMembershipOutcome GetMembership(const Model::GetMembershipRequest& request) const; + + /** + * A Callable wrapper for GetMembership that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetMembershipOutcomeCallable GetMembershipCallable(const GetMembershipRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::GetMembership, request); + } + + /** + * An Async wrapper for GetMembership that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetMembershipAsync(const GetMembershipRequestT& request, const GetMembershipResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::GetMembership, request, handler, context); + } + + /** + *

        Grants permissions to view the aidt log for edits made to a designated + * case.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListCaseEditsOutcome ListCaseEdits(const Model::ListCaseEditsRequest& request) const; + + /** + * A Callable wrapper for ListCaseEdits that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListCaseEditsOutcomeCallable ListCaseEditsCallable(const ListCaseEditsRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::ListCaseEdits, request); + } + + /** + * An Async wrapper for ListCaseEdits that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListCaseEditsAsync(const ListCaseEditsRequestT& request, const ListCaseEditsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::ListCaseEdits, request, handler, context); + } + + /** + *

        Grants permission to list all cases the requester has access + * to.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListCasesOutcome ListCases(const Model::ListCasesRequest& request = {}) const; + + /** + * A Callable wrapper for ListCases that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListCasesOutcomeCallable ListCasesCallable(const ListCasesRequestT& request = {}) const + { + return SubmitCallable(&SecurityIRClient::ListCases, request); + } + + /** + * An Async wrapper for ListCases that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListCasesAsync(const ListCasesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListCasesRequestT& request = {}) const + { + return SubmitAsync(&SecurityIRClient::ListCases, request, handler, context); + } + + /** + *

        Grants permissions to list and view comments for a designated + * case.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListCommentsOutcome ListComments(const Model::ListCommentsRequest& request) const; + + /** + * A Callable wrapper for ListComments that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListCommentsOutcomeCallable ListCommentsCallable(const ListCommentsRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::ListComments, request); + } + + /** + * An Async wrapper for ListComments that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListCommentsAsync(const ListCommentsRequestT& request, const ListCommentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::ListComments, request, handler, context); + } + + /** + *

        Grants permission to query the memberships a principal has access + * to.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListMembershipsOutcome ListMemberships(const Model::ListMembershipsRequest& request = {}) const; + + /** + * A Callable wrapper for ListMemberships that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListMembershipsOutcomeCallable ListMembershipsCallable(const ListMembershipsRequestT& request = {}) const + { + return SubmitCallable(&SecurityIRClient::ListMemberships, request); + } + + /** + * An Async wrapper for ListMemberships that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListMembershipsAsync(const ListMembershipsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListMembershipsRequestT& request = {}) const + { + return SubmitAsync(&SecurityIRClient::ListMemberships, request, handler, context); + } + + /** + *

        Grants permission to view currently configured tags on a + * resource.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::ListTagsForResource, request, handler, context); + } + + /** + *

        Grants permission to add a tag(s) to a designated resource.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::TagResource, request, handler, context); + } + + /** + *

        Grants permission to remove a tag(s) from a designate resource.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::UntagResource, request, handler, context); + } + + /** + *

        Grants permission to update an existing case.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateCaseOutcome UpdateCase(const Model::UpdateCaseRequest& request) const; + + /** + * A Callable wrapper for UpdateCase that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateCaseOutcomeCallable UpdateCaseCallable(const UpdateCaseRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::UpdateCase, request); + } + + /** + * An Async wrapper for UpdateCase that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateCaseAsync(const UpdateCaseRequestT& request, const UpdateCaseResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::UpdateCase, request, handler, context); + } + + /** + *

        Grants permission to update an existing case comment.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateCaseCommentOutcome UpdateCaseComment(const Model::UpdateCaseCommentRequest& request) const; + + /** + * A Callable wrapper for UpdateCaseComment that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateCaseCommentOutcomeCallable UpdateCaseCommentCallable(const UpdateCaseCommentRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::UpdateCaseComment, request); + } + + /** + * An Async wrapper for UpdateCaseComment that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateCaseCommentAsync(const UpdateCaseCommentRequestT& request, const UpdateCaseCommentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::UpdateCaseComment, request, handler, context); + } + + /** + *

        Grants permission to update the status for a designated cases. Options + * include Submitted | Detection and Analysis | Eradication, Containment and + * Recovery | Post-Incident Activities | Closed.

        See Also:

        + * AWS + * API Reference

        + */ + virtual Model::UpdateCaseStatusOutcome UpdateCaseStatus(const Model::UpdateCaseStatusRequest& request) const; + + /** + * A Callable wrapper for UpdateCaseStatus that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateCaseStatusOutcomeCallable UpdateCaseStatusCallable(const UpdateCaseStatusRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::UpdateCaseStatus, request); + } + + /** + * An Async wrapper for UpdateCaseStatus that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateCaseStatusAsync(const UpdateCaseStatusRequestT& request, const UpdateCaseStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::UpdateCaseStatus, request, handler, context); + } + + /** + *

        Grants access to UpdateMembership to change membership + * configuration.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateMembershipOutcome UpdateMembership(const Model::UpdateMembershipRequest& request) const; + + /** + * A Callable wrapper for UpdateMembership that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateMembershipOutcomeCallable UpdateMembershipCallable(const UpdateMembershipRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::UpdateMembership, request); + } + + /** + * An Async wrapper for UpdateMembership that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateMembershipAsync(const UpdateMembershipRequestT& request, const UpdateMembershipResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::UpdateMembership, request, handler, context); + } + + /** + *

        Grants permission to update the resolver type for a case.

        + *

        This is a one-way action and cannot be reversed.

        Options + * include self-supported > AWS-supported.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateResolverTypeOutcome UpdateResolverType(const Model::UpdateResolverTypeRequest& request) const; + + /** + * A Callable wrapper for UpdateResolverType that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateResolverTypeOutcomeCallable UpdateResolverTypeCallable(const UpdateResolverTypeRequestT& request) const + { + return SubmitCallable(&SecurityIRClient::UpdateResolverType, request); + } + + /** + * An Async wrapper for UpdateResolverType that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateResolverTypeAsync(const UpdateResolverTypeRequestT& request, const UpdateResolverTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityIRClient::UpdateResolverType, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const SecurityIRClientConfiguration& clientConfiguration); + + SecurityIRClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointProvider.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointProvider.h new file mode 100644 index 00000000000..50ed39d1315 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace SecurityIR +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using SecurityIRClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using SecurityIRClientConfiguration = Aws::Client::GenericClientConfiguration; +using SecurityIRBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the SecurityIR Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using SecurityIREndpointProviderBase = + EndpointProviderBase; + +using SecurityIRDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_SECURITYIR_API SecurityIREndpointProvider : public SecurityIRDefaultEpProviderBase +{ +public: + using SecurityIRResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + SecurityIREndpointProvider() + : SecurityIRDefaultEpProviderBase(Aws::SecurityIR::SecurityIREndpointRules::GetRulesBlob(), Aws::SecurityIR::SecurityIREndpointRules::RulesBlobSize) + {} + + ~SecurityIREndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointRules.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointRules.h new file mode 100644 index 00000000000..a792fc6e1e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +class SecurityIREndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRErrorMarshaller.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRErrorMarshaller.h new file mode 100644 index 00000000000..571b6ef2c36 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_SECURITYIR_API SecurityIRErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRErrors.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRErrors.h new file mode 100644 index 00000000000..5385154d6f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRErrors.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +enum class SecurityIRErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL_SERVER, + INVALID_TOKEN, + SECURITY_INCIDENT_RESPONSE_NOT_ACTIVE, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_SECURITYIR_API SecurityIRError : public Aws::Client::AWSError +{ +public: + SecurityIRError() {} + SecurityIRError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + SecurityIRError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + SecurityIRError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + SecurityIRError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace SecurityIRErrorMapper +{ + AWS_SECURITYIR_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRRequest.h new file mode 100644 index 00000000000..34987c3d8b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ + class AWS_SECURITYIR_API SecurityIRRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~SecurityIRRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::JSON_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2018-05-10")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRServiceClientModel.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRServiceClientModel.h new file mode 100644 index 00000000000..f1b896d0644 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRServiceClientModel.h @@ -0,0 +1,187 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in SecurityIRClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in SecurityIRClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace SecurityIR + { + using SecurityIRClientConfiguration = Aws::Client::GenericClientConfiguration; + using SecurityIREndpointProviderBase = Aws::SecurityIR::Endpoint::SecurityIREndpointProviderBase; + using SecurityIREndpointProvider = Aws::SecurityIR::Endpoint::SecurityIREndpointProvider; + + namespace Model + { + /* Service model forward declarations required in SecurityIRClient header */ + class BatchGetMemberAccountDetailsRequest; + class CancelMembershipRequest; + class CloseCaseRequest; + class CreateCaseRequest; + class CreateCaseCommentRequest; + class CreateMembershipRequest; + class GetCaseRequest; + class GetCaseAttachmentDownloadUrlRequest; + class GetCaseAttachmentUploadUrlRequest; + class GetMembershipRequest; + class ListCaseEditsRequest; + class ListCasesRequest; + class ListCommentsRequest; + class ListMembershipsRequest; + class ListTagsForResourceRequest; + class TagResourceRequest; + class UntagResourceRequest; + class UpdateCaseRequest; + class UpdateCaseCommentRequest; + class UpdateCaseStatusRequest; + class UpdateMembershipRequest; + class UpdateResolverTypeRequest; + /* End of service model forward declarations required in SecurityIRClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome BatchGetMemberAccountDetailsOutcome; + typedef Aws::Utils::Outcome CancelMembershipOutcome; + typedef Aws::Utils::Outcome CloseCaseOutcome; + typedef Aws::Utils::Outcome CreateCaseOutcome; + typedef Aws::Utils::Outcome CreateCaseCommentOutcome; + typedef Aws::Utils::Outcome CreateMembershipOutcome; + typedef Aws::Utils::Outcome GetCaseOutcome; + typedef Aws::Utils::Outcome GetCaseAttachmentDownloadUrlOutcome; + typedef Aws::Utils::Outcome GetCaseAttachmentUploadUrlOutcome; + typedef Aws::Utils::Outcome GetMembershipOutcome; + typedef Aws::Utils::Outcome ListCaseEditsOutcome; + typedef Aws::Utils::Outcome ListCasesOutcome; + typedef Aws::Utils::Outcome ListCommentsOutcome; + typedef Aws::Utils::Outcome ListMembershipsOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateCaseOutcome; + typedef Aws::Utils::Outcome UpdateCaseCommentOutcome; + typedef Aws::Utils::Outcome UpdateCaseStatusOutcome; + typedef Aws::Utils::Outcome UpdateMembershipOutcome; + typedef Aws::Utils::Outcome UpdateResolverTypeOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future BatchGetMemberAccountDetailsOutcomeCallable; + typedef std::future CancelMembershipOutcomeCallable; + typedef std::future CloseCaseOutcomeCallable; + typedef std::future CreateCaseOutcomeCallable; + typedef std::future CreateCaseCommentOutcomeCallable; + typedef std::future CreateMembershipOutcomeCallable; + typedef std::future GetCaseOutcomeCallable; + typedef std::future GetCaseAttachmentDownloadUrlOutcomeCallable; + typedef std::future GetCaseAttachmentUploadUrlOutcomeCallable; + typedef std::future GetMembershipOutcomeCallable; + typedef std::future ListCaseEditsOutcomeCallable; + typedef std::future ListCasesOutcomeCallable; + typedef std::future ListCommentsOutcomeCallable; + typedef std::future ListMembershipsOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateCaseOutcomeCallable; + typedef std::future UpdateCaseCommentOutcomeCallable; + typedef std::future UpdateCaseStatusOutcomeCallable; + typedef std::future UpdateMembershipOutcomeCallable; + typedef std::future UpdateResolverTypeOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class SecurityIRClient; + + /* Service model async handlers definitions */ + typedef std::function&) > BatchGetMemberAccountDetailsResponseReceivedHandler; + typedef std::function&) > CancelMembershipResponseReceivedHandler; + typedef std::function&) > CloseCaseResponseReceivedHandler; + typedef std::function&) > CreateCaseResponseReceivedHandler; + typedef std::function&) > CreateCaseCommentResponseReceivedHandler; + typedef std::function&) > CreateMembershipResponseReceivedHandler; + typedef std::function&) > GetCaseResponseReceivedHandler; + typedef std::function&) > GetCaseAttachmentDownloadUrlResponseReceivedHandler; + typedef std::function&) > GetCaseAttachmentUploadUrlResponseReceivedHandler; + typedef std::function&) > GetMembershipResponseReceivedHandler; + typedef std::function&) > ListCaseEditsResponseReceivedHandler; + typedef std::function&) > ListCasesResponseReceivedHandler; + typedef std::function&) > ListCommentsResponseReceivedHandler; + typedef std::function&) > ListMembershipsResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateCaseResponseReceivedHandler; + typedef std::function&) > UpdateCaseCommentResponseReceivedHandler; + typedef std::function&) > UpdateCaseStatusResponseReceivedHandler; + typedef std::function&) > UpdateMembershipResponseReceivedHandler; + typedef std::function&) > UpdateResolverTypeResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIR_EXPORTS.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIR_EXPORTS.h new file mode 100644 index 00000000000..2aaa424ba8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIR_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_SECURITYIR_EXPORTS + #define AWS_SECURITYIR_API __declspec(dllexport) + #else + #define AWS_SECURITYIR_API __declspec(dllimport) + #endif /* AWS_SECURITYIR_EXPORTS */ + #define AWS_SECURITYIR_EXTERN + #else + #define AWS_SECURITYIR_API + #define AWS_SECURITYIR_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_SECURITYIR_API + #define AWS_SECURITYIR_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/AwsRegion.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/AwsRegion.h new file mode 100644 index 00000000000..ec7b8d292d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/AwsRegion.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class AwsRegion + { + NOT_SET, + af_south_1, + ap_east_1, + 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_4, + ap_southeast_5, + ca_central_1, + ca_west_1, + cn_north_1, + cn_northwest_1, + eu_central_1, + eu_central_2, + eu_north_1, + eu_south_1, + eu_south_2, + eu_west_1, + eu_west_2, + eu_west_3, + il_central_1, + me_central_1, + me_south_1, + sa_east_1, + us_east_1, + us_east_2, + us_west_1, + us_west_2 + }; + +namespace AwsRegionMapper +{ +AWS_SECURITYIR_API AwsRegion GetAwsRegionForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForAwsRegion(AwsRegion value); +} // namespace AwsRegionMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/BatchGetMemberAccountDetailsRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/BatchGetMemberAccountDetailsRequest.h new file mode 100644 index 00000000000..c4ecbc195d8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/BatchGetMemberAccountDetailsRequest.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class BatchGetMemberAccountDetailsRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API BatchGetMemberAccountDetailsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "BatchGetMemberAccountDetails"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element used in combination with BatchGetMemberAccountDetails to + * identify the membership ID to query.

        + */ + inline const Aws::String& GetMembershipId() const{ return m_membershipId; } + inline bool MembershipIdHasBeenSet() const { return m_membershipIdHasBeenSet; } + inline void SetMembershipId(const Aws::String& value) { m_membershipIdHasBeenSet = true; m_membershipId = value; } + inline void SetMembershipId(Aws::String&& value) { m_membershipIdHasBeenSet = true; m_membershipId = std::move(value); } + inline void SetMembershipId(const char* value) { m_membershipIdHasBeenSet = true; m_membershipId.assign(value); } + inline BatchGetMemberAccountDetailsRequest& WithMembershipId(const Aws::String& value) { SetMembershipId(value); return *this;} + inline BatchGetMemberAccountDetailsRequest& WithMembershipId(Aws::String&& value) { SetMembershipId(std::move(value)); return *this;} + inline BatchGetMemberAccountDetailsRequest& WithMembershipId(const char* value) { SetMembershipId(value); return *this;} + ///@} + + ///@{ + /** + *

        Optional element to query the membership relationship status to a provided + * list of account IDs.

        + */ + inline const Aws::Vector& GetAccountIds() const{ return m_accountIds; } + inline bool AccountIdsHasBeenSet() const { return m_accountIdsHasBeenSet; } + inline void SetAccountIds(const Aws::Vector& value) { m_accountIdsHasBeenSet = true; m_accountIds = value; } + inline void SetAccountIds(Aws::Vector&& value) { m_accountIdsHasBeenSet = true; m_accountIds = std::move(value); } + inline BatchGetMemberAccountDetailsRequest& WithAccountIds(const Aws::Vector& value) { SetAccountIds(value); return *this;} + inline BatchGetMemberAccountDetailsRequest& WithAccountIds(Aws::Vector&& value) { SetAccountIds(std::move(value)); return *this;} + inline BatchGetMemberAccountDetailsRequest& AddAccountIds(const Aws::String& value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(value); return *this; } + inline BatchGetMemberAccountDetailsRequest& AddAccountIds(Aws::String&& value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(std::move(value)); return *this; } + inline BatchGetMemberAccountDetailsRequest& AddAccountIds(const char* value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(value); return *this; } + ///@} + private: + + Aws::String m_membershipId; + bool m_membershipIdHasBeenSet = false; + + Aws::Vector m_accountIds; + bool m_accountIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/BatchGetMemberAccountDetailsResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/BatchGetMemberAccountDetailsResult.h new file mode 100644 index 00000000000..d45a9f68a37 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/BatchGetMemberAccountDetailsResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class BatchGetMemberAccountDetailsResult + { + public: + AWS_SECURITYIR_API BatchGetMemberAccountDetailsResult(); + AWS_SECURITYIR_API BatchGetMemberAccountDetailsResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API BatchGetMemberAccountDetailsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The response element providing responses for requests to + * GetMembershipAccountDetails.

        + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline void SetItems(const Aws::Vector& value) { m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + inline BatchGetMemberAccountDetailsResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline BatchGetMemberAccountDetailsResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline BatchGetMemberAccountDetailsResult& AddItems(const GetMembershipAccountDetailItem& value) { m_items.push_back(value); return *this; } + inline BatchGetMemberAccountDetailsResult& AddItems(GetMembershipAccountDetailItem&& value) { m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The response element providing errors messages for requests to + * GetMembershipAccountDetails.

        + */ + inline const Aws::Vector& GetErrors() const{ return m_errors; } + inline void SetErrors(const Aws::Vector& value) { m_errors = value; } + inline void SetErrors(Aws::Vector&& value) { m_errors = std::move(value); } + inline BatchGetMemberAccountDetailsResult& WithErrors(const Aws::Vector& value) { SetErrors(value); return *this;} + inline BatchGetMemberAccountDetailsResult& WithErrors(Aws::Vector&& value) { SetErrors(std::move(value)); return *this;} + inline BatchGetMemberAccountDetailsResult& AddErrors(const GetMembershipAccountDetailError& value) { m_errors.push_back(value); return *this; } + inline BatchGetMemberAccountDetailsResult& AddErrors(GetMembershipAccountDetailError&& value) { m_errors.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline BatchGetMemberAccountDetailsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline BatchGetMemberAccountDetailsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline BatchGetMemberAccountDetailsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_items; + + Aws::Vector m_errors; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CancelMembershipRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CancelMembershipRequest.h new file mode 100644 index 00000000000..b0dc30c8b66 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CancelMembershipRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class CancelMembershipRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API CancelMembershipRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CancelMembership"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element used in combination with CancelMembershipRequest to identify + * the membership ID to cancel.

        + */ + inline const Aws::String& GetMembershipId() const{ return m_membershipId; } + inline bool MembershipIdHasBeenSet() const { return m_membershipIdHasBeenSet; } + inline void SetMembershipId(const Aws::String& value) { m_membershipIdHasBeenSet = true; m_membershipId = value; } + inline void SetMembershipId(Aws::String&& value) { m_membershipIdHasBeenSet = true; m_membershipId = std::move(value); } + inline void SetMembershipId(const char* value) { m_membershipIdHasBeenSet = true; m_membershipId.assign(value); } + inline CancelMembershipRequest& WithMembershipId(const Aws::String& value) { SetMembershipId(value); return *this;} + inline CancelMembershipRequest& WithMembershipId(Aws::String&& value) { SetMembershipId(std::move(value)); return *this;} + inline CancelMembershipRequest& WithMembershipId(const char* value) { SetMembershipId(value); return *this;} + ///@} + private: + + Aws::String m_membershipId; + bool m_membershipIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CancelMembershipResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CancelMembershipResult.h new file mode 100644 index 00000000000..24abb8b41a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CancelMembershipResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class CancelMembershipResult + { + public: + AWS_SECURITYIR_API CancelMembershipResult(); + AWS_SECURITYIR_API CancelMembershipResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API CancelMembershipResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The response element providing responses for requests to + * CancelMembershipRequest.

        + */ + inline const Aws::String& GetMembershipId() const{ return m_membershipId; } + inline void SetMembershipId(const Aws::String& value) { m_membershipId = value; } + inline void SetMembershipId(Aws::String&& value) { m_membershipId = std::move(value); } + inline void SetMembershipId(const char* value) { m_membershipId.assign(value); } + inline CancelMembershipResult& WithMembershipId(const Aws::String& value) { SetMembershipId(value); return *this;} + inline CancelMembershipResult& WithMembershipId(Aws::String&& value) { SetMembershipId(std::move(value)); return *this;} + inline CancelMembershipResult& WithMembershipId(const char* value) { SetMembershipId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CancelMembershipResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CancelMembershipResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CancelMembershipResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_membershipId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseAttachmentAttributes.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseAttachmentAttributes.h new file mode 100644 index 00000000000..0df77af4209 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseAttachmentAttributes.h @@ -0,0 +1,127 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class CaseAttachmentAttributes + { + public: + AWS_SECURITYIR_API CaseAttachmentAttributes(); + AWS_SECURITYIR_API CaseAttachmentAttributes(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API CaseAttachmentAttributes& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const Aws::String& GetAttachmentId() const{ return m_attachmentId; } + inline bool AttachmentIdHasBeenSet() const { return m_attachmentIdHasBeenSet; } + inline void SetAttachmentId(const Aws::String& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = value; } + inline void SetAttachmentId(Aws::String&& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = std::move(value); } + inline void SetAttachmentId(const char* value) { m_attachmentIdHasBeenSet = true; m_attachmentId.assign(value); } + inline CaseAttachmentAttributes& WithAttachmentId(const Aws::String& value) { SetAttachmentId(value); return *this;} + inline CaseAttachmentAttributes& WithAttachmentId(Aws::String&& value) { SetAttachmentId(std::move(value)); return *this;} + inline CaseAttachmentAttributes& WithAttachmentId(const char* value) { SetAttachmentId(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetFileName() const{ return m_fileName; } + inline bool FileNameHasBeenSet() const { return m_fileNameHasBeenSet; } + inline void SetFileName(const Aws::String& value) { m_fileNameHasBeenSet = true; m_fileName = value; } + inline void SetFileName(Aws::String&& value) { m_fileNameHasBeenSet = true; m_fileName = std::move(value); } + inline void SetFileName(const char* value) { m_fileNameHasBeenSet = true; m_fileName.assign(value); } + inline CaseAttachmentAttributes& WithFileName(const Aws::String& value) { SetFileName(value); return *this;} + inline CaseAttachmentAttributes& WithFileName(Aws::String&& value) { SetFileName(std::move(value)); return *this;} + inline CaseAttachmentAttributes& WithFileName(const char* value) { SetFileName(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const CaseAttachmentStatus& GetAttachmentStatus() const{ return m_attachmentStatus; } + inline bool AttachmentStatusHasBeenSet() const { return m_attachmentStatusHasBeenSet; } + inline void SetAttachmentStatus(const CaseAttachmentStatus& value) { m_attachmentStatusHasBeenSet = true; m_attachmentStatus = value; } + inline void SetAttachmentStatus(CaseAttachmentStatus&& value) { m_attachmentStatusHasBeenSet = true; m_attachmentStatus = std::move(value); } + inline CaseAttachmentAttributes& WithAttachmentStatus(const CaseAttachmentStatus& value) { SetAttachmentStatus(value); return *this;} + inline CaseAttachmentAttributes& WithAttachmentStatus(CaseAttachmentStatus&& value) { SetAttachmentStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetCreator() const{ return m_creator; } + inline bool CreatorHasBeenSet() const { return m_creatorHasBeenSet; } + inline void SetCreator(const Aws::String& value) { m_creatorHasBeenSet = true; m_creator = value; } + inline void SetCreator(Aws::String&& value) { m_creatorHasBeenSet = true; m_creator = std::move(value); } + inline void SetCreator(const char* value) { m_creatorHasBeenSet = true; m_creator.assign(value); } + inline CaseAttachmentAttributes& WithCreator(const Aws::String& value) { SetCreator(value); return *this;} + inline CaseAttachmentAttributes& WithCreator(Aws::String&& value) { SetCreator(std::move(value)); return *this;} + inline CaseAttachmentAttributes& WithCreator(const char* value) { SetCreator(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } + inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } + inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } + inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } + inline CaseAttachmentAttributes& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} + inline CaseAttachmentAttributes& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_attachmentId; + bool m_attachmentIdHasBeenSet = false; + + Aws::String m_fileName; + bool m_fileNameHasBeenSet = false; + + CaseAttachmentStatus m_attachmentStatus; + bool m_attachmentStatusHasBeenSet = false; + + Aws::String m_creator; + bool m_creatorHasBeenSet = false; + + Aws::Utils::DateTime m_createdDate; + bool m_createdDateHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseAttachmentStatus.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseAttachmentStatus.h new file mode 100644 index 00000000000..faf7b086c7f --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseAttachmentStatus.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class CaseAttachmentStatus + { + NOT_SET, + Verified, + Failed, + Pending + }; + +namespace CaseAttachmentStatusMapper +{ +AWS_SECURITYIR_API CaseAttachmentStatus GetCaseAttachmentStatusForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForCaseAttachmentStatus(CaseAttachmentStatus value); +} // namespace CaseAttachmentStatusMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseEditItem.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseEditItem.h new file mode 100644 index 00000000000..631c54c9ce9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseEditItem.h @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class CaseEditItem + { + public: + AWS_SECURITYIR_API CaseEditItem(); + AWS_SECURITYIR_API CaseEditItem(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API CaseEditItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const Aws::Utils::DateTime& GetEventTimestamp() const{ return m_eventTimestamp; } + inline bool EventTimestampHasBeenSet() const { return m_eventTimestampHasBeenSet; } + inline void SetEventTimestamp(const Aws::Utils::DateTime& value) { m_eventTimestampHasBeenSet = true; m_eventTimestamp = value; } + inline void SetEventTimestamp(Aws::Utils::DateTime&& value) { m_eventTimestampHasBeenSet = true; m_eventTimestamp = std::move(value); } + inline CaseEditItem& WithEventTimestamp(const Aws::Utils::DateTime& value) { SetEventTimestamp(value); return *this;} + inline CaseEditItem& WithEventTimestamp(Aws::Utils::DateTime&& value) { SetEventTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetPrincipal() const{ return m_principal; } + inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; } + inline void SetPrincipal(const Aws::String& value) { m_principalHasBeenSet = true; m_principal = value; } + inline void SetPrincipal(Aws::String&& value) { m_principalHasBeenSet = true; m_principal = std::move(value); } + inline void SetPrincipal(const char* value) { m_principalHasBeenSet = true; m_principal.assign(value); } + inline CaseEditItem& WithPrincipal(const Aws::String& value) { SetPrincipal(value); return *this;} + inline CaseEditItem& WithPrincipal(Aws::String&& value) { SetPrincipal(std::move(value)); return *this;} + inline CaseEditItem& WithPrincipal(const char* value) { SetPrincipal(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetAction() const{ return m_action; } + inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } + inline void SetAction(const Aws::String& value) { m_actionHasBeenSet = true; m_action = value; } + inline void SetAction(Aws::String&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } + inline void SetAction(const char* value) { m_actionHasBeenSet = true; m_action.assign(value); } + inline CaseEditItem& WithAction(const Aws::String& value) { SetAction(value); return *this;} + inline CaseEditItem& WithAction(Aws::String&& value) { SetAction(std::move(value)); return *this;} + inline CaseEditItem& WithAction(const char* value) { SetAction(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline CaseEditItem& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline CaseEditItem& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline CaseEditItem& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_eventTimestamp; + bool m_eventTimestampHasBeenSet = false; + + Aws::String m_principal; + bool m_principalHasBeenSet = false; + + Aws::String m_action; + bool m_actionHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseStatus.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseStatus.h new file mode 100644 index 00000000000..2ec99e01eab --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CaseStatus.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class CaseStatus + { + NOT_SET, + Submitted, + Acknowledged, + Detection_and_Analysis, + Containment_COMMA_Eradication_and_Recovery, + Post_incident_Activities, + Ready_to_Close, + Closed + }; + +namespace CaseStatusMapper +{ +AWS_SECURITYIR_API CaseStatus GetCaseStatusForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForCaseStatus(CaseStatus value); +} // namespace CaseStatusMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CloseCaseRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CloseCaseRequest.h new file mode 100644 index 00000000000..8ca0ebebac4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CloseCaseRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class CloseCaseRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API CloseCaseRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CloseCase"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element used in combination with CloseCase to identify the case ID + * to close.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline CloseCaseRequest& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline CloseCaseRequest& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline CloseCaseRequest& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + private: + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CloseCaseResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CloseCaseResult.h new file mode 100644 index 00000000000..797789ec088 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CloseCaseResult.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class CloseCaseResult + { + public: + AWS_SECURITYIR_API CloseCaseResult(); + AWS_SECURITYIR_API CloseCaseResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API CloseCaseResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        A response element providing responses for requests to CloseCase. This + * element responds with the case status following the action.

        + */ + inline const CaseStatus& GetCaseStatus() const{ return m_caseStatus; } + inline void SetCaseStatus(const CaseStatus& value) { m_caseStatus = value; } + inline void SetCaseStatus(CaseStatus&& value) { m_caseStatus = std::move(value); } + inline CloseCaseResult& WithCaseStatus(const CaseStatus& value) { SetCaseStatus(value); return *this;} + inline CloseCaseResult& WithCaseStatus(CaseStatus&& value) { SetCaseStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        A response element providing responses for requests to CloseCase. This + * element responds with the case closure date following the action.

        + */ + inline const Aws::Utils::DateTime& GetClosedDate() const{ return m_closedDate; } + inline void SetClosedDate(const Aws::Utils::DateTime& value) { m_closedDate = value; } + inline void SetClosedDate(Aws::Utils::DateTime&& value) { m_closedDate = std::move(value); } + inline CloseCaseResult& WithClosedDate(const Aws::Utils::DateTime& value) { SetClosedDate(value); return *this;} + inline CloseCaseResult& WithClosedDate(Aws::Utils::DateTime&& value) { SetClosedDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CloseCaseResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CloseCaseResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CloseCaseResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + CaseStatus m_caseStatus; + + Aws::Utils::DateTime m_closedDate; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ClosureCode.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ClosureCode.h new file mode 100644 index 00000000000..4ed60b1bbc3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ClosureCode.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class ClosureCode + { + NOT_SET, + Investigation_Completed, + Not_Resolved, + False_Positive, + Duplicate + }; + +namespace ClosureCodeMapper +{ +AWS_SECURITYIR_API ClosureCode GetClosureCodeForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForClosureCode(ClosureCode value); +} // namespace ClosureCodeMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ConflictException.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ConflictException.h new file mode 100644 index 00000000000..370fd1e4282 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ConflictException.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class ConflictException + { + public: + AWS_SECURITYIR_API ConflictException(); + AWS_SECURITYIR_API ConflictException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API ConflictException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ConflictException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ConflictException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ConflictException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

        Element providing the ID of the resource affected.

        + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + inline ConflictException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + inline ConflictException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + inline ConflictException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + ///@} + + ///@{ + /** + *

        Element providing the type of the resource affected.

        + */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + inline ConflictException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + inline ConflictException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + inline ConflictException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseCommentRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseCommentRequest.h new file mode 100644 index 00000000000..e80353f206b --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseCommentRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class CreateCaseCommentRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API CreateCaseCommentRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateCaseComment"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element used in combination with CreateCaseComment to specify a case + * ID.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline CreateCaseCommentRequest& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline CreateCaseCommentRequest& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline CreateCaseCommentRequest& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + + ///@{ + /** + *

        An optional element used in combination with CreateCaseComment.

        + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateCaseCommentRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateCaseCommentRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateCaseCommentRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element used in combination with CreateCaseComment to add content + * for the new comment.

        + */ + inline const Aws::String& GetRequestBody() const{ return m_requestBody; } + inline bool RequestBodyHasBeenSet() const { return m_requestBodyHasBeenSet; } + inline void SetRequestBody(const Aws::String& value) { m_requestBodyHasBeenSet = true; m_requestBody = value; } + inline void SetRequestBody(Aws::String&& value) { m_requestBodyHasBeenSet = true; m_requestBody = std::move(value); } + inline void SetRequestBody(const char* value) { m_requestBodyHasBeenSet = true; m_requestBody.assign(value); } + inline CreateCaseCommentRequest& WithRequestBody(const Aws::String& value) { SetRequestBody(value); return *this;} + inline CreateCaseCommentRequest& WithRequestBody(Aws::String&& value) { SetRequestBody(std::move(value)); return *this;} + inline CreateCaseCommentRequest& WithRequestBody(const char* value) { SetRequestBody(value); return *this;} + ///@} + private: + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::String m_requestBody; + bool m_requestBodyHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseCommentResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseCommentResult.h new file mode 100644 index 00000000000..440557fd24a --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseCommentResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class CreateCaseCommentResult + { + public: + AWS_SECURITYIR_API CreateCaseCommentResult(); + AWS_SECURITYIR_API CreateCaseCommentResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API CreateCaseCommentResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Response element indicating the new comment ID.

        + */ + inline const Aws::String& GetCommentId() const{ return m_commentId; } + inline void SetCommentId(const Aws::String& value) { m_commentId = value; } + inline void SetCommentId(Aws::String&& value) { m_commentId = std::move(value); } + inline void SetCommentId(const char* value) { m_commentId.assign(value); } + inline CreateCaseCommentResult& WithCommentId(const Aws::String& value) { SetCommentId(value); return *this;} + inline CreateCaseCommentResult& WithCommentId(Aws::String&& value) { SetCommentId(std::move(value)); return *this;} + inline CreateCaseCommentResult& WithCommentId(const char* value) { SetCommentId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateCaseCommentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateCaseCommentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateCaseCommentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_commentId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseRequest.h new file mode 100644 index 00000000000..cf6e9f9f3b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseRequest.h @@ -0,0 +1,266 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class CreateCaseRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API CreateCaseRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateCase"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element used in combination with CreateCase.

        + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateCaseRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateCaseRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateCaseRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element used in combination with CreateCase to identify the resolver + * type. Available resolvers include self-supported | aws-supported.

        + */ + inline const ResolverType& GetResolverType() const{ return m_resolverType; } + inline bool ResolverTypeHasBeenSet() const { return m_resolverTypeHasBeenSet; } + inline void SetResolverType(const ResolverType& value) { m_resolverTypeHasBeenSet = true; m_resolverType = value; } + inline void SetResolverType(ResolverType&& value) { m_resolverTypeHasBeenSet = true; m_resolverType = std::move(value); } + inline CreateCaseRequest& WithResolverType(const ResolverType& value) { SetResolverType(value); return *this;} + inline CreateCaseRequest& WithResolverType(ResolverType&& value) { SetResolverType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Required element used in combination with CreateCase to provide a title for + * the new case.

        + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline CreateCaseRequest& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline CreateCaseRequest& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline CreateCaseRequest& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element used in combination with CreateCase to provide a description + * for the new case.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline CreateCaseRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline CreateCaseRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline CreateCaseRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element used in combination with CreateCase to provide an engagement + * type for the new cases. Available engagement types include Security Incident | + * Investigation

        + */ + inline const EngagementType& GetEngagementType() const{ return m_engagementType; } + inline bool EngagementTypeHasBeenSet() const { return m_engagementTypeHasBeenSet; } + inline void SetEngagementType(const EngagementType& value) { m_engagementTypeHasBeenSet = true; m_engagementType = value; } + inline void SetEngagementType(EngagementType&& value) { m_engagementTypeHasBeenSet = true; m_engagementType = std::move(value); } + inline CreateCaseRequest& WithEngagementType(const EngagementType& value) { SetEngagementType(value); return *this;} + inline CreateCaseRequest& WithEngagementType(EngagementType&& value) { SetEngagementType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Required element used in combination with CreateCase to provide an initial + * start date for the unauthorized activity.

        + */ + inline const Aws::Utils::DateTime& GetReportedIncidentStartDate() const{ return m_reportedIncidentStartDate; } + inline bool ReportedIncidentStartDateHasBeenSet() const { return m_reportedIncidentStartDateHasBeenSet; } + inline void SetReportedIncidentStartDate(const Aws::Utils::DateTime& value) { m_reportedIncidentStartDateHasBeenSet = true; m_reportedIncidentStartDate = value; } + inline void SetReportedIncidentStartDate(Aws::Utils::DateTime&& value) { m_reportedIncidentStartDateHasBeenSet = true; m_reportedIncidentStartDate = std::move(value); } + inline CreateCaseRequest& WithReportedIncidentStartDate(const Aws::Utils::DateTime& value) { SetReportedIncidentStartDate(value); return *this;} + inline CreateCaseRequest& WithReportedIncidentStartDate(Aws::Utils::DateTime&& value) { SetReportedIncidentStartDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Required element used in combination with CreateCase to provide a list of + * impacted accounts.

        + */ + inline const Aws::Vector& GetImpactedAccounts() const{ return m_impactedAccounts; } + inline bool ImpactedAccountsHasBeenSet() const { return m_impactedAccountsHasBeenSet; } + inline void SetImpactedAccounts(const Aws::Vector& value) { m_impactedAccountsHasBeenSet = true; m_impactedAccounts = value; } + inline void SetImpactedAccounts(Aws::Vector&& value) { m_impactedAccountsHasBeenSet = true; m_impactedAccounts = std::move(value); } + inline CreateCaseRequest& WithImpactedAccounts(const Aws::Vector& value) { SetImpactedAccounts(value); return *this;} + inline CreateCaseRequest& WithImpactedAccounts(Aws::Vector&& value) { SetImpactedAccounts(std::move(value)); return *this;} + inline CreateCaseRequest& AddImpactedAccounts(const Aws::String& value) { m_impactedAccountsHasBeenSet = true; m_impactedAccounts.push_back(value); return *this; } + inline CreateCaseRequest& AddImpactedAccounts(Aws::String&& value) { m_impactedAccountsHasBeenSet = true; m_impactedAccounts.push_back(std::move(value)); return *this; } + inline CreateCaseRequest& AddImpactedAccounts(const char* value) { m_impactedAccountsHasBeenSet = true; m_impactedAccounts.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Required element used in combination with CreateCase to provide a list of + * entities to receive notifications for case updates.

        + */ + inline const Aws::Vector& GetWatchers() const{ return m_watchers; } + inline bool WatchersHasBeenSet() const { return m_watchersHasBeenSet; } + inline void SetWatchers(const Aws::Vector& value) { m_watchersHasBeenSet = true; m_watchers = value; } + inline void SetWatchers(Aws::Vector&& value) { m_watchersHasBeenSet = true; m_watchers = std::move(value); } + inline CreateCaseRequest& WithWatchers(const Aws::Vector& value) { SetWatchers(value); return *this;} + inline CreateCaseRequest& WithWatchers(Aws::Vector&& value) { SetWatchers(std::move(value)); return *this;} + inline CreateCaseRequest& AddWatchers(const Watcher& value) { m_watchersHasBeenSet = true; m_watchers.push_back(value); return *this; } + inline CreateCaseRequest& AddWatchers(Watcher&& value) { m_watchersHasBeenSet = true; m_watchers.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        An optional element used in combination with CreateCase to provide a list of + * suspicious internet protocol addresses associated with unauthorized activity. + *

        + */ + inline const Aws::Vector& GetThreatActorIpAddresses() const{ return m_threatActorIpAddresses; } + inline bool ThreatActorIpAddressesHasBeenSet() const { return m_threatActorIpAddressesHasBeenSet; } + inline void SetThreatActorIpAddresses(const Aws::Vector& value) { m_threatActorIpAddressesHasBeenSet = true; m_threatActorIpAddresses = value; } + inline void SetThreatActorIpAddresses(Aws::Vector&& value) { m_threatActorIpAddressesHasBeenSet = true; m_threatActorIpAddresses = std::move(value); } + inline CreateCaseRequest& WithThreatActorIpAddresses(const Aws::Vector& value) { SetThreatActorIpAddresses(value); return *this;} + inline CreateCaseRequest& WithThreatActorIpAddresses(Aws::Vector&& value) { SetThreatActorIpAddresses(std::move(value)); return *this;} + inline CreateCaseRequest& AddThreatActorIpAddresses(const ThreatActorIp& value) { m_threatActorIpAddressesHasBeenSet = true; m_threatActorIpAddresses.push_back(value); return *this; } + inline CreateCaseRequest& AddThreatActorIpAddresses(ThreatActorIp&& value) { m_threatActorIpAddressesHasBeenSet = true; m_threatActorIpAddresses.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        An optional element used in combination with CreateCase to provide a list of + * services impacted.

        + */ + inline const Aws::Vector& GetImpactedServices() const{ return m_impactedServices; } + inline bool ImpactedServicesHasBeenSet() const { return m_impactedServicesHasBeenSet; } + inline void SetImpactedServices(const Aws::Vector& value) { m_impactedServicesHasBeenSet = true; m_impactedServices = value; } + inline void SetImpactedServices(Aws::Vector&& value) { m_impactedServicesHasBeenSet = true; m_impactedServices = std::move(value); } + inline CreateCaseRequest& WithImpactedServices(const Aws::Vector& value) { SetImpactedServices(value); return *this;} + inline CreateCaseRequest& WithImpactedServices(Aws::Vector&& value) { SetImpactedServices(std::move(value)); return *this;} + inline CreateCaseRequest& AddImpactedServices(const Aws::String& value) { m_impactedServicesHasBeenSet = true; m_impactedServices.push_back(value); return *this; } + inline CreateCaseRequest& AddImpactedServices(Aws::String&& value) { m_impactedServicesHasBeenSet = true; m_impactedServices.push_back(std::move(value)); return *this; } + inline CreateCaseRequest& AddImpactedServices(const char* value) { m_impactedServicesHasBeenSet = true; m_impactedServices.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        An optional element used in combination with CreateCase to provide a list of + * impacted regions.

        + */ + inline const Aws::Vector& GetImpactedAwsRegions() const{ return m_impactedAwsRegions; } + inline bool ImpactedAwsRegionsHasBeenSet() const { return m_impactedAwsRegionsHasBeenSet; } + inline void SetImpactedAwsRegions(const Aws::Vector& value) { m_impactedAwsRegionsHasBeenSet = true; m_impactedAwsRegions = value; } + inline void SetImpactedAwsRegions(Aws::Vector&& value) { m_impactedAwsRegionsHasBeenSet = true; m_impactedAwsRegions = std::move(value); } + inline CreateCaseRequest& WithImpactedAwsRegions(const Aws::Vector& value) { SetImpactedAwsRegions(value); return *this;} + inline CreateCaseRequest& WithImpactedAwsRegions(Aws::Vector&& value) { SetImpactedAwsRegions(std::move(value)); return *this;} + inline CreateCaseRequest& AddImpactedAwsRegions(const ImpactedAwsRegion& value) { m_impactedAwsRegionsHasBeenSet = true; m_impactedAwsRegions.push_back(value); return *this; } + inline CreateCaseRequest& AddImpactedAwsRegions(ImpactedAwsRegion&& value) { m_impactedAwsRegionsHasBeenSet = true; m_impactedAwsRegions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        An optional element used in combination with CreateCase to add customer + * specified tags to a case.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateCaseRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateCaseRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateCaseRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateCaseRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateCaseRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateCaseRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateCaseRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateCaseRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateCaseRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + ResolverType m_resolverType; + bool m_resolverTypeHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + EngagementType m_engagementType; + bool m_engagementTypeHasBeenSet = false; + + Aws::Utils::DateTime m_reportedIncidentStartDate; + bool m_reportedIncidentStartDateHasBeenSet = false; + + Aws::Vector m_impactedAccounts; + bool m_impactedAccountsHasBeenSet = false; + + Aws::Vector m_watchers; + bool m_watchersHasBeenSet = false; + + Aws::Vector m_threatActorIpAddresses; + bool m_threatActorIpAddressesHasBeenSet = false; + + Aws::Vector m_impactedServices; + bool m_impactedServicesHasBeenSet = false; + + Aws::Vector m_impactedAwsRegions; + bool m_impactedAwsRegionsHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseResult.h new file mode 100644 index 00000000000..a7cff3f85d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateCaseResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class CreateCaseResult + { + public: + AWS_SECURITYIR_API CreateCaseResult(); + AWS_SECURITYIR_API CreateCaseResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API CreateCaseResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        A response element providing responses for requests to CreateCase. This + * element responds with the case ID.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline void SetCaseId(const Aws::String& value) { m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseId.assign(value); } + inline CreateCaseResult& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline CreateCaseResult& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline CreateCaseResult& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateCaseResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateCaseResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateCaseResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_caseId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateMembershipRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateMembershipRequest.h new file mode 100644 index 00000000000..0e4b51f8a76 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateMembershipRequest.h @@ -0,0 +1,137 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class CreateMembershipRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API CreateMembershipRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateMembership"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        An optional element used in combination with CreateMembership.

        + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateMembershipRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateMembershipRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateMembershipRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element use in combination with CreateMembership to create a name + * for the membership.

        + */ + inline const Aws::String& GetMembershipName() const{ return m_membershipName; } + inline bool MembershipNameHasBeenSet() const { return m_membershipNameHasBeenSet; } + inline void SetMembershipName(const Aws::String& value) { m_membershipNameHasBeenSet = true; m_membershipName = value; } + inline void SetMembershipName(Aws::String&& value) { m_membershipNameHasBeenSet = true; m_membershipName = std::move(value); } + inline void SetMembershipName(const char* value) { m_membershipNameHasBeenSet = true; m_membershipName.assign(value); } + inline CreateMembershipRequest& WithMembershipName(const Aws::String& value) { SetMembershipName(value); return *this;} + inline CreateMembershipRequest& WithMembershipName(Aws::String&& value) { SetMembershipName(std::move(value)); return *this;} + inline CreateMembershipRequest& WithMembershipName(const char* value) { SetMembershipName(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element use in combination with CreateMembership to add customer + * incident response team members and trusted partners to the membership.

        + */ + inline const Aws::Vector& GetIncidentResponseTeam() const{ return m_incidentResponseTeam; } + inline bool IncidentResponseTeamHasBeenSet() const { return m_incidentResponseTeamHasBeenSet; } + inline void SetIncidentResponseTeam(const Aws::Vector& value) { m_incidentResponseTeamHasBeenSet = true; m_incidentResponseTeam = value; } + inline void SetIncidentResponseTeam(Aws::Vector&& value) { m_incidentResponseTeamHasBeenSet = true; m_incidentResponseTeam = std::move(value); } + inline CreateMembershipRequest& WithIncidentResponseTeam(const Aws::Vector& value) { SetIncidentResponseTeam(value); return *this;} + inline CreateMembershipRequest& WithIncidentResponseTeam(Aws::Vector&& value) { SetIncidentResponseTeam(std::move(value)); return *this;} + inline CreateMembershipRequest& AddIncidentResponseTeam(const IncidentResponder& value) { m_incidentResponseTeamHasBeenSet = true; m_incidentResponseTeam.push_back(value); return *this; } + inline CreateMembershipRequest& AddIncidentResponseTeam(IncidentResponder&& value) { m_incidentResponseTeamHasBeenSet = true; m_incidentResponseTeam.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Optional element to enable the monitoring and investigation opt-in features + * for the service.

        + */ + inline const Aws::Vector& GetOptInFeatures() const{ return m_optInFeatures; } + inline bool OptInFeaturesHasBeenSet() const { return m_optInFeaturesHasBeenSet; } + inline void SetOptInFeatures(const Aws::Vector& value) { m_optInFeaturesHasBeenSet = true; m_optInFeatures = value; } + inline void SetOptInFeatures(Aws::Vector&& value) { m_optInFeaturesHasBeenSet = true; m_optInFeatures = std::move(value); } + inline CreateMembershipRequest& WithOptInFeatures(const Aws::Vector& value) { SetOptInFeatures(value); return *this;} + inline CreateMembershipRequest& WithOptInFeatures(Aws::Vector&& value) { SetOptInFeatures(std::move(value)); return *this;} + inline CreateMembershipRequest& AddOptInFeatures(const OptInFeature& value) { m_optInFeaturesHasBeenSet = true; m_optInFeatures.push_back(value); return *this; } + inline CreateMembershipRequest& AddOptInFeatures(OptInFeature&& value) { m_optInFeaturesHasBeenSet = true; m_optInFeatures.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Optional element for customer configured tags.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateMembershipRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateMembershipRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateMembershipRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateMembershipRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateMembershipRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateMembershipRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateMembershipRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateMembershipRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateMembershipRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::String m_membershipName; + bool m_membershipNameHasBeenSet = false; + + Aws::Vector m_incidentResponseTeam; + bool m_incidentResponseTeamHasBeenSet = false; + + Aws::Vector m_optInFeatures; + bool m_optInFeaturesHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateMembershipResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateMembershipResult.h new file mode 100644 index 00000000000..5fd96d47a93 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CreateMembershipResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class CreateMembershipResult + { + public: + AWS_SECURITYIR_API CreateMembershipResult(); + AWS_SECURITYIR_API CreateMembershipResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API CreateMembershipResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Response element for CreateMembership providing the newly created membership + * ID.

        + */ + inline const Aws::String& GetMembershipId() const{ return m_membershipId; } + inline void SetMembershipId(const Aws::String& value) { m_membershipId = value; } + inline void SetMembershipId(Aws::String&& value) { m_membershipId = std::move(value); } + inline void SetMembershipId(const char* value) { m_membershipId.assign(value); } + inline CreateMembershipResult& WithMembershipId(const Aws::String& value) { SetMembershipId(value); return *this;} + inline CreateMembershipResult& WithMembershipId(Aws::String&& value) { SetMembershipId(std::move(value)); return *this;} + inline CreateMembershipResult& WithMembershipId(const char* value) { SetMembershipId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateMembershipResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateMembershipResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateMembershipResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_membershipId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CustomerType.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CustomerType.h new file mode 100644 index 00000000000..843f658cda5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/CustomerType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class CustomerType + { + NOT_SET, + Standalone, + Organization + }; + +namespace CustomerTypeMapper +{ +AWS_SECURITYIR_API CustomerType GetCustomerTypeForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForCustomerType(CustomerType value); +} // namespace CustomerTypeMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/EngagementType.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/EngagementType.h new file mode 100644 index 00000000000..edb79538e82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/EngagementType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class EngagementType + { + NOT_SET, + Security_Incident, + Investigation + }; + +namespace EngagementTypeMapper +{ +AWS_SECURITYIR_API EngagementType GetEngagementTypeForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForEngagementType(EngagementType value); +} // namespace EngagementTypeMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentDownloadUrlRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentDownloadUrlRequest.h new file mode 100644 index 00000000000..580714a88b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentDownloadUrlRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class GetCaseAttachmentDownloadUrlRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API GetCaseAttachmentDownloadUrlRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetCaseAttachmentDownloadUrl"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element for GetCaseAttachmentDownloadUrl to identify the case ID for + * downloading an attachment from.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline GetCaseAttachmentDownloadUrlRequest& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline GetCaseAttachmentDownloadUrlRequest& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline GetCaseAttachmentDownloadUrlRequest& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element for GetCaseAttachmentDownloadUrl to identify the attachment + * ID for downloading an attachment.

        + */ + inline const Aws::String& GetAttachmentId() const{ return m_attachmentId; } + inline bool AttachmentIdHasBeenSet() const { return m_attachmentIdHasBeenSet; } + inline void SetAttachmentId(const Aws::String& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = value; } + inline void SetAttachmentId(Aws::String&& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = std::move(value); } + inline void SetAttachmentId(const char* value) { m_attachmentIdHasBeenSet = true; m_attachmentId.assign(value); } + inline GetCaseAttachmentDownloadUrlRequest& WithAttachmentId(const Aws::String& value) { SetAttachmentId(value); return *this;} + inline GetCaseAttachmentDownloadUrlRequest& WithAttachmentId(Aws::String&& value) { SetAttachmentId(std::move(value)); return *this;} + inline GetCaseAttachmentDownloadUrlRequest& WithAttachmentId(const char* value) { SetAttachmentId(value); return *this;} + ///@} + private: + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + + Aws::String m_attachmentId; + bool m_attachmentIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentDownloadUrlResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentDownloadUrlResult.h new file mode 100644 index 00000000000..b12ca6c5a49 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentDownloadUrlResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class GetCaseAttachmentDownloadUrlResult + { + public: + AWS_SECURITYIR_API GetCaseAttachmentDownloadUrlResult(); + AWS_SECURITYIR_API GetCaseAttachmentDownloadUrlResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API GetCaseAttachmentDownloadUrlResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Response element providing the Amazon S3 presigned URL to download an + * attachment.

        + */ + inline const Aws::String& GetAttachmentPresignedUrl() const{ return m_attachmentPresignedUrl; } + inline void SetAttachmentPresignedUrl(const Aws::String& value) { m_attachmentPresignedUrl = value; } + inline void SetAttachmentPresignedUrl(Aws::String&& value) { m_attachmentPresignedUrl = std::move(value); } + inline void SetAttachmentPresignedUrl(const char* value) { m_attachmentPresignedUrl.assign(value); } + inline GetCaseAttachmentDownloadUrlResult& WithAttachmentPresignedUrl(const Aws::String& value) { SetAttachmentPresignedUrl(value); return *this;} + inline GetCaseAttachmentDownloadUrlResult& WithAttachmentPresignedUrl(Aws::String&& value) { SetAttachmentPresignedUrl(std::move(value)); return *this;} + inline GetCaseAttachmentDownloadUrlResult& WithAttachmentPresignedUrl(const char* value) { SetAttachmentPresignedUrl(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetCaseAttachmentDownloadUrlResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetCaseAttachmentDownloadUrlResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetCaseAttachmentDownloadUrlResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_attachmentPresignedUrl; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentUploadUrlRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentUploadUrlRequest.h new file mode 100644 index 00000000000..de5aaba2e78 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentUploadUrlRequest.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class GetCaseAttachmentUploadUrlRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API GetCaseAttachmentUploadUrlRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetCaseAttachmentUploadUrl"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element for GetCaseAttachmentUploadUrl to identify the case ID for + * uploading an attachment to.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline GetCaseAttachmentUploadUrlRequest& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline GetCaseAttachmentUploadUrlRequest& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline GetCaseAttachmentUploadUrlRequest& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element for GetCaseAttachmentUploadUrl to identify the file name of + * the attachment to upload.

        + */ + inline const Aws::String& GetFileName() const{ return m_fileName; } + inline bool FileNameHasBeenSet() const { return m_fileNameHasBeenSet; } + inline void SetFileName(const Aws::String& value) { m_fileNameHasBeenSet = true; m_fileName = value; } + inline void SetFileName(Aws::String&& value) { m_fileNameHasBeenSet = true; m_fileName = std::move(value); } + inline void SetFileName(const char* value) { m_fileNameHasBeenSet = true; m_fileName.assign(value); } + inline GetCaseAttachmentUploadUrlRequest& WithFileName(const Aws::String& value) { SetFileName(value); return *this;} + inline GetCaseAttachmentUploadUrlRequest& WithFileName(Aws::String&& value) { SetFileName(std::move(value)); return *this;} + inline GetCaseAttachmentUploadUrlRequest& WithFileName(const char* value) { SetFileName(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element for GetCaseAttachmentUploadUrl to identify the size od the + * file attachment.

        + */ + inline long long GetContentLength() const{ return m_contentLength; } + inline bool ContentLengthHasBeenSet() const { return m_contentLengthHasBeenSet; } + inline void SetContentLength(long long value) { m_contentLengthHasBeenSet = true; m_contentLength = value; } + inline GetCaseAttachmentUploadUrlRequest& WithContentLength(long long value) { SetContentLength(value); return *this;} + ///@} + + ///@{ + /** + *

        Optional element for customer provided token.

        + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline GetCaseAttachmentUploadUrlRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline GetCaseAttachmentUploadUrlRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline GetCaseAttachmentUploadUrlRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + private: + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + + Aws::String m_fileName; + bool m_fileNameHasBeenSet = false; + + long long m_contentLength; + bool m_contentLengthHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentUploadUrlResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentUploadUrlResult.h new file mode 100644 index 00000000000..8c38436bb07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseAttachmentUploadUrlResult.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class GetCaseAttachmentUploadUrlResult + { + public: + AWS_SECURITYIR_API GetCaseAttachmentUploadUrlResult(); + AWS_SECURITYIR_API GetCaseAttachmentUploadUrlResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API GetCaseAttachmentUploadUrlResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Response element providing the Amazon S3 presigned UTL to upload the + * attachment.

        + */ + inline const Aws::String& GetAttachmentPresignedUrl() const{ return m_attachmentPresignedUrl; } + inline void SetAttachmentPresignedUrl(const Aws::String& value) { m_attachmentPresignedUrl = value; } + inline void SetAttachmentPresignedUrl(Aws::String&& value) { m_attachmentPresignedUrl = std::move(value); } + inline void SetAttachmentPresignedUrl(const char* value) { m_attachmentPresignedUrl.assign(value); } + inline GetCaseAttachmentUploadUrlResult& WithAttachmentPresignedUrl(const Aws::String& value) { SetAttachmentPresignedUrl(value); return *this;} + inline GetCaseAttachmentUploadUrlResult& WithAttachmentPresignedUrl(Aws::String&& value) { SetAttachmentPresignedUrl(std::move(value)); return *this;} + inline GetCaseAttachmentUploadUrlResult& WithAttachmentPresignedUrl(const char* value) { SetAttachmentPresignedUrl(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetCaseAttachmentUploadUrlResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetCaseAttachmentUploadUrlResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetCaseAttachmentUploadUrlResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_attachmentPresignedUrl; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseRequest.h new file mode 100644 index 00000000000..be5798b07e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class GetCaseRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API GetCaseRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetCase"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element for GetCase to identify the requested case ID.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline GetCaseRequest& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline GetCaseRequest& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline GetCaseRequest& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + private: + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseResult.h new file mode 100644 index 00000000000..a0b5ab80fea --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetCaseResult.h @@ -0,0 +1,344 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class GetCaseResult + { + public: + AWS_SECURITYIR_API GetCaseResult(); + AWS_SECURITYIR_API GetCaseResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API GetCaseResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Response element for GetCase that provides the case title.

        + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline void SetTitle(const Aws::String& value) { m_title = value; } + inline void SetTitle(Aws::String&& value) { m_title = std::move(value); } + inline void SetTitle(const char* value) { m_title.assign(value); } + inline GetCaseResult& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline GetCaseResult& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline GetCaseResult& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides the case ARN

        + */ + inline const Aws::String& GetCaseArn() const{ return m_caseArn; } + inline void SetCaseArn(const Aws::String& value) { m_caseArn = value; } + inline void SetCaseArn(Aws::String&& value) { m_caseArn = std::move(value); } + inline void SetCaseArn(const char* value) { m_caseArn.assign(value); } + inline GetCaseResult& WithCaseArn(const Aws::String& value) { SetCaseArn(value); return *this;} + inline GetCaseResult& WithCaseArn(Aws::String&& value) { SetCaseArn(std::move(value)); return *this;} + inline GetCaseResult& WithCaseArn(const char* value) { SetCaseArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides contents of the case + * description.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline void SetDescription(const Aws::String& value) { m_description = value; } + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + inline void SetDescription(const char* value) { m_description.assign(value); } + inline GetCaseResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline GetCaseResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline GetCaseResult& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides the case status. Options for + * statuses include Submitted | Detection and Analysis | Eradication, + * Containment and Recovery | Post-Incident Activities | Closed

        + */ + inline const CaseStatus& GetCaseStatus() const{ return m_caseStatus; } + inline void SetCaseStatus(const CaseStatus& value) { m_caseStatus = value; } + inline void SetCaseStatus(CaseStatus&& value) { m_caseStatus = std::move(value); } + inline GetCaseResult& WithCaseStatus(const CaseStatus& value) { SetCaseStatus(value); return *this;} + inline GetCaseResult& WithCaseStatus(CaseStatus&& value) { SetCaseStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides the engagement type. Options for + * engagement type include Active Security Event | Investigations

        + */ + inline const EngagementType& GetEngagementType() const{ return m_engagementType; } + inline void SetEngagementType(const EngagementType& value) { m_engagementType = value; } + inline void SetEngagementType(EngagementType&& value) { m_engagementType = std::move(value); } + inline GetCaseResult& WithEngagementType(const EngagementType& value) { SetEngagementType(value); return *this;} + inline GetCaseResult& WithEngagementType(EngagementType&& value) { SetEngagementType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides the customer provided incident + * start date.

        + */ + inline const Aws::Utils::DateTime& GetReportedIncidentStartDate() const{ return m_reportedIncidentStartDate; } + inline void SetReportedIncidentStartDate(const Aws::Utils::DateTime& value) { m_reportedIncidentStartDate = value; } + inline void SetReportedIncidentStartDate(Aws::Utils::DateTime&& value) { m_reportedIncidentStartDate = std::move(value); } + inline GetCaseResult& WithReportedIncidentStartDate(const Aws::Utils::DateTime& value) { SetReportedIncidentStartDate(value); return *this;} + inline GetCaseResult& WithReportedIncidentStartDate(Aws::Utils::DateTime&& value) { SetReportedIncidentStartDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides the actual incident start date as + * identified by data analysis during the investigation.

        + */ + inline const Aws::Utils::DateTime& GetActualIncidentStartDate() const{ return m_actualIncidentStartDate; } + inline void SetActualIncidentStartDate(const Aws::Utils::DateTime& value) { m_actualIncidentStartDate = value; } + inline void SetActualIncidentStartDate(Aws::Utils::DateTime&& value) { m_actualIncidentStartDate = std::move(value); } + inline GetCaseResult& WithActualIncidentStartDate(const Aws::Utils::DateTime& value) { SetActualIncidentStartDate(value); return *this;} + inline GetCaseResult& WithActualIncidentStartDate(Aws::Utils::DateTime&& value) { SetActualIncidentStartDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides the impacted regions.

        + */ + inline const Aws::Vector& GetImpactedAwsRegions() const{ return m_impactedAwsRegions; } + inline void SetImpactedAwsRegions(const Aws::Vector& value) { m_impactedAwsRegions = value; } + inline void SetImpactedAwsRegions(Aws::Vector&& value) { m_impactedAwsRegions = std::move(value); } + inline GetCaseResult& WithImpactedAwsRegions(const Aws::Vector& value) { SetImpactedAwsRegions(value); return *this;} + inline GetCaseResult& WithImpactedAwsRegions(Aws::Vector&& value) { SetImpactedAwsRegions(std::move(value)); return *this;} + inline GetCaseResult& AddImpactedAwsRegions(const ImpactedAwsRegion& value) { m_impactedAwsRegions.push_back(value); return *this; } + inline GetCaseResult& AddImpactedAwsRegions(ImpactedAwsRegion&& value) { m_impactedAwsRegions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides a list of suspicious IP addresses + * associated with unauthorized activity.

        + */ + inline const Aws::Vector& GetThreatActorIpAddresses() const{ return m_threatActorIpAddresses; } + inline void SetThreatActorIpAddresses(const Aws::Vector& value) { m_threatActorIpAddresses = value; } + inline void SetThreatActorIpAddresses(Aws::Vector&& value) { m_threatActorIpAddresses = std::move(value); } + inline GetCaseResult& WithThreatActorIpAddresses(const Aws::Vector& value) { SetThreatActorIpAddresses(value); return *this;} + inline GetCaseResult& WithThreatActorIpAddresses(Aws::Vector&& value) { SetThreatActorIpAddresses(std::move(value)); return *this;} + inline GetCaseResult& AddThreatActorIpAddresses(const ThreatActorIp& value) { m_threatActorIpAddresses.push_back(value); return *this; } + inline GetCaseResult& AddThreatActorIpAddresses(ThreatActorIp&& value) { m_threatActorIpAddresses.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides identifies the case is waiting on + * customer input.

        + */ + inline const PendingAction& GetPendingAction() const{ return m_pendingAction; } + inline void SetPendingAction(const PendingAction& value) { m_pendingAction = value; } + inline void SetPendingAction(PendingAction&& value) { m_pendingAction = std::move(value); } + inline GetCaseResult& WithPendingAction(const PendingAction& value) { SetPendingAction(value); return *this;} + inline GetCaseResult& WithPendingAction(PendingAction&& value) { SetPendingAction(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides a list of impacted accounts.

        + */ + inline const Aws::Vector& GetImpactedAccounts() const{ return m_impactedAccounts; } + inline void SetImpactedAccounts(const Aws::Vector& value) { m_impactedAccounts = value; } + inline void SetImpactedAccounts(Aws::Vector&& value) { m_impactedAccounts = std::move(value); } + inline GetCaseResult& WithImpactedAccounts(const Aws::Vector& value) { SetImpactedAccounts(value); return *this;} + inline GetCaseResult& WithImpactedAccounts(Aws::Vector&& value) { SetImpactedAccounts(std::move(value)); return *this;} + inline GetCaseResult& AddImpactedAccounts(const Aws::String& value) { m_impactedAccounts.push_back(value); return *this; } + inline GetCaseResult& AddImpactedAccounts(Aws::String&& value) { m_impactedAccounts.push_back(std::move(value)); return *this; } + inline GetCaseResult& AddImpactedAccounts(const char* value) { m_impactedAccounts.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides a list of Watchers added to the + * case.

        + */ + inline const Aws::Vector& GetWatchers() const{ return m_watchers; } + inline void SetWatchers(const Aws::Vector& value) { m_watchers = value; } + inline void SetWatchers(Aws::Vector&& value) { m_watchers = std::move(value); } + inline GetCaseResult& WithWatchers(const Aws::Vector& value) { SetWatchers(value); return *this;} + inline GetCaseResult& WithWatchers(Aws::Vector&& value) { SetWatchers(std::move(value)); return *this;} + inline GetCaseResult& AddWatchers(const Watcher& value) { m_watchers.push_back(value); return *this; } + inline GetCaseResult& AddWatchers(Watcher&& value) { m_watchers.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides the date the case was created.

        + */ + inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } + inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; } + inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); } + inline GetCaseResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} + inline GetCaseResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides the date a case was last + * modified.

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; } + inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDate = value; } + inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDate = std::move(value); } + inline GetCaseResult& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;} + inline GetCaseResult& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides the summary code for why a case + * was closed.

        + */ + inline const ClosureCode& GetClosureCode() const{ return m_closureCode; } + inline void SetClosureCode(const ClosureCode& value) { m_closureCode = value; } + inline void SetClosureCode(ClosureCode&& value) { m_closureCode = std::move(value); } + inline GetCaseResult& WithClosureCode(const ClosureCode& value) { SetClosureCode(value); return *this;} + inline GetCaseResult& WithClosureCode(ClosureCode&& value) { SetClosureCode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides the current resolver types. + * Options include self-supported | AWS-supported.

        + */ + inline const ResolverType& GetResolverType() const{ return m_resolverType; } + inline void SetResolverType(const ResolverType& value) { m_resolverType = value; } + inline void SetResolverType(ResolverType&& value) { m_resolverType = std::move(value); } + inline GetCaseResult& WithResolverType(const ResolverType& value) { SetResolverType(value); return *this;} + inline GetCaseResult& WithResolverType(ResolverType&& value) { SetResolverType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides a list of impacted services.

        + */ + inline const Aws::Vector& GetImpactedServices() const{ return m_impactedServices; } + inline void SetImpactedServices(const Aws::Vector& value) { m_impactedServices = value; } + inline void SetImpactedServices(Aws::Vector&& value) { m_impactedServices = std::move(value); } + inline GetCaseResult& WithImpactedServices(const Aws::Vector& value) { SetImpactedServices(value); return *this;} + inline GetCaseResult& WithImpactedServices(Aws::Vector&& value) { SetImpactedServices(std::move(value)); return *this;} + inline GetCaseResult& AddImpactedServices(const Aws::String& value) { m_impactedServices.push_back(value); return *this; } + inline GetCaseResult& AddImpactedServices(Aws::String&& value) { m_impactedServices.push_back(std::move(value)); return *this; } + inline GetCaseResult& AddImpactedServices(const char* value) { m_impactedServices.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides a list of current case + * attachments.

        + */ + inline const Aws::Vector& GetCaseAttachments() const{ return m_caseAttachments; } + inline void SetCaseAttachments(const Aws::Vector& value) { m_caseAttachments = value; } + inline void SetCaseAttachments(Aws::Vector&& value) { m_caseAttachments = std::move(value); } + inline GetCaseResult& WithCaseAttachments(const Aws::Vector& value) { SetCaseAttachments(value); return *this;} + inline GetCaseResult& WithCaseAttachments(Aws::Vector&& value) { SetCaseAttachments(std::move(value)); return *this;} + inline GetCaseResult& AddCaseAttachments(const CaseAttachmentAttributes& value) { m_caseAttachments.push_back(value); return *this; } + inline GetCaseResult& AddCaseAttachments(CaseAttachmentAttributes&& value) { m_caseAttachments.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Response element for GetCase that provides the date a specified case was + * closed.

        + */ + inline const Aws::Utils::DateTime& GetClosedDate() const{ return m_closedDate; } + inline void SetClosedDate(const Aws::Utils::DateTime& value) { m_closedDate = value; } + inline void SetClosedDate(Aws::Utils::DateTime&& value) { m_closedDate = std::move(value); } + inline GetCaseResult& WithClosedDate(const Aws::Utils::DateTime& value) { SetClosedDate(value); return *this;} + inline GetCaseResult& WithClosedDate(Aws::Utils::DateTime&& value) { SetClosedDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetCaseResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetCaseResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetCaseResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_title; + + Aws::String m_caseArn; + + Aws::String m_description; + + CaseStatus m_caseStatus; + + EngagementType m_engagementType; + + Aws::Utils::DateTime m_reportedIncidentStartDate; + + Aws::Utils::DateTime m_actualIncidentStartDate; + + Aws::Vector m_impactedAwsRegions; + + Aws::Vector m_threatActorIpAddresses; + + PendingAction m_pendingAction; + + Aws::Vector m_impactedAccounts; + + Aws::Vector m_watchers; + + Aws::Utils::DateTime m_createdDate; + + Aws::Utils::DateTime m_lastUpdatedDate; + + ClosureCode m_closureCode; + + ResolverType m_resolverType; + + Aws::Vector m_impactedServices; + + Aws::Vector m_caseAttachments; + + Aws::Utils::DateTime m_closedDate; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipAccountDetailError.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipAccountDetailError.h new file mode 100644 index 00000000000..e2dd3d88c3c --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipAccountDetailError.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class GetMembershipAccountDetailError + { + public: + AWS_SECURITYIR_API GetMembershipAccountDetailError(); + AWS_SECURITYIR_API GetMembershipAccountDetailError(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API GetMembershipAccountDetailError& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + inline GetMembershipAccountDetailError& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + inline GetMembershipAccountDetailError& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + inline GetMembershipAccountDetailError& WithAccountId(const char* value) { SetAccountId(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetError() const{ return m_error; } + inline bool ErrorHasBeenSet() const { return m_errorHasBeenSet; } + inline void SetError(const Aws::String& value) { m_errorHasBeenSet = true; m_error = value; } + inline void SetError(Aws::String&& value) { m_errorHasBeenSet = true; m_error = std::move(value); } + inline void SetError(const char* value) { m_errorHasBeenSet = true; m_error.assign(value); } + inline GetMembershipAccountDetailError& WithError(const Aws::String& value) { SetError(value); return *this;} + inline GetMembershipAccountDetailError& WithError(Aws::String&& value) { SetError(std::move(value)); return *this;} + inline GetMembershipAccountDetailError& WithError(const char* value) { SetError(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline GetMembershipAccountDetailError& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline GetMembershipAccountDetailError& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline GetMembershipAccountDetailError& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_error; + bool m_errorHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipAccountDetailItem.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipAccountDetailItem.h new file mode 100644 index 00000000000..f3e2b06addf --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipAccountDetailItem.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class GetMembershipAccountDetailItem + { + public: + AWS_SECURITYIR_API GetMembershipAccountDetailItem(); + AWS_SECURITYIR_API GetMembershipAccountDetailItem(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API GetMembershipAccountDetailItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + inline GetMembershipAccountDetailItem& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + inline GetMembershipAccountDetailItem& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + inline GetMembershipAccountDetailItem& WithAccountId(const char* value) { SetAccountId(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const MembershipAccountRelationshipStatus& GetRelationshipStatus() const{ return m_relationshipStatus; } + inline bool RelationshipStatusHasBeenSet() const { return m_relationshipStatusHasBeenSet; } + inline void SetRelationshipStatus(const MembershipAccountRelationshipStatus& value) { m_relationshipStatusHasBeenSet = true; m_relationshipStatus = value; } + inline void SetRelationshipStatus(MembershipAccountRelationshipStatus&& value) { m_relationshipStatusHasBeenSet = true; m_relationshipStatus = std::move(value); } + inline GetMembershipAccountDetailItem& WithRelationshipStatus(const MembershipAccountRelationshipStatus& value) { SetRelationshipStatus(value); return *this;} + inline GetMembershipAccountDetailItem& WithRelationshipStatus(MembershipAccountRelationshipStatus&& value) { SetRelationshipStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const MembershipAccountRelationshipType& GetRelationshipType() const{ return m_relationshipType; } + inline bool RelationshipTypeHasBeenSet() const { return m_relationshipTypeHasBeenSet; } + inline void SetRelationshipType(const MembershipAccountRelationshipType& value) { m_relationshipTypeHasBeenSet = true; m_relationshipType = value; } + inline void SetRelationshipType(MembershipAccountRelationshipType&& value) { m_relationshipTypeHasBeenSet = true; m_relationshipType = std::move(value); } + inline GetMembershipAccountDetailItem& WithRelationshipType(const MembershipAccountRelationshipType& value) { SetRelationshipType(value); return *this;} + inline GetMembershipAccountDetailItem& WithRelationshipType(MembershipAccountRelationshipType&& value) { SetRelationshipType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + MembershipAccountRelationshipStatus m_relationshipStatus; + bool m_relationshipStatusHasBeenSet = false; + + MembershipAccountRelationshipType m_relationshipType; + bool m_relationshipTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipRequest.h new file mode 100644 index 00000000000..26703182b44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class GetMembershipRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API GetMembershipRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetMembership"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element for GetMembership to identify the membership ID to + * query.

        + */ + inline const Aws::String& GetMembershipId() const{ return m_membershipId; } + inline bool MembershipIdHasBeenSet() const { return m_membershipIdHasBeenSet; } + inline void SetMembershipId(const Aws::String& value) { m_membershipIdHasBeenSet = true; m_membershipId = value; } + inline void SetMembershipId(Aws::String&& value) { m_membershipIdHasBeenSet = true; m_membershipId = std::move(value); } + inline void SetMembershipId(const char* value) { m_membershipIdHasBeenSet = true; m_membershipId.assign(value); } + inline GetMembershipRequest& WithMembershipId(const Aws::String& value) { SetMembershipId(value); return *this;} + inline GetMembershipRequest& WithMembershipId(Aws::String&& value) { SetMembershipId(std::move(value)); return *this;} + inline GetMembershipRequest& WithMembershipId(const char* value) { SetMembershipId(value); return *this;} + ///@} + private: + + Aws::String m_membershipId; + bool m_membershipIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipResult.h new file mode 100644 index 00000000000..cc1c56fd982 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/GetMembershipResult.h @@ -0,0 +1,236 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class GetMembershipResult + { + public: + AWS_SECURITYIR_API GetMembershipResult(); + AWS_SECURITYIR_API GetMembershipResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API GetMembershipResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Response element for GetMembership that provides the queried membership + * ID.

        + */ + inline const Aws::String& GetMembershipId() const{ return m_membershipId; } + inline void SetMembershipId(const Aws::String& value) { m_membershipId = value; } + inline void SetMembershipId(Aws::String&& value) { m_membershipId = std::move(value); } + inline void SetMembershipId(const char* value) { m_membershipId.assign(value); } + inline GetMembershipResult& WithMembershipId(const Aws::String& value) { SetMembershipId(value); return *this;} + inline GetMembershipResult& WithMembershipId(Aws::String&& value) { SetMembershipId(std::move(value)); return *this;} + inline GetMembershipResult& WithMembershipId(const char* value) { SetMembershipId(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetMembership that provides the configured account for + * managing the membership.

        + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + inline void SetAccountId(const Aws::String& value) { m_accountId = value; } + inline void SetAccountId(Aws::String&& value) { m_accountId = std::move(value); } + inline void SetAccountId(const char* value) { m_accountId.assign(value); } + inline GetMembershipResult& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + inline GetMembershipResult& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + inline GetMembershipResult& WithAccountId(const char* value) { SetAccountId(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetMembership that provides the configured region for + * managing the membership.

        + */ + inline const AwsRegion& GetRegion() const{ return m_region; } + inline void SetRegion(const AwsRegion& value) { m_region = value; } + inline void SetRegion(AwsRegion&& value) { m_region = std::move(value); } + inline GetMembershipResult& WithRegion(const AwsRegion& value) { SetRegion(value); return *this;} + inline GetMembershipResult& WithRegion(AwsRegion&& value) { SetRegion(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetMembership that provides the configured membership + * name.

        + */ + inline const Aws::String& GetMembershipName() const{ return m_membershipName; } + inline void SetMembershipName(const Aws::String& value) { m_membershipName = value; } + inline void SetMembershipName(Aws::String&& value) { m_membershipName = std::move(value); } + inline void SetMembershipName(const char* value) { m_membershipName.assign(value); } + inline GetMembershipResult& WithMembershipName(const Aws::String& value) { SetMembershipName(value); return *this;} + inline GetMembershipResult& WithMembershipName(Aws::String&& value) { SetMembershipName(std::move(value)); return *this;} + inline GetMembershipResult& WithMembershipName(const char* value) { SetMembershipName(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetMembership that provides the membership ARN.

        + */ + inline const Aws::String& GetMembershipArn() const{ return m_membershipArn; } + inline void SetMembershipArn(const Aws::String& value) { m_membershipArn = value; } + inline void SetMembershipArn(Aws::String&& value) { m_membershipArn = std::move(value); } + inline void SetMembershipArn(const char* value) { m_membershipArn.assign(value); } + inline GetMembershipResult& WithMembershipArn(const Aws::String& value) { SetMembershipArn(value); return *this;} + inline GetMembershipResult& WithMembershipArn(Aws::String&& value) { SetMembershipArn(std::move(value)); return *this;} + inline GetMembershipResult& WithMembershipArn(const char* value) { SetMembershipArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetMembership that provides the current membership + * status.

        + */ + inline const MembershipStatus& GetMembershipStatus() const{ return m_membershipStatus; } + inline void SetMembershipStatus(const MembershipStatus& value) { m_membershipStatus = value; } + inline void SetMembershipStatus(MembershipStatus&& value) { m_membershipStatus = std::move(value); } + inline GetMembershipResult& WithMembershipStatus(const MembershipStatus& value) { SetMembershipStatus(value); return *this;} + inline GetMembershipResult& WithMembershipStatus(MembershipStatus&& value) { SetMembershipStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetMembership that provides the configured membership + * activation timestamp.

        + */ + inline const Aws::Utils::DateTime& GetMembershipActivationTimestamp() const{ return m_membershipActivationTimestamp; } + inline void SetMembershipActivationTimestamp(const Aws::Utils::DateTime& value) { m_membershipActivationTimestamp = value; } + inline void SetMembershipActivationTimestamp(Aws::Utils::DateTime&& value) { m_membershipActivationTimestamp = std::move(value); } + inline GetMembershipResult& WithMembershipActivationTimestamp(const Aws::Utils::DateTime& value) { SetMembershipActivationTimestamp(value); return *this;} + inline GetMembershipResult& WithMembershipActivationTimestamp(Aws::Utils::DateTime&& value) { SetMembershipActivationTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetMembership that provides the configured membership + * name deactivation timestamp.

        + */ + inline const Aws::Utils::DateTime& GetMembershipDeactivationTimestamp() const{ return m_membershipDeactivationTimestamp; } + inline void SetMembershipDeactivationTimestamp(const Aws::Utils::DateTime& value) { m_membershipDeactivationTimestamp = value; } + inline void SetMembershipDeactivationTimestamp(Aws::Utils::DateTime&& value) { m_membershipDeactivationTimestamp = std::move(value); } + inline GetMembershipResult& WithMembershipDeactivationTimestamp(const Aws::Utils::DateTime& value) { SetMembershipDeactivationTimestamp(value); return *this;} + inline GetMembershipResult& WithMembershipDeactivationTimestamp(Aws::Utils::DateTime&& value) { SetMembershipDeactivationTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetMembership that provides the configured membership + * type. Options include Standalone | Organizations.

        + */ + inline const CustomerType& GetCustomerType() const{ return m_customerType; } + inline void SetCustomerType(const CustomerType& value) { m_customerType = value; } + inline void SetCustomerType(CustomerType&& value) { m_customerType = std::move(value); } + inline GetMembershipResult& WithCustomerType(const CustomerType& value) { SetCustomerType(value); return *this;} + inline GetMembershipResult& WithCustomerType(CustomerType&& value) { SetCustomerType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetMembership that provides the number of accounts in + * the membership.

        + */ + inline long long GetNumberOfAccountsCovered() const{ return m_numberOfAccountsCovered; } + inline void SetNumberOfAccountsCovered(long long value) { m_numberOfAccountsCovered = value; } + inline GetMembershipResult& WithNumberOfAccountsCovered(long long value) { SetNumberOfAccountsCovered(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for GetMembership that provides the configured membership + * incident response team members.

        + */ + inline const Aws::Vector& GetIncidentResponseTeam() const{ return m_incidentResponseTeam; } + inline void SetIncidentResponseTeam(const Aws::Vector& value) { m_incidentResponseTeam = value; } + inline void SetIncidentResponseTeam(Aws::Vector&& value) { m_incidentResponseTeam = std::move(value); } + inline GetMembershipResult& WithIncidentResponseTeam(const Aws::Vector& value) { SetIncidentResponseTeam(value); return *this;} + inline GetMembershipResult& WithIncidentResponseTeam(Aws::Vector&& value) { SetIncidentResponseTeam(std::move(value)); return *this;} + inline GetMembershipResult& AddIncidentResponseTeam(const IncidentResponder& value) { m_incidentResponseTeam.push_back(value); return *this; } + inline GetMembershipResult& AddIncidentResponseTeam(IncidentResponder&& value) { m_incidentResponseTeam.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Response element for GetMembership that provides the if opt-in features have + * been enabled.

        + */ + inline const Aws::Vector& GetOptInFeatures() const{ return m_optInFeatures; } + inline void SetOptInFeatures(const Aws::Vector& value) { m_optInFeatures = value; } + inline void SetOptInFeatures(Aws::Vector&& value) { m_optInFeatures = std::move(value); } + inline GetMembershipResult& WithOptInFeatures(const Aws::Vector& value) { SetOptInFeatures(value); return *this;} + inline GetMembershipResult& WithOptInFeatures(Aws::Vector&& value) { SetOptInFeatures(std::move(value)); return *this;} + inline GetMembershipResult& AddOptInFeatures(const OptInFeature& value) { m_optInFeatures.push_back(value); return *this; } + inline GetMembershipResult& AddOptInFeatures(OptInFeature&& value) { m_optInFeatures.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetMembershipResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetMembershipResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetMembershipResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_membershipId; + + Aws::String m_accountId; + + AwsRegion m_region; + + Aws::String m_membershipName; + + Aws::String m_membershipArn; + + MembershipStatus m_membershipStatus; + + Aws::Utils::DateTime m_membershipActivationTimestamp; + + Aws::Utils::DateTime m_membershipDeactivationTimestamp; + + CustomerType m_customerType; + + long long m_numberOfAccountsCovered; + + Aws::Vector m_incidentResponseTeam; + + Aws::Vector m_optInFeatures; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ImpactedAwsRegion.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ImpactedAwsRegion.h new file mode 100644 index 00000000000..e195c3fc4b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ImpactedAwsRegion.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class ImpactedAwsRegion + { + public: + AWS_SECURITYIR_API ImpactedAwsRegion(); + AWS_SECURITYIR_API ImpactedAwsRegion(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API ImpactedAwsRegion& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const AwsRegion& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const AwsRegion& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(AwsRegion&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline ImpactedAwsRegion& WithRegion(const AwsRegion& value) { SetRegion(value); return *this;} + inline ImpactedAwsRegion& WithRegion(AwsRegion&& value) { SetRegion(std::move(value)); return *this;} + ///@} + private: + + AwsRegion m_region; + bool m_regionHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/IncidentResponder.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/IncidentResponder.h new file mode 100644 index 00000000000..0d739fada6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/IncidentResponder.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class IncidentResponder + { + public: + AWS_SECURITYIR_API IncidentResponder(); + AWS_SECURITYIR_API IncidentResponder(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API IncidentResponder& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline IncidentResponder& WithName(const Aws::String& value) { SetName(value); return *this;} + inline IncidentResponder& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline IncidentResponder& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetJobTitle() const{ return m_jobTitle; } + inline bool JobTitleHasBeenSet() const { return m_jobTitleHasBeenSet; } + inline void SetJobTitle(const Aws::String& value) { m_jobTitleHasBeenSet = true; m_jobTitle = value; } + inline void SetJobTitle(Aws::String&& value) { m_jobTitleHasBeenSet = true; m_jobTitle = std::move(value); } + inline void SetJobTitle(const char* value) { m_jobTitleHasBeenSet = true; m_jobTitle.assign(value); } + inline IncidentResponder& WithJobTitle(const Aws::String& value) { SetJobTitle(value); return *this;} + inline IncidentResponder& WithJobTitle(Aws::String&& value) { SetJobTitle(std::move(value)); return *this;} + inline IncidentResponder& WithJobTitle(const char* value) { SetJobTitle(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetEmail() const{ return m_email; } + inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; } + inline void SetEmail(const Aws::String& value) { m_emailHasBeenSet = true; m_email = value; } + inline void SetEmail(Aws::String&& value) { m_emailHasBeenSet = true; m_email = std::move(value); } + inline void SetEmail(const char* value) { m_emailHasBeenSet = true; m_email.assign(value); } + inline IncidentResponder& WithEmail(const Aws::String& value) { SetEmail(value); return *this;} + inline IncidentResponder& WithEmail(Aws::String&& value) { SetEmail(std::move(value)); return *this;} + inline IncidentResponder& WithEmail(const char* value) { SetEmail(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_jobTitle; + bool m_jobTitleHasBeenSet = false; + + Aws::String m_email; + bool m_emailHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/InternalServerException.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/InternalServerException.h new file mode 100644 index 00000000000..88f2526af00 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/InternalServerException.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class InternalServerException + { + public: + AWS_SECURITYIR_API InternalServerException(); + AWS_SECURITYIR_API InternalServerException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API InternalServerException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline InternalServerException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline InternalServerException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline InternalServerException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

        Element providing advice to clients on when the call can be safely + * retried.

        + */ + inline int GetRetryAfterSeconds() const{ return m_retryAfterSeconds; } + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + inline InternalServerException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + int m_retryAfterSeconds; + bool m_retryAfterSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCaseEditsRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCaseEditsRequest.h new file mode 100644 index 00000000000..8044cc7a06e --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCaseEditsRequest.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class ListCaseEditsRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API ListCaseEditsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListCaseEdits"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Optional element for a customer provided token.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListCaseEditsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListCaseEditsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListCaseEditsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Optional element to identify how many results to obtain. There is a maximum + * value of 25.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListCaseEditsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element used with ListCaseEdits to identify the case to query.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline ListCaseEditsRequest& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline ListCaseEditsRequest& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline ListCaseEditsRequest& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCaseEditsResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCaseEditsResult.h new file mode 100644 index 00000000000..b3b239b039f --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCaseEditsResult.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class ListCaseEditsResult + { + public: + AWS_SECURITYIR_API ListCaseEditsResult(); + AWS_SECURITYIR_API ListCaseEditsResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API ListCaseEditsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Optional element.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListCaseEditsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListCaseEditsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListCaseEditsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for ListCaseEdits that includes the action, eventtimestamp, + * message, and principal for the response.

        + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline void SetItems(const Aws::Vector& value) { m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + inline ListCaseEditsResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline ListCaseEditsResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline ListCaseEditsResult& AddItems(const CaseEditItem& value) { m_items.push_back(value); return *this; } + inline ListCaseEditsResult& AddItems(CaseEditItem&& value) { m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Response element for ListCaseEdits that identifies the total number of + * edits.

        + */ + inline int GetTotal() const{ return m_total; } + inline void SetTotal(int value) { m_total = value; } + inline ListCaseEditsResult& WithTotal(int value) { SetTotal(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListCaseEditsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListCaseEditsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListCaseEditsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_items; + + int m_total; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesItem.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesItem.h new file mode 100644 index 00000000000..af9a1e3d0ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesItem.h @@ -0,0 +1,205 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class ListCasesItem + { + public: + AWS_SECURITYIR_API ListCasesItem(); + AWS_SECURITYIR_API ListCasesItem(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API ListCasesItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline ListCasesItem& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline ListCasesItem& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline ListCasesItem& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; } + inline bool LastUpdatedDateHasBeenSet() const { return m_lastUpdatedDateHasBeenSet; } + inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = value; } + inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = std::move(value); } + inline ListCasesItem& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;} + inline ListCasesItem& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline ListCasesItem& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline ListCasesItem& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline ListCasesItem& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetCaseArn() const{ return m_caseArn; } + inline bool CaseArnHasBeenSet() const { return m_caseArnHasBeenSet; } + inline void SetCaseArn(const Aws::String& value) { m_caseArnHasBeenSet = true; m_caseArn = value; } + inline void SetCaseArn(Aws::String&& value) { m_caseArnHasBeenSet = true; m_caseArn = std::move(value); } + inline void SetCaseArn(const char* value) { m_caseArnHasBeenSet = true; m_caseArn.assign(value); } + inline ListCasesItem& WithCaseArn(const Aws::String& value) { SetCaseArn(value); return *this;} + inline ListCasesItem& WithCaseArn(Aws::String&& value) { SetCaseArn(std::move(value)); return *this;} + inline ListCasesItem& WithCaseArn(const char* value) { SetCaseArn(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const EngagementType& GetEngagementType() const{ return m_engagementType; } + inline bool EngagementTypeHasBeenSet() const { return m_engagementTypeHasBeenSet; } + inline void SetEngagementType(const EngagementType& value) { m_engagementTypeHasBeenSet = true; m_engagementType = value; } + inline void SetEngagementType(EngagementType&& value) { m_engagementTypeHasBeenSet = true; m_engagementType = std::move(value); } + inline ListCasesItem& WithEngagementType(const EngagementType& value) { SetEngagementType(value); return *this;} + inline ListCasesItem& WithEngagementType(EngagementType&& value) { SetEngagementType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const CaseStatus& GetCaseStatus() const{ return m_caseStatus; } + inline bool CaseStatusHasBeenSet() const { return m_caseStatusHasBeenSet; } + inline void SetCaseStatus(const CaseStatus& value) { m_caseStatusHasBeenSet = true; m_caseStatus = value; } + inline void SetCaseStatus(CaseStatus&& value) { m_caseStatusHasBeenSet = true; m_caseStatus = std::move(value); } + inline ListCasesItem& WithCaseStatus(const CaseStatus& value) { SetCaseStatus(value); return *this;} + inline ListCasesItem& WithCaseStatus(CaseStatus&& value) { SetCaseStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } + inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } + inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } + inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } + inline ListCasesItem& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} + inline ListCasesItem& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::Utils::DateTime& GetClosedDate() const{ return m_closedDate; } + inline bool ClosedDateHasBeenSet() const { return m_closedDateHasBeenSet; } + inline void SetClosedDate(const Aws::Utils::DateTime& value) { m_closedDateHasBeenSet = true; m_closedDate = value; } + inline void SetClosedDate(Aws::Utils::DateTime&& value) { m_closedDateHasBeenSet = true; m_closedDate = std::move(value); } + inline ListCasesItem& WithClosedDate(const Aws::Utils::DateTime& value) { SetClosedDate(value); return *this;} + inline ListCasesItem& WithClosedDate(Aws::Utils::DateTime&& value) { SetClosedDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const ResolverType& GetResolverType() const{ return m_resolverType; } + inline bool ResolverTypeHasBeenSet() const { return m_resolverTypeHasBeenSet; } + inline void SetResolverType(const ResolverType& value) { m_resolverTypeHasBeenSet = true; m_resolverType = value; } + inline void SetResolverType(ResolverType&& value) { m_resolverTypeHasBeenSet = true; m_resolverType = std::move(value); } + inline ListCasesItem& WithResolverType(const ResolverType& value) { SetResolverType(value); return *this;} + inline ListCasesItem& WithResolverType(ResolverType&& value) { SetResolverType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const PendingAction& GetPendingAction() const{ return m_pendingAction; } + inline bool PendingActionHasBeenSet() const { return m_pendingActionHasBeenSet; } + inline void SetPendingAction(const PendingAction& value) { m_pendingActionHasBeenSet = true; m_pendingAction = value; } + inline void SetPendingAction(PendingAction&& value) { m_pendingActionHasBeenSet = true; m_pendingAction = std::move(value); } + inline ListCasesItem& WithPendingAction(const PendingAction& value) { SetPendingAction(value); return *this;} + inline ListCasesItem& WithPendingAction(PendingAction&& value) { SetPendingAction(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedDate; + bool m_lastUpdatedDateHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Aws::String m_caseArn; + bool m_caseArnHasBeenSet = false; + + EngagementType m_engagementType; + bool m_engagementTypeHasBeenSet = false; + + CaseStatus m_caseStatus; + bool m_caseStatusHasBeenSet = false; + + Aws::Utils::DateTime m_createdDate; + bool m_createdDateHasBeenSet = false; + + Aws::Utils::DateTime m_closedDate; + bool m_closedDateHasBeenSet = false; + + ResolverType m_resolverType; + bool m_resolverTypeHasBeenSet = false; + + PendingAction m_pendingAction; + bool m_pendingActionHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesRequest.h new file mode 100644 index 00000000000..1194a662315 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesRequest.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class ListCasesRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API ListCasesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListCases"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Optional element.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListCasesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListCasesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListCasesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Optional element for ListCases to limit the number of responses.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListCasesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesResult.h new file mode 100644 index 00000000000..2b56e3704e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCasesResult.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class ListCasesResult + { + public: + AWS_SECURITYIR_API ListCasesResult(); + AWS_SECURITYIR_API ListCasesResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API ListCasesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Optional element.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListCasesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListCasesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListCasesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for ListCases that includes caseARN, caseID, caseStatus, + * closedDate, createdDate, engagementType, lastUpdatedDate, pendingAction, + * resolverType, and title for each response.

        + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline void SetItems(const Aws::Vector& value) { m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + inline ListCasesResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline ListCasesResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline ListCasesResult& AddItems(const ListCasesItem& value) { m_items.push_back(value); return *this; } + inline ListCasesResult& AddItems(ListCasesItem&& value) { m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Response element for ListCases providing the total number of responses.

        + */ + inline long long GetTotal() const{ return m_total; } + inline void SetTotal(long long value) { m_total = value; } + inline ListCasesResult& WithTotal(long long value) { SetTotal(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListCasesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListCasesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListCasesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_items; + + long long m_total; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsItem.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsItem.h new file mode 100644 index 00000000000..3f33d736082 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsItem.h @@ -0,0 +1,143 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class ListCommentsItem + { + public: + AWS_SECURITYIR_API ListCommentsItem(); + AWS_SECURITYIR_API ListCommentsItem(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API ListCommentsItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const Aws::String& GetCommentId() const{ return m_commentId; } + inline bool CommentIdHasBeenSet() const { return m_commentIdHasBeenSet; } + inline void SetCommentId(const Aws::String& value) { m_commentIdHasBeenSet = true; m_commentId = value; } + inline void SetCommentId(Aws::String&& value) { m_commentIdHasBeenSet = true; m_commentId = std::move(value); } + inline void SetCommentId(const char* value) { m_commentIdHasBeenSet = true; m_commentId.assign(value); } + inline ListCommentsItem& WithCommentId(const Aws::String& value) { SetCommentId(value); return *this;} + inline ListCommentsItem& WithCommentId(Aws::String&& value) { SetCommentId(std::move(value)); return *this;} + inline ListCommentsItem& WithCommentId(const char* value) { SetCommentId(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } + inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } + inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } + inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } + inline ListCommentsItem& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} + inline ListCommentsItem& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; } + inline bool LastUpdatedDateHasBeenSet() const { return m_lastUpdatedDateHasBeenSet; } + inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = value; } + inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = std::move(value); } + inline ListCommentsItem& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;} + inline ListCommentsItem& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetCreator() const{ return m_creator; } + inline bool CreatorHasBeenSet() const { return m_creatorHasBeenSet; } + inline void SetCreator(const Aws::String& value) { m_creatorHasBeenSet = true; m_creator = value; } + inline void SetCreator(Aws::String&& value) { m_creatorHasBeenSet = true; m_creator = std::move(value); } + inline void SetCreator(const char* value) { m_creatorHasBeenSet = true; m_creator.assign(value); } + inline ListCommentsItem& WithCreator(const Aws::String& value) { SetCreator(value); return *this;} + inline ListCommentsItem& WithCreator(Aws::String&& value) { SetCreator(std::move(value)); return *this;} + inline ListCommentsItem& WithCreator(const char* value) { SetCreator(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetLastUpdatedBy() const{ return m_lastUpdatedBy; } + inline bool LastUpdatedByHasBeenSet() const { return m_lastUpdatedByHasBeenSet; } + inline void SetLastUpdatedBy(const Aws::String& value) { m_lastUpdatedByHasBeenSet = true; m_lastUpdatedBy = value; } + inline void SetLastUpdatedBy(Aws::String&& value) { m_lastUpdatedByHasBeenSet = true; m_lastUpdatedBy = std::move(value); } + inline void SetLastUpdatedBy(const char* value) { m_lastUpdatedByHasBeenSet = true; m_lastUpdatedBy.assign(value); } + inline ListCommentsItem& WithLastUpdatedBy(const Aws::String& value) { SetLastUpdatedBy(value); return *this;} + inline ListCommentsItem& WithLastUpdatedBy(Aws::String&& value) { SetLastUpdatedBy(std::move(value)); return *this;} + inline ListCommentsItem& WithLastUpdatedBy(const char* value) { SetLastUpdatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetBody() const{ return m_body; } + inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; } + inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; } + inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); } + inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); } + inline ListCommentsItem& WithBody(const Aws::String& value) { SetBody(value); return *this;} + inline ListCommentsItem& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} + inline ListCommentsItem& WithBody(const char* value) { SetBody(value); return *this;} + ///@} + private: + + Aws::String m_commentId; + bool m_commentIdHasBeenSet = false; + + Aws::Utils::DateTime m_createdDate; + bool m_createdDateHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedDate; + bool m_lastUpdatedDateHasBeenSet = false; + + Aws::String m_creator; + bool m_creatorHasBeenSet = false; + + Aws::String m_lastUpdatedBy; + bool m_lastUpdatedByHasBeenSet = false; + + Aws::String m_body; + bool m_bodyHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsRequest.h new file mode 100644 index 00000000000..14d3a640a25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsRequest.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class ListCommentsRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API ListCommentsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListComments"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Optional element.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListCommentsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListCommentsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListCommentsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Optional element for ListComments to limit the number of responses.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListCommentsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element for ListComments to designate the case to query.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline ListCommentsRequest& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline ListCommentsRequest& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline ListCommentsRequest& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsResult.h new file mode 100644 index 00000000000..f15a965648e --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListCommentsResult.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class ListCommentsResult + { + public: + AWS_SECURITYIR_API ListCommentsResult(); + AWS_SECURITYIR_API ListCommentsResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API ListCommentsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Optional request elements.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListCommentsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListCommentsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListCommentsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for ListComments providing the body, commentID, createDate, + * creator, lastUpdatedBy and lastUpdatedDate for each response.

        + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline void SetItems(const Aws::Vector& value) { m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + inline ListCommentsResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline ListCommentsResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline ListCommentsResult& AddItems(const ListCommentsItem& value) { m_items.push_back(value); return *this; } + inline ListCommentsResult& AddItems(ListCommentsItem&& value) { m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Response element for ListComments identifying the number of responses.

        + */ + inline int GetTotal() const{ return m_total; } + inline void SetTotal(int value) { m_total = value; } + inline ListCommentsResult& WithTotal(int value) { SetTotal(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListCommentsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListCommentsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListCommentsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_items; + + int m_total; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipItem.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipItem.h new file mode 100644 index 00000000000..de86e55a8a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipItem.h @@ -0,0 +1,127 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class ListMembershipItem + { + public: + AWS_SECURITYIR_API ListMembershipItem(); + AWS_SECURITYIR_API ListMembershipItem(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API ListMembershipItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const Aws::String& GetMembershipId() const{ return m_membershipId; } + inline bool MembershipIdHasBeenSet() const { return m_membershipIdHasBeenSet; } + inline void SetMembershipId(const Aws::String& value) { m_membershipIdHasBeenSet = true; m_membershipId = value; } + inline void SetMembershipId(Aws::String&& value) { m_membershipIdHasBeenSet = true; m_membershipId = std::move(value); } + inline void SetMembershipId(const char* value) { m_membershipIdHasBeenSet = true; m_membershipId.assign(value); } + inline ListMembershipItem& WithMembershipId(const Aws::String& value) { SetMembershipId(value); return *this;} + inline ListMembershipItem& WithMembershipId(Aws::String&& value) { SetMembershipId(std::move(value)); return *this;} + inline ListMembershipItem& WithMembershipId(const char* value) { SetMembershipId(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + inline ListMembershipItem& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + inline ListMembershipItem& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + inline ListMembershipItem& WithAccountId(const char* value) { SetAccountId(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const AwsRegion& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const AwsRegion& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(AwsRegion&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline ListMembershipItem& WithRegion(const AwsRegion& value) { SetRegion(value); return *this;} + inline ListMembershipItem& WithRegion(AwsRegion&& value) { SetRegion(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetMembershipArn() const{ return m_membershipArn; } + inline bool MembershipArnHasBeenSet() const { return m_membershipArnHasBeenSet; } + inline void SetMembershipArn(const Aws::String& value) { m_membershipArnHasBeenSet = true; m_membershipArn = value; } + inline void SetMembershipArn(Aws::String&& value) { m_membershipArnHasBeenSet = true; m_membershipArn = std::move(value); } + inline void SetMembershipArn(const char* value) { m_membershipArnHasBeenSet = true; m_membershipArn.assign(value); } + inline ListMembershipItem& WithMembershipArn(const Aws::String& value) { SetMembershipArn(value); return *this;} + inline ListMembershipItem& WithMembershipArn(Aws::String&& value) { SetMembershipArn(std::move(value)); return *this;} + inline ListMembershipItem& WithMembershipArn(const char* value) { SetMembershipArn(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const MembershipStatus& GetMembershipStatus() const{ return m_membershipStatus; } + inline bool MembershipStatusHasBeenSet() const { return m_membershipStatusHasBeenSet; } + inline void SetMembershipStatus(const MembershipStatus& value) { m_membershipStatusHasBeenSet = true; m_membershipStatus = value; } + inline void SetMembershipStatus(MembershipStatus&& value) { m_membershipStatusHasBeenSet = true; m_membershipStatus = std::move(value); } + inline ListMembershipItem& WithMembershipStatus(const MembershipStatus& value) { SetMembershipStatus(value); return *this;} + inline ListMembershipItem& WithMembershipStatus(MembershipStatus&& value) { SetMembershipStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_membershipId; + bool m_membershipIdHasBeenSet = false; + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + AwsRegion m_region; + bool m_regionHasBeenSet = false; + + Aws::String m_membershipArn; + bool m_membershipArnHasBeenSet = false; + + MembershipStatus m_membershipStatus; + bool m_membershipStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipsRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipsRequest.h new file mode 100644 index 00000000000..35dd20b5195 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipsRequest.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class ListMembershipsRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API ListMembershipsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListMemberships"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Optional element.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListMembershipsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListMembershipsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListMembershipsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Request element for ListMemberships to limit the number of responses.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListMembershipsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipsResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipsResult.h new file mode 100644 index 00000000000..48237897466 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListMembershipsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class ListMembershipsResult + { + public: + AWS_SECURITYIR_API ListMembershipsResult(); + AWS_SECURITYIR_API ListMembershipsResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API ListMembershipsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Optional element.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListMembershipsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListMembershipsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListMembershipsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        Request element for ListMemberships including the accountID, membershipARN, + * membershipID, membershipStatus, and region for each response.

        + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline void SetItems(const Aws::Vector& value) { m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + inline ListMembershipsResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline ListMembershipsResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline ListMembershipsResult& AddItems(const ListMembershipItem& value) { m_items.push_back(value); return *this; } + inline ListMembershipsResult& AddItems(ListMembershipItem&& value) { m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListMembershipsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListMembershipsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListMembershipsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_items; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..1bb11467049 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListTagsForResourceRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API ListTagsForResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element for ListTagsForResource to provide the ARN to identify a + * specific resource.

        + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..594634c9678 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ListTagsForResourceResult.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_SECURITYIR_API ListTagsForResourceResult(); + AWS_SECURITYIR_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Response element for ListTagsForResource providing content for each + * configured tag.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline ListTagsForResourceResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline ListTagsForResourceResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline ListTagsForResourceResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline ListTagsForResourceResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline ListTagsForResourceResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline ListTagsForResourceResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline ListTagsForResourceResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline ListTagsForResourceResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline ListTagsForResourceResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListTagsForResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListTagsForResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListTagsForResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipAccountRelationshipStatus.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipAccountRelationshipStatus.h new file mode 100644 index 00000000000..7733405b365 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipAccountRelationshipStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class MembershipAccountRelationshipStatus + { + NOT_SET, + Associated, + Disassociated + }; + +namespace MembershipAccountRelationshipStatusMapper +{ +AWS_SECURITYIR_API MembershipAccountRelationshipStatus GetMembershipAccountRelationshipStatusForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForMembershipAccountRelationshipStatus(MembershipAccountRelationshipStatus value); +} // namespace MembershipAccountRelationshipStatusMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipAccountRelationshipType.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipAccountRelationshipType.h new file mode 100644 index 00000000000..55a31b08a38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipAccountRelationshipType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class MembershipAccountRelationshipType + { + NOT_SET, + Organization + }; + +namespace MembershipAccountRelationshipTypeMapper +{ +AWS_SECURITYIR_API MembershipAccountRelationshipType GetMembershipAccountRelationshipTypeForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForMembershipAccountRelationshipType(MembershipAccountRelationshipType value); +} // namespace MembershipAccountRelationshipTypeMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipStatus.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipStatus.h new file mode 100644 index 00000000000..8b061ad33e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/MembershipStatus.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class MembershipStatus + { + NOT_SET, + Active, + Cancelled, + Terminated + }; + +namespace MembershipStatusMapper +{ +AWS_SECURITYIR_API MembershipStatus GetMembershipStatusForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForMembershipStatus(MembershipStatus value); +} // namespace MembershipStatusMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/OptInFeature.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/OptInFeature.h new file mode 100644 index 00000000000..9af4eb55307 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/OptInFeature.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class OptInFeature + { + public: + AWS_SECURITYIR_API OptInFeature(); + AWS_SECURITYIR_API OptInFeature(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API OptInFeature& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const OptInFeatureName& GetFeatureName() const{ return m_featureName; } + inline bool FeatureNameHasBeenSet() const { return m_featureNameHasBeenSet; } + inline void SetFeatureName(const OptInFeatureName& value) { m_featureNameHasBeenSet = true; m_featureName = value; } + inline void SetFeatureName(OptInFeatureName&& value) { m_featureNameHasBeenSet = true; m_featureName = std::move(value); } + inline OptInFeature& WithFeatureName(const OptInFeatureName& value) { SetFeatureName(value); return *this;} + inline OptInFeature& WithFeatureName(OptInFeatureName&& value) { SetFeatureName(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline bool GetIsEnabled() const{ return m_isEnabled; } + inline bool IsEnabledHasBeenSet() const { return m_isEnabledHasBeenSet; } + inline void SetIsEnabled(bool value) { m_isEnabledHasBeenSet = true; m_isEnabled = value; } + inline OptInFeature& WithIsEnabled(bool value) { SetIsEnabled(value); return *this;} + ///@} + private: + + OptInFeatureName m_featureName; + bool m_featureNameHasBeenSet = false; + + bool m_isEnabled; + bool m_isEnabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/OptInFeatureName.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/OptInFeatureName.h new file mode 100644 index 00000000000..796b15b89b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/OptInFeatureName.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class OptInFeatureName + { + NOT_SET, + Triage + }; + +namespace OptInFeatureNameMapper +{ +AWS_SECURITYIR_API OptInFeatureName GetOptInFeatureNameForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForOptInFeatureName(OptInFeatureName value); +} // namespace OptInFeatureNameMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/PendingAction.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/PendingAction.h new file mode 100644 index 00000000000..5506050cc73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/PendingAction.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class PendingAction + { + NOT_SET, + Customer, + None + }; + +namespace PendingActionMapper +{ +AWS_SECURITYIR_API PendingAction GetPendingActionForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForPendingAction(PendingAction value); +} // namespace PendingActionMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ResolverType.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ResolverType.h new file mode 100644 index 00000000000..4482771780d --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ResolverType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class ResolverType + { + NOT_SET, + AWS, + Self + }; + +namespace ResolverTypeMapper +{ +AWS_SECURITYIR_API ResolverType GetResolverTypeForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForResolverType(ResolverType value); +} // namespace ResolverTypeMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/SelfManagedCaseStatus.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/SelfManagedCaseStatus.h new file mode 100644 index 00000000000..152ef63b542 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/SelfManagedCaseStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class SelfManagedCaseStatus + { + NOT_SET, + Submitted, + Detection_and_Analysis, + Containment_COMMA_Eradication_and_Recovery, + Post_incident_Activities + }; + +namespace SelfManagedCaseStatusMapper +{ +AWS_SECURITYIR_API SelfManagedCaseStatus GetSelfManagedCaseStatusForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForSelfManagedCaseStatus(SelfManagedCaseStatus value); +} // namespace SelfManagedCaseStatusMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ServiceQuotaExceededException.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ServiceQuotaExceededException.h new file mode 100644 index 00000000000..df583ff26b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ServiceQuotaExceededException.h @@ -0,0 +1,127 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class ServiceQuotaExceededException + { + public: + AWS_SECURITYIR_API ServiceQuotaExceededException(); + AWS_SECURITYIR_API ServiceQuotaExceededException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API ServiceQuotaExceededException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ServiceQuotaExceededException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ServiceQuotaExceededException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ServiceQuotaExceededException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

        Element that provides the ID of the resource affected.

        + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + inline ServiceQuotaExceededException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + inline ServiceQuotaExceededException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + inline ServiceQuotaExceededException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + ///@} + + ///@{ + /** + *

        Element that provides the type of the resource affected.

        + */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + inline ServiceQuotaExceededException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + inline ServiceQuotaExceededException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + inline ServiceQuotaExceededException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + ///@} + + ///@{ + /** + *

        Element that provides the originating service who made the call.

        + */ + inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } + inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } + inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } + inline ServiceQuotaExceededException& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} + inline ServiceQuotaExceededException& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} + inline ServiceQuotaExceededException& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} + ///@} + + ///@{ + /** + *

        Element that provides the quota that was exceeded.

        + */ + inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; } + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; } + inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); } + inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); } + inline ServiceQuotaExceededException& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;} + inline ServiceQuotaExceededException& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;} + inline ServiceQuotaExceededException& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/TagResourceRequest.h new file mode 100644 index 00000000000..340e00b78a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/TagResourceRequest.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API TagResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TagResource"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element for TagResource to identify the ARN for the resource to add + * a tag to.

        + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element for ListTagsForResource to provide the content for a + * tag.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline TagResourceRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline TagResourceRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline TagResourceRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline TagResourceRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline TagResourceRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline TagResourceRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline TagResourceRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline TagResourceRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline TagResourceRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/TagResourceResult.h new file mode 100644 index 00000000000..aba7e3158ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/TagResourceResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class TagResourceResult + { + public: + AWS_SECURITYIR_API TagResourceResult(); + AWS_SECURITYIR_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API TagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ThreatActorIp.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ThreatActorIp.h new file mode 100644 index 00000000000..b0b5dbc0ec2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ThreatActorIp.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class ThreatActorIp + { + public: + AWS_SECURITYIR_API ThreatActorIp(); + AWS_SECURITYIR_API ThreatActorIp(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API ThreatActorIp& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const Aws::String& GetIpAddress() const{ return m_ipAddress; } + inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; } + inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; } + inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); } + inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); } + inline ThreatActorIp& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;} + inline ThreatActorIp& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;} + inline ThreatActorIp& WithIpAddress(const char* value) { SetIpAddress(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetUserAgent() const{ return m_userAgent; } + inline bool UserAgentHasBeenSet() const { return m_userAgentHasBeenSet; } + inline void SetUserAgent(const Aws::String& value) { m_userAgentHasBeenSet = true; m_userAgent = value; } + inline void SetUserAgent(Aws::String&& value) { m_userAgentHasBeenSet = true; m_userAgent = std::move(value); } + inline void SetUserAgent(const char* value) { m_userAgentHasBeenSet = true; m_userAgent.assign(value); } + inline ThreatActorIp& WithUserAgent(const Aws::String& value) { SetUserAgent(value); return *this;} + inline ThreatActorIp& WithUserAgent(Aws::String&& value) { SetUserAgent(std::move(value)); return *this;} + inline ThreatActorIp& WithUserAgent(const char* value) { SetUserAgent(value); return *this;} + ///@} + private: + + Aws::String m_ipAddress; + bool m_ipAddressHasBeenSet = false; + + Aws::String m_userAgent; + bool m_userAgentHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ThrottlingException.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ThrottlingException.h new file mode 100644 index 00000000000..a30f782ac03 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ThrottlingException.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class ThrottlingException + { + public: + AWS_SECURITYIR_API ThrottlingException(); + AWS_SECURITYIR_API ThrottlingException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API ThrottlingException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ThrottlingException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ThrottlingException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ThrottlingException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

        Element providing the service code of the originating service.

        + */ + inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } + inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } + inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } + inline ThrottlingException& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} + inline ThrottlingException& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} + inline ThrottlingException& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} + ///@} + + ///@{ + /** + *

        Element providing the quota of the originating service.

        + */ + inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; } + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; } + inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); } + inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); } + inline ThrottlingException& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;} + inline ThrottlingException& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;} + inline ThrottlingException& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;} + ///@} + + ///@{ + /** + *

        Element providing advice to clients on when the call can be safely + * retried.

        + */ + inline int GetRetryAfterSeconds() const{ return m_retryAfterSeconds; } + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + inline ThrottlingException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + + int m_retryAfterSeconds; + bool m_retryAfterSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UntagResourceRequest.h new file mode 100644 index 00000000000..05869ecfb8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UntagResourceRequest.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API UntagResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + AWS_SECURITYIR_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        Required element for UnTagResource to identify the ARN for the resource to + * remove a tag from.

        + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element for UnTagResource to identify tag to remove.

        + */ + inline const Aws::Vector& GetTagKeys() const{ return m_tagKeys; } + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + inline void SetTagKeys(const Aws::Vector& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } + inline void SetTagKeys(Aws::Vector&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } + inline UntagResourceRequest& WithTagKeys(const Aws::Vector& value) { SetTagKeys(value); return *this;} + inline UntagResourceRequest& WithTagKeys(Aws::Vector&& value) { SetTagKeys(std::move(value)); return *this;} + inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } + inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UntagResourceResult.h new file mode 100644 index 00000000000..2b146eb04fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UntagResourceResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class UntagResourceResult + { + public: + AWS_SECURITYIR_API UntagResourceResult(); + AWS_SECURITYIR_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API UntagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UntagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UntagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UntagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseCommentRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseCommentRequest.h new file mode 100644 index 00000000000..b1aab76b993 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseCommentRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class UpdateCaseCommentRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API UpdateCaseCommentRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateCaseComment"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element for UpdateCaseComment to identify the case ID containing the + * comment to be updated.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline UpdateCaseCommentRequest& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline UpdateCaseCommentRequest& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline UpdateCaseCommentRequest& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element for UpdateCaseComment to identify the case ID to be + * updated.

        + */ + inline const Aws::String& GetCommentId() const{ return m_commentId; } + inline bool CommentIdHasBeenSet() const { return m_commentIdHasBeenSet; } + inline void SetCommentId(const Aws::String& value) { m_commentIdHasBeenSet = true; m_commentId = value; } + inline void SetCommentId(Aws::String&& value) { m_commentIdHasBeenSet = true; m_commentId = std::move(value); } + inline void SetCommentId(const char* value) { m_commentIdHasBeenSet = true; m_commentId.assign(value); } + inline UpdateCaseCommentRequest& WithCommentId(const Aws::String& value) { SetCommentId(value); return *this;} + inline UpdateCaseCommentRequest& WithCommentId(Aws::String&& value) { SetCommentId(std::move(value)); return *this;} + inline UpdateCaseCommentRequest& WithCommentId(const char* value) { SetCommentId(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element for UpdateCaseComment to identify the content for the + * comment to be updated.

        + */ + inline const Aws::String& GetRequestBody() const{ return m_requestBody; } + inline bool RequestBodyHasBeenSet() const { return m_requestBodyHasBeenSet; } + inline void SetRequestBody(const Aws::String& value) { m_requestBodyHasBeenSet = true; m_requestBody = value; } + inline void SetRequestBody(Aws::String&& value) { m_requestBodyHasBeenSet = true; m_requestBody = std::move(value); } + inline void SetRequestBody(const char* value) { m_requestBodyHasBeenSet = true; m_requestBody.assign(value); } + inline UpdateCaseCommentRequest& WithRequestBody(const Aws::String& value) { SetRequestBody(value); return *this;} + inline UpdateCaseCommentRequest& WithRequestBody(Aws::String&& value) { SetRequestBody(std::move(value)); return *this;} + inline UpdateCaseCommentRequest& WithRequestBody(const char* value) { SetRequestBody(value); return *this;} + ///@} + private: + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + + Aws::String m_commentId; + bool m_commentIdHasBeenSet = false; + + Aws::String m_requestBody; + bool m_requestBodyHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseCommentResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseCommentResult.h new file mode 100644 index 00000000000..cf75638e6ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseCommentResult.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class UpdateCaseCommentResult + { + public: + AWS_SECURITYIR_API UpdateCaseCommentResult(); + AWS_SECURITYIR_API UpdateCaseCommentResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API UpdateCaseCommentResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Response element for UpdateCaseComment providing the updated comment ID.

        + */ + inline const Aws::String& GetCommentId() const{ return m_commentId; } + inline void SetCommentId(const Aws::String& value) { m_commentId = value; } + inline void SetCommentId(Aws::String&& value) { m_commentId = std::move(value); } + inline void SetCommentId(const char* value) { m_commentId.assign(value); } + inline UpdateCaseCommentResult& WithCommentId(const Aws::String& value) { SetCommentId(value); return *this;} + inline UpdateCaseCommentResult& WithCommentId(Aws::String&& value) { SetCommentId(std::move(value)); return *this;} + inline UpdateCaseCommentResult& WithCommentId(const char* value) { SetCommentId(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for UpdateCaseComment providing the updated comment + * content.

        + */ + inline const Aws::String& GetBody() const{ return m_body; } + inline void SetBody(const Aws::String& value) { m_body = value; } + inline void SetBody(Aws::String&& value) { m_body = std::move(value); } + inline void SetBody(const char* value) { m_body.assign(value); } + inline UpdateCaseCommentResult& WithBody(const Aws::String& value) { SetBody(value); return *this;} + inline UpdateCaseCommentResult& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} + inline UpdateCaseCommentResult& WithBody(const char* value) { SetBody(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateCaseCommentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateCaseCommentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateCaseCommentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_commentId; + + Aws::String m_body; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseRequest.h new file mode 100644 index 00000000000..dd6e8ad1e68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseRequest.h @@ -0,0 +1,330 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class UpdateCaseRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API UpdateCaseRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateCase"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element for UpdateCase to identify the case ID for updates.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline UpdateCaseRequest& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline UpdateCaseRequest& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline UpdateCaseRequest& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content for the title field.

        + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline UpdateCaseRequest& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline UpdateCaseRequest& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline UpdateCaseRequest& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content for the description + * field.

        + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline UpdateCaseRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline UpdateCaseRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline UpdateCaseRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content for the customer reported + * incident start date field.

        + */ + inline const Aws::Utils::DateTime& GetReportedIncidentStartDate() const{ return m_reportedIncidentStartDate; } + inline bool ReportedIncidentStartDateHasBeenSet() const { return m_reportedIncidentStartDateHasBeenSet; } + inline void SetReportedIncidentStartDate(const Aws::Utils::DateTime& value) { m_reportedIncidentStartDateHasBeenSet = true; m_reportedIncidentStartDate = value; } + inline void SetReportedIncidentStartDate(Aws::Utils::DateTime&& value) { m_reportedIncidentStartDateHasBeenSet = true; m_reportedIncidentStartDate = std::move(value); } + inline UpdateCaseRequest& WithReportedIncidentStartDate(const Aws::Utils::DateTime& value) { SetReportedIncidentStartDate(value); return *this;} + inline UpdateCaseRequest& WithReportedIncidentStartDate(Aws::Utils::DateTime&& value) { SetReportedIncidentStartDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content for the incident start + * date field.

        + */ + inline const Aws::Utils::DateTime& GetActualIncidentStartDate() const{ return m_actualIncidentStartDate; } + inline bool ActualIncidentStartDateHasBeenSet() const { return m_actualIncidentStartDateHasBeenSet; } + inline void SetActualIncidentStartDate(const Aws::Utils::DateTime& value) { m_actualIncidentStartDateHasBeenSet = true; m_actualIncidentStartDate = value; } + inline void SetActualIncidentStartDate(Aws::Utils::DateTime&& value) { m_actualIncidentStartDateHasBeenSet = true; m_actualIncidentStartDate = std::move(value); } + inline UpdateCaseRequest& WithActualIncidentStartDate(const Aws::Utils::DateTime& value) { SetActualIncidentStartDate(value); return *this;} + inline UpdateCaseRequest& WithActualIncidentStartDate(Aws::Utils::DateTime&& value) { SetActualIncidentStartDate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content for the engagement type + * field. Available engagement types include Security Incident | + * Investigation.

        + */ + inline const EngagementType& GetEngagementType() const{ return m_engagementType; } + inline bool EngagementTypeHasBeenSet() const { return m_engagementTypeHasBeenSet; } + inline void SetEngagementType(const EngagementType& value) { m_engagementTypeHasBeenSet = true; m_engagementType = value; } + inline void SetEngagementType(EngagementType&& value) { m_engagementTypeHasBeenSet = true; m_engagementType = std::move(value); } + inline UpdateCaseRequest& WithEngagementType(const EngagementType& value) { SetEngagementType(value); return *this;} + inline UpdateCaseRequest& WithEngagementType(EngagementType&& value) { SetEngagementType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content to add additional watchers + * to a case.

        + */ + inline const Aws::Vector& GetWatchersToAdd() const{ return m_watchersToAdd; } + inline bool WatchersToAddHasBeenSet() const { return m_watchersToAddHasBeenSet; } + inline void SetWatchersToAdd(const Aws::Vector& value) { m_watchersToAddHasBeenSet = true; m_watchersToAdd = value; } + inline void SetWatchersToAdd(Aws::Vector&& value) { m_watchersToAddHasBeenSet = true; m_watchersToAdd = std::move(value); } + inline UpdateCaseRequest& WithWatchersToAdd(const Aws::Vector& value) { SetWatchersToAdd(value); return *this;} + inline UpdateCaseRequest& WithWatchersToAdd(Aws::Vector&& value) { SetWatchersToAdd(std::move(value)); return *this;} + inline UpdateCaseRequest& AddWatchersToAdd(const Watcher& value) { m_watchersToAddHasBeenSet = true; m_watchersToAdd.push_back(value); return *this; } + inline UpdateCaseRequest& AddWatchersToAdd(Watcher&& value) { m_watchersToAddHasBeenSet = true; m_watchersToAdd.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content to remove existing + * watchers from a case.

        + */ + inline const Aws::Vector& GetWatchersToDelete() const{ return m_watchersToDelete; } + inline bool WatchersToDeleteHasBeenSet() const { return m_watchersToDeleteHasBeenSet; } + inline void SetWatchersToDelete(const Aws::Vector& value) { m_watchersToDeleteHasBeenSet = true; m_watchersToDelete = value; } + inline void SetWatchersToDelete(Aws::Vector&& value) { m_watchersToDeleteHasBeenSet = true; m_watchersToDelete = std::move(value); } + inline UpdateCaseRequest& WithWatchersToDelete(const Aws::Vector& value) { SetWatchersToDelete(value); return *this;} + inline UpdateCaseRequest& WithWatchersToDelete(Aws::Vector&& value) { SetWatchersToDelete(std::move(value)); return *this;} + inline UpdateCaseRequest& AddWatchersToDelete(const Watcher& value) { m_watchersToDeleteHasBeenSet = true; m_watchersToDelete.push_back(value); return *this; } + inline UpdateCaseRequest& AddWatchersToDelete(Watcher&& value) { m_watchersToDeleteHasBeenSet = true; m_watchersToDelete.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content to add additional + * suspicious IP addresses related to a case.

        + */ + inline const Aws::Vector& GetThreatActorIpAddressesToAdd() const{ return m_threatActorIpAddressesToAdd; } + inline bool ThreatActorIpAddressesToAddHasBeenSet() const { return m_threatActorIpAddressesToAddHasBeenSet; } + inline void SetThreatActorIpAddressesToAdd(const Aws::Vector& value) { m_threatActorIpAddressesToAddHasBeenSet = true; m_threatActorIpAddressesToAdd = value; } + inline void SetThreatActorIpAddressesToAdd(Aws::Vector&& value) { m_threatActorIpAddressesToAddHasBeenSet = true; m_threatActorIpAddressesToAdd = std::move(value); } + inline UpdateCaseRequest& WithThreatActorIpAddressesToAdd(const Aws::Vector& value) { SetThreatActorIpAddressesToAdd(value); return *this;} + inline UpdateCaseRequest& WithThreatActorIpAddressesToAdd(Aws::Vector&& value) { SetThreatActorIpAddressesToAdd(std::move(value)); return *this;} + inline UpdateCaseRequest& AddThreatActorIpAddressesToAdd(const ThreatActorIp& value) { m_threatActorIpAddressesToAddHasBeenSet = true; m_threatActorIpAddressesToAdd.push_back(value); return *this; } + inline UpdateCaseRequest& AddThreatActorIpAddressesToAdd(ThreatActorIp&& value) { m_threatActorIpAddressesToAddHasBeenSet = true; m_threatActorIpAddressesToAdd.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content to remove suspicious IP + * addresses from a case.

        + */ + inline const Aws::Vector& GetThreatActorIpAddressesToDelete() const{ return m_threatActorIpAddressesToDelete; } + inline bool ThreatActorIpAddressesToDeleteHasBeenSet() const { return m_threatActorIpAddressesToDeleteHasBeenSet; } + inline void SetThreatActorIpAddressesToDelete(const Aws::Vector& value) { m_threatActorIpAddressesToDeleteHasBeenSet = true; m_threatActorIpAddressesToDelete = value; } + inline void SetThreatActorIpAddressesToDelete(Aws::Vector&& value) { m_threatActorIpAddressesToDeleteHasBeenSet = true; m_threatActorIpAddressesToDelete = std::move(value); } + inline UpdateCaseRequest& WithThreatActorIpAddressesToDelete(const Aws::Vector& value) { SetThreatActorIpAddressesToDelete(value); return *this;} + inline UpdateCaseRequest& WithThreatActorIpAddressesToDelete(Aws::Vector&& value) { SetThreatActorIpAddressesToDelete(std::move(value)); return *this;} + inline UpdateCaseRequest& AddThreatActorIpAddressesToDelete(const ThreatActorIp& value) { m_threatActorIpAddressesToDeleteHasBeenSet = true; m_threatActorIpAddressesToDelete.push_back(value); return *this; } + inline UpdateCaseRequest& AddThreatActorIpAddressesToDelete(ThreatActorIp&& value) { m_threatActorIpAddressesToDeleteHasBeenSet = true; m_threatActorIpAddressesToDelete.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content to add services + * impacted.

        + */ + inline const Aws::Vector& GetImpactedServicesToAdd() const{ return m_impactedServicesToAdd; } + inline bool ImpactedServicesToAddHasBeenSet() const { return m_impactedServicesToAddHasBeenSet; } + inline void SetImpactedServicesToAdd(const Aws::Vector& value) { m_impactedServicesToAddHasBeenSet = true; m_impactedServicesToAdd = value; } + inline void SetImpactedServicesToAdd(Aws::Vector&& value) { m_impactedServicesToAddHasBeenSet = true; m_impactedServicesToAdd = std::move(value); } + inline UpdateCaseRequest& WithImpactedServicesToAdd(const Aws::Vector& value) { SetImpactedServicesToAdd(value); return *this;} + inline UpdateCaseRequest& WithImpactedServicesToAdd(Aws::Vector&& value) { SetImpactedServicesToAdd(std::move(value)); return *this;} + inline UpdateCaseRequest& AddImpactedServicesToAdd(const Aws::String& value) { m_impactedServicesToAddHasBeenSet = true; m_impactedServicesToAdd.push_back(value); return *this; } + inline UpdateCaseRequest& AddImpactedServicesToAdd(Aws::String&& value) { m_impactedServicesToAddHasBeenSet = true; m_impactedServicesToAdd.push_back(std::move(value)); return *this; } + inline UpdateCaseRequest& AddImpactedServicesToAdd(const char* value) { m_impactedServicesToAddHasBeenSet = true; m_impactedServicesToAdd.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content to remove services + * impacted.

        + */ + inline const Aws::Vector& GetImpactedServicesToDelete() const{ return m_impactedServicesToDelete; } + inline bool ImpactedServicesToDeleteHasBeenSet() const { return m_impactedServicesToDeleteHasBeenSet; } + inline void SetImpactedServicesToDelete(const Aws::Vector& value) { m_impactedServicesToDeleteHasBeenSet = true; m_impactedServicesToDelete = value; } + inline void SetImpactedServicesToDelete(Aws::Vector&& value) { m_impactedServicesToDeleteHasBeenSet = true; m_impactedServicesToDelete = std::move(value); } + inline UpdateCaseRequest& WithImpactedServicesToDelete(const Aws::Vector& value) { SetImpactedServicesToDelete(value); return *this;} + inline UpdateCaseRequest& WithImpactedServicesToDelete(Aws::Vector&& value) { SetImpactedServicesToDelete(std::move(value)); return *this;} + inline UpdateCaseRequest& AddImpactedServicesToDelete(const Aws::String& value) { m_impactedServicesToDeleteHasBeenSet = true; m_impactedServicesToDelete.push_back(value); return *this; } + inline UpdateCaseRequest& AddImpactedServicesToDelete(Aws::String&& value) { m_impactedServicesToDeleteHasBeenSet = true; m_impactedServicesToDelete.push_back(std::move(value)); return *this; } + inline UpdateCaseRequest& AddImpactedServicesToDelete(const char* value) { m_impactedServicesToDeleteHasBeenSet = true; m_impactedServicesToDelete.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content to add regions + * impacted.

        + */ + inline const Aws::Vector& GetImpactedAwsRegionsToAdd() const{ return m_impactedAwsRegionsToAdd; } + inline bool ImpactedAwsRegionsToAddHasBeenSet() const { return m_impactedAwsRegionsToAddHasBeenSet; } + inline void SetImpactedAwsRegionsToAdd(const Aws::Vector& value) { m_impactedAwsRegionsToAddHasBeenSet = true; m_impactedAwsRegionsToAdd = value; } + inline void SetImpactedAwsRegionsToAdd(Aws::Vector&& value) { m_impactedAwsRegionsToAddHasBeenSet = true; m_impactedAwsRegionsToAdd = std::move(value); } + inline UpdateCaseRequest& WithImpactedAwsRegionsToAdd(const Aws::Vector& value) { SetImpactedAwsRegionsToAdd(value); return *this;} + inline UpdateCaseRequest& WithImpactedAwsRegionsToAdd(Aws::Vector&& value) { SetImpactedAwsRegionsToAdd(std::move(value)); return *this;} + inline UpdateCaseRequest& AddImpactedAwsRegionsToAdd(const ImpactedAwsRegion& value) { m_impactedAwsRegionsToAddHasBeenSet = true; m_impactedAwsRegionsToAdd.push_back(value); return *this; } + inline UpdateCaseRequest& AddImpactedAwsRegionsToAdd(ImpactedAwsRegion&& value) { m_impactedAwsRegionsToAddHasBeenSet = true; m_impactedAwsRegionsToAdd.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content to remove regions + * impacted.

        + */ + inline const Aws::Vector& GetImpactedAwsRegionsToDelete() const{ return m_impactedAwsRegionsToDelete; } + inline bool ImpactedAwsRegionsToDeleteHasBeenSet() const { return m_impactedAwsRegionsToDeleteHasBeenSet; } + inline void SetImpactedAwsRegionsToDelete(const Aws::Vector& value) { m_impactedAwsRegionsToDeleteHasBeenSet = true; m_impactedAwsRegionsToDelete = value; } + inline void SetImpactedAwsRegionsToDelete(Aws::Vector&& value) { m_impactedAwsRegionsToDeleteHasBeenSet = true; m_impactedAwsRegionsToDelete = std::move(value); } + inline UpdateCaseRequest& WithImpactedAwsRegionsToDelete(const Aws::Vector& value) { SetImpactedAwsRegionsToDelete(value); return *this;} + inline UpdateCaseRequest& WithImpactedAwsRegionsToDelete(Aws::Vector&& value) { SetImpactedAwsRegionsToDelete(std::move(value)); return *this;} + inline UpdateCaseRequest& AddImpactedAwsRegionsToDelete(const ImpactedAwsRegion& value) { m_impactedAwsRegionsToDeleteHasBeenSet = true; m_impactedAwsRegionsToDelete.push_back(value); return *this; } + inline UpdateCaseRequest& AddImpactedAwsRegionsToDelete(ImpactedAwsRegion&& value) { m_impactedAwsRegionsToDeleteHasBeenSet = true; m_impactedAwsRegionsToDelete.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content to add accounts + * impacted.

        + */ + inline const Aws::Vector& GetImpactedAccountsToAdd() const{ return m_impactedAccountsToAdd; } + inline bool ImpactedAccountsToAddHasBeenSet() const { return m_impactedAccountsToAddHasBeenSet; } + inline void SetImpactedAccountsToAdd(const Aws::Vector& value) { m_impactedAccountsToAddHasBeenSet = true; m_impactedAccountsToAdd = value; } + inline void SetImpactedAccountsToAdd(Aws::Vector&& value) { m_impactedAccountsToAddHasBeenSet = true; m_impactedAccountsToAdd = std::move(value); } + inline UpdateCaseRequest& WithImpactedAccountsToAdd(const Aws::Vector& value) { SetImpactedAccountsToAdd(value); return *this;} + inline UpdateCaseRequest& WithImpactedAccountsToAdd(Aws::Vector&& value) { SetImpactedAccountsToAdd(std::move(value)); return *this;} + inline UpdateCaseRequest& AddImpactedAccountsToAdd(const Aws::String& value) { m_impactedAccountsToAddHasBeenSet = true; m_impactedAccountsToAdd.push_back(value); return *this; } + inline UpdateCaseRequest& AddImpactedAccountsToAdd(Aws::String&& value) { m_impactedAccountsToAddHasBeenSet = true; m_impactedAccountsToAdd.push_back(std::move(value)); return *this; } + inline UpdateCaseRequest& AddImpactedAccountsToAdd(const char* value) { m_impactedAccountsToAddHasBeenSet = true; m_impactedAccountsToAdd.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Optional element for UpdateCase to provide content to add accounts + * impacted.

        + */ + inline const Aws::Vector& GetImpactedAccountsToDelete() const{ return m_impactedAccountsToDelete; } + inline bool ImpactedAccountsToDeleteHasBeenSet() const { return m_impactedAccountsToDeleteHasBeenSet; } + inline void SetImpactedAccountsToDelete(const Aws::Vector& value) { m_impactedAccountsToDeleteHasBeenSet = true; m_impactedAccountsToDelete = value; } + inline void SetImpactedAccountsToDelete(Aws::Vector&& value) { m_impactedAccountsToDeleteHasBeenSet = true; m_impactedAccountsToDelete = std::move(value); } + inline UpdateCaseRequest& WithImpactedAccountsToDelete(const Aws::Vector& value) { SetImpactedAccountsToDelete(value); return *this;} + inline UpdateCaseRequest& WithImpactedAccountsToDelete(Aws::Vector&& value) { SetImpactedAccountsToDelete(std::move(value)); return *this;} + inline UpdateCaseRequest& AddImpactedAccountsToDelete(const Aws::String& value) { m_impactedAccountsToDeleteHasBeenSet = true; m_impactedAccountsToDelete.push_back(value); return *this; } + inline UpdateCaseRequest& AddImpactedAccountsToDelete(Aws::String&& value) { m_impactedAccountsToDeleteHasBeenSet = true; m_impactedAccountsToDelete.push_back(std::move(value)); return *this; } + inline UpdateCaseRequest& AddImpactedAccountsToDelete(const char* value) { m_impactedAccountsToDeleteHasBeenSet = true; m_impactedAccountsToDelete.push_back(value); return *this; } + ///@} + private: + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Utils::DateTime m_reportedIncidentStartDate; + bool m_reportedIncidentStartDateHasBeenSet = false; + + Aws::Utils::DateTime m_actualIncidentStartDate; + bool m_actualIncidentStartDateHasBeenSet = false; + + EngagementType m_engagementType; + bool m_engagementTypeHasBeenSet = false; + + Aws::Vector m_watchersToAdd; + bool m_watchersToAddHasBeenSet = false; + + Aws::Vector m_watchersToDelete; + bool m_watchersToDeleteHasBeenSet = false; + + Aws::Vector m_threatActorIpAddressesToAdd; + bool m_threatActorIpAddressesToAddHasBeenSet = false; + + Aws::Vector m_threatActorIpAddressesToDelete; + bool m_threatActorIpAddressesToDeleteHasBeenSet = false; + + Aws::Vector m_impactedServicesToAdd; + bool m_impactedServicesToAddHasBeenSet = false; + + Aws::Vector m_impactedServicesToDelete; + bool m_impactedServicesToDeleteHasBeenSet = false; + + Aws::Vector m_impactedAwsRegionsToAdd; + bool m_impactedAwsRegionsToAddHasBeenSet = false; + + Aws::Vector m_impactedAwsRegionsToDelete; + bool m_impactedAwsRegionsToDeleteHasBeenSet = false; + + Aws::Vector m_impactedAccountsToAdd; + bool m_impactedAccountsToAddHasBeenSet = false; + + Aws::Vector m_impactedAccountsToDelete; + bool m_impactedAccountsToDeleteHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseResult.h new file mode 100644 index 00000000000..af89f83885a --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class UpdateCaseResult + { + public: + AWS_SECURITYIR_API UpdateCaseResult(); + AWS_SECURITYIR_API UpdateCaseResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API UpdateCaseResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateCaseResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateCaseResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateCaseResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseStatusRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseStatusRequest.h new file mode 100644 index 00000000000..4d5395e7e81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseStatusRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class UpdateCaseStatusRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API UpdateCaseStatusRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateCaseStatus"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element for UpdateCaseStatus to identify the case to update.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline UpdateCaseStatusRequest& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline UpdateCaseStatusRequest& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline UpdateCaseStatusRequest& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element for UpdateCaseStatus to identify the status for a case. + * Options include Submitted | Detection and Analysis | Containment, + * Eradication and Recovery | Post-incident Activities.

        + */ + inline const SelfManagedCaseStatus& GetCaseStatus() const{ return m_caseStatus; } + inline bool CaseStatusHasBeenSet() const { return m_caseStatusHasBeenSet; } + inline void SetCaseStatus(const SelfManagedCaseStatus& value) { m_caseStatusHasBeenSet = true; m_caseStatus = value; } + inline void SetCaseStatus(SelfManagedCaseStatus&& value) { m_caseStatusHasBeenSet = true; m_caseStatus = std::move(value); } + inline UpdateCaseStatusRequest& WithCaseStatus(const SelfManagedCaseStatus& value) { SetCaseStatus(value); return *this;} + inline UpdateCaseStatusRequest& WithCaseStatus(SelfManagedCaseStatus&& value) { SetCaseStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + + SelfManagedCaseStatus m_caseStatus; + bool m_caseStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseStatusResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseStatusResult.h new file mode 100644 index 00000000000..0ee2d3c57ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateCaseStatusResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class UpdateCaseStatusResult + { + public: + AWS_SECURITYIR_API UpdateCaseStatusResult(); + AWS_SECURITYIR_API UpdateCaseStatusResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API UpdateCaseStatusResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Response element for UpdateCaseStatus showing the newly configured + * status.

        + */ + inline const SelfManagedCaseStatus& GetCaseStatus() const{ return m_caseStatus; } + inline void SetCaseStatus(const SelfManagedCaseStatus& value) { m_caseStatus = value; } + inline void SetCaseStatus(SelfManagedCaseStatus&& value) { m_caseStatus = std::move(value); } + inline UpdateCaseStatusResult& WithCaseStatus(const SelfManagedCaseStatus& value) { SetCaseStatus(value); return *this;} + inline UpdateCaseStatusResult& WithCaseStatus(SelfManagedCaseStatus&& value) { SetCaseStatus(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateCaseStatusResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateCaseStatusResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateCaseStatusResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + SelfManagedCaseStatus m_caseStatus; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateMembershipRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateMembershipRequest.h new file mode 100644 index 00000000000..c26f3cbaf38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateMembershipRequest.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class UpdateMembershipRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API UpdateMembershipRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateMembership"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element for UpdateMembership to identify the membership to + * update.

        + */ + inline const Aws::String& GetMembershipId() const{ return m_membershipId; } + inline bool MembershipIdHasBeenSet() const { return m_membershipIdHasBeenSet; } + inline void SetMembershipId(const Aws::String& value) { m_membershipIdHasBeenSet = true; m_membershipId = value; } + inline void SetMembershipId(Aws::String&& value) { m_membershipIdHasBeenSet = true; m_membershipId = std::move(value); } + inline void SetMembershipId(const char* value) { m_membershipIdHasBeenSet = true; m_membershipId.assign(value); } + inline UpdateMembershipRequest& WithMembershipId(const Aws::String& value) { SetMembershipId(value); return *this;} + inline UpdateMembershipRequest& WithMembershipId(Aws::String&& value) { SetMembershipId(std::move(value)); return *this;} + inline UpdateMembershipRequest& WithMembershipId(const char* value) { SetMembershipId(value); return *this;} + ///@} + + ///@{ + /** + *

        Optional element for UpdateMembership to update the membership name.

        + */ + inline const Aws::String& GetMembershipName() const{ return m_membershipName; } + inline bool MembershipNameHasBeenSet() const { return m_membershipNameHasBeenSet; } + inline void SetMembershipName(const Aws::String& value) { m_membershipNameHasBeenSet = true; m_membershipName = value; } + inline void SetMembershipName(Aws::String&& value) { m_membershipNameHasBeenSet = true; m_membershipName = std::move(value); } + inline void SetMembershipName(const char* value) { m_membershipNameHasBeenSet = true; m_membershipName.assign(value); } + inline UpdateMembershipRequest& WithMembershipName(const Aws::String& value) { SetMembershipName(value); return *this;} + inline UpdateMembershipRequest& WithMembershipName(Aws::String&& value) { SetMembershipName(std::move(value)); return *this;} + inline UpdateMembershipRequest& WithMembershipName(const char* value) { SetMembershipName(value); return *this;} + ///@} + + ///@{ + /** + *

        Optional element for UpdateMembership to update the membership name.

        + */ + inline const Aws::Vector& GetIncidentResponseTeam() const{ return m_incidentResponseTeam; } + inline bool IncidentResponseTeamHasBeenSet() const { return m_incidentResponseTeamHasBeenSet; } + inline void SetIncidentResponseTeam(const Aws::Vector& value) { m_incidentResponseTeamHasBeenSet = true; m_incidentResponseTeam = value; } + inline void SetIncidentResponseTeam(Aws::Vector&& value) { m_incidentResponseTeamHasBeenSet = true; m_incidentResponseTeam = std::move(value); } + inline UpdateMembershipRequest& WithIncidentResponseTeam(const Aws::Vector& value) { SetIncidentResponseTeam(value); return *this;} + inline UpdateMembershipRequest& WithIncidentResponseTeam(Aws::Vector&& value) { SetIncidentResponseTeam(std::move(value)); return *this;} + inline UpdateMembershipRequest& AddIncidentResponseTeam(const IncidentResponder& value) { m_incidentResponseTeamHasBeenSet = true; m_incidentResponseTeam.push_back(value); return *this; } + inline UpdateMembershipRequest& AddIncidentResponseTeam(IncidentResponder&& value) { m_incidentResponseTeamHasBeenSet = true; m_incidentResponseTeam.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Optional element for UpdateMembership to enable or disable opt-in features + * for the service.

        + */ + inline const Aws::Vector& GetOptInFeatures() const{ return m_optInFeatures; } + inline bool OptInFeaturesHasBeenSet() const { return m_optInFeaturesHasBeenSet; } + inline void SetOptInFeatures(const Aws::Vector& value) { m_optInFeaturesHasBeenSet = true; m_optInFeatures = value; } + inline void SetOptInFeatures(Aws::Vector&& value) { m_optInFeaturesHasBeenSet = true; m_optInFeatures = std::move(value); } + inline UpdateMembershipRequest& WithOptInFeatures(const Aws::Vector& value) { SetOptInFeatures(value); return *this;} + inline UpdateMembershipRequest& WithOptInFeatures(Aws::Vector&& value) { SetOptInFeatures(std::move(value)); return *this;} + inline UpdateMembershipRequest& AddOptInFeatures(const OptInFeature& value) { m_optInFeaturesHasBeenSet = true; m_optInFeatures.push_back(value); return *this; } + inline UpdateMembershipRequest& AddOptInFeatures(OptInFeature&& value) { m_optInFeaturesHasBeenSet = true; m_optInFeatures.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_membershipId; + bool m_membershipIdHasBeenSet = false; + + Aws::String m_membershipName; + bool m_membershipNameHasBeenSet = false; + + Aws::Vector m_incidentResponseTeam; + bool m_incidentResponseTeamHasBeenSet = false; + + Aws::Vector m_optInFeatures; + bool m_optInFeaturesHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateMembershipResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateMembershipResult.h new file mode 100644 index 00000000000..94ba2f6cf02 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateMembershipResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class UpdateMembershipResult + { + public: + AWS_SECURITYIR_API UpdateMembershipResult(); + AWS_SECURITYIR_API UpdateMembershipResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API UpdateMembershipResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateMembershipResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateMembershipResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateMembershipResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateResolverTypeRequest.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateResolverTypeRequest.h new file mode 100644 index 00000000000..0dc190c30d4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateResolverTypeRequest.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + + /** + */ + class UpdateResolverTypeRequest : public SecurityIRRequest + { + public: + AWS_SECURITYIR_API UpdateResolverTypeRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateResolverType"; } + + AWS_SECURITYIR_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Required element for UpdateResolverType to identify the case to update.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } + inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } + inline UpdateResolverTypeRequest& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline UpdateResolverTypeRequest& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline UpdateResolverTypeRequest& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + + ///@{ + /** + *

        Required element for UpdateResolverType to identify the new resolver.

        + */ + inline const ResolverType& GetResolverType() const{ return m_resolverType; } + inline bool ResolverTypeHasBeenSet() const { return m_resolverTypeHasBeenSet; } + inline void SetResolverType(const ResolverType& value) { m_resolverTypeHasBeenSet = true; m_resolverType = value; } + inline void SetResolverType(ResolverType&& value) { m_resolverTypeHasBeenSet = true; m_resolverType = std::move(value); } + inline UpdateResolverTypeRequest& WithResolverType(const ResolverType& value) { SetResolverType(value); return *this;} + inline UpdateResolverTypeRequest& WithResolverType(ResolverType&& value) { SetResolverType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_caseId; + bool m_caseIdHasBeenSet = false; + + ResolverType m_resolverType; + bool m_resolverTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateResolverTypeResult.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateResolverTypeResult.h new file mode 100644 index 00000000000..a885cc1478b --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/UpdateResolverTypeResult.h @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + class UpdateResolverTypeResult + { + public: + AWS_SECURITYIR_API UpdateResolverTypeResult(); + AWS_SECURITYIR_API UpdateResolverTypeResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYIR_API UpdateResolverTypeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Response element for UpdateResolver identifying the case ID being + * updated.

        + */ + inline const Aws::String& GetCaseId() const{ return m_caseId; } + inline void SetCaseId(const Aws::String& value) { m_caseId = value; } + inline void SetCaseId(Aws::String&& value) { m_caseId = std::move(value); } + inline void SetCaseId(const char* value) { m_caseId.assign(value); } + inline UpdateResolverTypeResult& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} + inline UpdateResolverTypeResult& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} + inline UpdateResolverTypeResult& WithCaseId(const char* value) { SetCaseId(value); return *this;} + ///@} + + ///@{ + /** + *

        Response element for UpdateResolver identifying the current status of the + * case.

        + */ + inline const CaseStatus& GetCaseStatus() const{ return m_caseStatus; } + inline void SetCaseStatus(const CaseStatus& value) { m_caseStatus = value; } + inline void SetCaseStatus(CaseStatus&& value) { m_caseStatus = std::move(value); } + inline UpdateResolverTypeResult& WithCaseStatus(const CaseStatus& value) { SetCaseStatus(value); return *this;} + inline UpdateResolverTypeResult& WithCaseStatus(CaseStatus&& value) { SetCaseStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Response element for UpdateResolver identifying the current resolver of the + * case.

        + */ + inline const ResolverType& GetResolverType() const{ return m_resolverType; } + inline void SetResolverType(const ResolverType& value) { m_resolverType = value; } + inline void SetResolverType(ResolverType&& value) { m_resolverType = std::move(value); } + inline UpdateResolverTypeResult& WithResolverType(const ResolverType& value) { SetResolverType(value); return *this;} + inline UpdateResolverTypeResult& WithResolverType(ResolverType&& value) { SetResolverType(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateResolverTypeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateResolverTypeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateResolverTypeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_caseId; + + CaseStatus m_caseStatus; + + ResolverType m_resolverType; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationException.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationException.h new file mode 100644 index 00000000000..b3870fde25a --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationException.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class ValidationException + { + public: + AWS_SECURITYIR_API ValidationException(); + AWS_SECURITYIR_API ValidationException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API ValidationException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

        Element that provides the reason the request failed validation.

        + */ + inline const ValidationExceptionReason& GetReason() const{ return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(const ValidationExceptionReason& value) { m_reasonHasBeenSet = true; m_reason = value; } + inline void SetReason(ValidationExceptionReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + inline ValidationException& WithReason(const ValidationExceptionReason& value) { SetReason(value); return *this;} + inline ValidationException& WithReason(ValidationExceptionReason&& value) { SetReason(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Element that provides the list of field(s) that caused the error, if + * applicable.

        + */ + inline const Aws::Vector& GetFieldList() const{ return m_fieldList; } + inline bool FieldListHasBeenSet() const { return m_fieldListHasBeenSet; } + inline void SetFieldList(const Aws::Vector& value) { m_fieldListHasBeenSet = true; m_fieldList = value; } + inline void SetFieldList(Aws::Vector&& value) { m_fieldListHasBeenSet = true; m_fieldList = std::move(value); } + inline ValidationException& WithFieldList(const Aws::Vector& value) { SetFieldList(value); return *this;} + inline ValidationException& WithFieldList(Aws::Vector&& value) { SetFieldList(std::move(value)); return *this;} + inline ValidationException& AddFieldList(const ValidationExceptionField& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(value); return *this; } + inline ValidationException& AddFieldList(ValidationExceptionField&& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + ValidationExceptionReason m_reason; + bool m_reasonHasBeenSet = false; + + Aws::Vector m_fieldList; + bool m_fieldListHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationExceptionField.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationExceptionField.h new file mode 100644 index 00000000000..463176e2ab7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationExceptionField.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class ValidationExceptionField + { + public: + AWS_SECURITYIR_API ValidationExceptionField(); + AWS_SECURITYIR_API ValidationExceptionField(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API ValidationExceptionField& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline ValidationExceptionField& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ValidationExceptionField& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ValidationExceptionField& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationExceptionField& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationExceptionField& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationExceptionField& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..6bfa189dc7b --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/ValidationExceptionReason.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + UNKNOWN_OPERATION, + CANNOT_PARSE, + FIELD_VALIDATION_FAILED, + OTHER + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_SECURITYIR_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_SECURITYIR_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/Watcher.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/Watcher.h new file mode 100644 index 00000000000..f6938cc57ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/model/Watcher.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityIR +{ +namespace Model +{ + + /** + *

        See Also:

        AWS + * API Reference

        + */ + class Watcher + { + public: + AWS_SECURITYIR_API Watcher(); + AWS_SECURITYIR_API Watcher(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Watcher& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYIR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        + */ + inline const Aws::String& GetEmail() const{ return m_email; } + inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; } + inline void SetEmail(const Aws::String& value) { m_emailHasBeenSet = true; m_email = value; } + inline void SetEmail(Aws::String&& value) { m_emailHasBeenSet = true; m_email = std::move(value); } + inline void SetEmail(const char* value) { m_emailHasBeenSet = true; m_email.assign(value); } + inline Watcher& WithEmail(const Aws::String& value) { SetEmail(value); return *this;} + inline Watcher& WithEmail(Aws::String&& value) { SetEmail(std::move(value)); return *this;} + inline Watcher& WithEmail(const char* value) { SetEmail(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline Watcher& WithName(const Aws::String& value) { SetName(value); return *this;} + inline Watcher& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline Watcher& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        + */ + inline const Aws::String& GetJobTitle() const{ return m_jobTitle; } + inline bool JobTitleHasBeenSet() const { return m_jobTitleHasBeenSet; } + inline void SetJobTitle(const Aws::String& value) { m_jobTitleHasBeenSet = true; m_jobTitle = value; } + inline void SetJobTitle(Aws::String&& value) { m_jobTitleHasBeenSet = true; m_jobTitle = std::move(value); } + inline void SetJobTitle(const char* value) { m_jobTitleHasBeenSet = true; m_jobTitle.assign(value); } + inline Watcher& WithJobTitle(const Aws::String& value) { SetJobTitle(value); return *this;} + inline Watcher& WithJobTitle(Aws::String&& value) { SetJobTitle(std::move(value)); return *this;} + inline Watcher& WithJobTitle(const char* value) { SetJobTitle(value); return *this;} + ///@} + private: + + Aws::String m_email; + bool m_emailHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_jobTitle; + bool m_jobTitleHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClient.cpp b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClient.cpp new file mode 100644 index 00000000000..4f9759554b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClient.cpp @@ -0,0 +1,920 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::SecurityIR; +using namespace Aws::SecurityIR::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace SecurityIR + { + const char SERVICE_NAME[] = "security-ir"; + const char ALLOCATION_TAG[] = "SecurityIRClient"; + } +} +const char* SecurityIRClient::GetServiceName() {return SERVICE_NAME;} +const char* SecurityIRClient::GetAllocationTag() {return ALLOCATION_TAG;} + +SecurityIRClient::SecurityIRClient(const SecurityIR::SecurityIRClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +SecurityIRClient::SecurityIRClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const SecurityIR::SecurityIRClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +SecurityIRClient::SecurityIRClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const SecurityIR::SecurityIRClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + SecurityIRClient::SecurityIRClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +SecurityIRClient::SecurityIRClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +SecurityIRClient::SecurityIRClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +SecurityIRClient::~SecurityIRClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& SecurityIRClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void SecurityIRClient::init(const SecurityIR::SecurityIRClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Security IR"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void SecurityIRClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +BatchGetMemberAccountDetailsOutcome SecurityIRClient::BatchGetMemberAccountDetails(const BatchGetMemberAccountDetailsRequest& request) const +{ + AWS_OPERATION_GUARD(BatchGetMemberAccountDetails); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, BatchGetMemberAccountDetails, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MembershipIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("BatchGetMemberAccountDetails", "Required field: MembershipId, is not set"); + return BatchGetMemberAccountDetailsOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MembershipId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, BatchGetMemberAccountDetails, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, BatchGetMemberAccountDetails, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".BatchGetMemberAccountDetails", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> BatchGetMemberAccountDetailsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, BatchGetMemberAccountDetails, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/membership/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMembershipId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/batch-member-details"); + return BatchGetMemberAccountDetailsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CancelMembershipOutcome SecurityIRClient::CancelMembership(const CancelMembershipRequest& request) const +{ + AWS_OPERATION_GUARD(CancelMembership); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CancelMembership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MembershipIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CancelMembership", "Required field: MembershipId, is not set"); + return CancelMembershipOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MembershipId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CancelMembership, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CancelMembership, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CancelMembership", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CancelMembershipOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CancelMembership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/membership/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMembershipId()); + return CancelMembershipOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CloseCaseOutcome SecurityIRClient::CloseCase(const CloseCaseRequest& request) const +{ + AWS_OPERATION_GUARD(CloseCase); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CloseCase, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.CaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CloseCase", "Required field: CaseId, is not set"); + return CloseCaseOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CloseCase, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CloseCase, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CloseCase", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CloseCaseOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CloseCase, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/cases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/close-case"); + return CloseCaseOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateCaseOutcome SecurityIRClient::CreateCase(const CreateCaseRequest& request) const +{ + AWS_OPERATION_GUARD(CreateCase); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateCase, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateCase, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateCase, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateCase", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateCaseOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateCase, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/create-case"); + return CreateCaseOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateCaseCommentOutcome SecurityIRClient::CreateCaseComment(const CreateCaseCommentRequest& request) const +{ + AWS_OPERATION_GUARD(CreateCaseComment); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateCaseComment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.CaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateCaseComment", "Required field: CaseId, is not set"); + return CreateCaseCommentOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateCaseComment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateCaseComment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateCaseComment", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateCaseCommentOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateCaseComment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/cases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/create-comment"); + return CreateCaseCommentOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateMembershipOutcome SecurityIRClient::CreateMembership(const CreateMembershipRequest& request) const +{ + AWS_OPERATION_GUARD(CreateMembership); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateMembership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateMembership, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateMembership, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateMembership", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateMembershipOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateMembership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/membership"); + return CreateMembershipOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetCaseOutcome SecurityIRClient::GetCase(const GetCaseRequest& request) const +{ + AWS_OPERATION_GUARD(GetCase); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetCase, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.CaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetCase", "Required field: CaseId, is not set"); + return GetCaseOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetCase, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetCase, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetCase", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetCaseOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetCase, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/cases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/get-case"); + return GetCaseOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetCaseAttachmentDownloadUrlOutcome SecurityIRClient::GetCaseAttachmentDownloadUrl(const GetCaseAttachmentDownloadUrlRequest& request) const +{ + AWS_OPERATION_GUARD(GetCaseAttachmentDownloadUrl); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetCaseAttachmentDownloadUrl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.CaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetCaseAttachmentDownloadUrl", "Required field: CaseId, is not set"); + return GetCaseAttachmentDownloadUrlOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CaseId]", false)); + } + if (!request.AttachmentIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetCaseAttachmentDownloadUrl", "Required field: AttachmentId, is not set"); + return GetCaseAttachmentDownloadUrlOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AttachmentId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetCaseAttachmentDownloadUrl, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetCaseAttachmentDownloadUrl, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetCaseAttachmentDownloadUrl", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetCaseAttachmentDownloadUrlOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetCaseAttachmentDownloadUrl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/cases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/get-presigned-url/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAttachmentId()); + return GetCaseAttachmentDownloadUrlOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetCaseAttachmentUploadUrlOutcome SecurityIRClient::GetCaseAttachmentUploadUrl(const GetCaseAttachmentUploadUrlRequest& request) const +{ + AWS_OPERATION_GUARD(GetCaseAttachmentUploadUrl); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetCaseAttachmentUploadUrl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.CaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetCaseAttachmentUploadUrl", "Required field: CaseId, is not set"); + return GetCaseAttachmentUploadUrlOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetCaseAttachmentUploadUrl, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetCaseAttachmentUploadUrl, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetCaseAttachmentUploadUrl", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetCaseAttachmentUploadUrlOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetCaseAttachmentUploadUrl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/cases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/get-presigned-url"); + return GetCaseAttachmentUploadUrlOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetMembershipOutcome SecurityIRClient::GetMembership(const GetMembershipRequest& request) const +{ + AWS_OPERATION_GUARD(GetMembership); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetMembership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MembershipIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetMembership", "Required field: MembershipId, is not set"); + return GetMembershipOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MembershipId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetMembership, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetMembership, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetMembership", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetMembershipOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetMembership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/membership/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMembershipId()); + return GetMembershipOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListCaseEditsOutcome SecurityIRClient::ListCaseEdits(const ListCaseEditsRequest& request) const +{ + AWS_OPERATION_GUARD(ListCaseEdits); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListCaseEdits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.CaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListCaseEdits", "Required field: CaseId, is not set"); + return ListCaseEditsOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListCaseEdits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListCaseEdits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListCaseEdits", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListCaseEditsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListCaseEdits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/cases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/list-case-edits"); + return ListCaseEditsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListCasesOutcome SecurityIRClient::ListCases(const ListCasesRequest& request) const +{ + AWS_OPERATION_GUARD(ListCases); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListCases, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListCases, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListCases, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListCases", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListCasesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListCases, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/list-cases"); + return ListCasesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListCommentsOutcome SecurityIRClient::ListComments(const ListCommentsRequest& request) const +{ + AWS_OPERATION_GUARD(ListComments); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListComments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.CaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListComments", "Required field: CaseId, is not set"); + return ListCommentsOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListComments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListComments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListComments", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListCommentsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListComments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/cases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/list-comments"); + return ListCommentsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListMembershipsOutcome SecurityIRClient::ListMemberships(const ListMembershipsRequest& request) const +{ + AWS_OPERATION_GUARD(ListMemberships); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListMemberships, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListMemberships, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListMemberships, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListMemberships", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListMembershipsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListMemberships, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/memberships"); + return ListMembershipsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListTagsForResourceOutcome SecurityIRClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set"); + return ListTagsForResourceOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTagsForResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return ListTagsForResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TagResourceOutcome SecurityIRClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set"); + return TagResourceOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return TagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UntagResourceOutcome SecurityIRClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + if (!request.TagKeysHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UntagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return UntagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateCaseOutcome SecurityIRClient::UpdateCase(const UpdateCaseRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateCase); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateCase, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.CaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateCase", "Required field: CaseId, is not set"); + return UpdateCaseOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateCase, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateCase, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateCase", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateCaseOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateCase, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/cases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/update-case"); + return UpdateCaseOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateCaseCommentOutcome SecurityIRClient::UpdateCaseComment(const UpdateCaseCommentRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateCaseComment); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateCaseComment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.CaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateCaseComment", "Required field: CaseId, is not set"); + return UpdateCaseCommentOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CaseId]", false)); + } + if (!request.CommentIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateCaseComment", "Required field: CommentId, is not set"); + return UpdateCaseCommentOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CommentId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateCaseComment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateCaseComment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateCaseComment", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateCaseCommentOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateCaseComment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/cases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/update-case-comment/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCommentId()); + return UpdateCaseCommentOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateCaseStatusOutcome SecurityIRClient::UpdateCaseStatus(const UpdateCaseStatusRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateCaseStatus); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateCaseStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.CaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateCaseStatus", "Required field: CaseId, is not set"); + return UpdateCaseStatusOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateCaseStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateCaseStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateCaseStatus", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateCaseStatusOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateCaseStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/cases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/update-case-status"); + return UpdateCaseStatusOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateMembershipOutcome SecurityIRClient::UpdateMembership(const UpdateMembershipRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateMembership); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateMembership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MembershipIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateMembership", "Required field: MembershipId, is not set"); + return UpdateMembershipOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MembershipId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateMembership, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateMembership, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateMembership", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateMembershipOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateMembership, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/membership/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMembershipId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/update-membership"); + return UpdateMembershipOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateResolverTypeOutcome SecurityIRClient::UpdateResolverType(const UpdateResolverTypeRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateResolverType); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateResolverType, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.CaseIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateResolverType", "Required field: CaseId, is not set"); + return UpdateResolverTypeOutcome(Aws::Client::AWSError(SecurityIRErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CaseId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateResolverType, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateResolverType, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateResolverType", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateResolverTypeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateResolverType, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/cases/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetCaseId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/update-resolver-type"); + return UpdateResolverTypeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointProvider.cpp b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointProvider.cpp new file mode 100644 index 00000000000..b70635e8937 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace SecurityIR +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointRules.cpp b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointRules.cpp new file mode 100644 index 00000000000..bf3e4b7f274 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointRules.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace SecurityIR +{ +const size_t SecurityIREndpointRules::RulesBlobStrLen = 1634; +const size_t SecurityIREndpointRules::RulesBlobSize = 1635; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','U','s','e','F','I','P','S','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e','q','u','i','r','e', +'d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e', +',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ','t','o',' ','t','h', +'e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g','i','o','n','a','l', +' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o','n','f','i','g','u', +'r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o','t',' ','h','a','v', +'e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e','n','d','p','o','i', +'n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e', +'s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"', +',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','E','n','d','p','o', +'i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K',':',':','E','n','d', +'p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r','r','i','d','e',' ', +'t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o',' ','s','e','n','d', +' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e','"',':','"','S','t', +'r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d', +'"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"', +'T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i', +'s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p', +'e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a', +'n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o', +'t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','e','c','u','r','i','t','y','-','i','r', +'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','e','c','u', +'r','i','t','y','-','i','r','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i', +'g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* SecurityIREndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRErrorMarshaller.cpp new file mode 100644 index 00000000000..802a6d12af1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::SecurityIR; + +AWSError SecurityIRErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = SecurityIRErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRErrors.cpp b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRErrors.cpp new file mode 100644 index 00000000000..d07c0270ba9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRErrors.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::SecurityIR; +using namespace Aws::SecurityIR::Model; + +namespace Aws +{ +namespace SecurityIR +{ +template<> AWS_SECURITYIR_API ConflictException SecurityIRError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityIRErrors::CONFLICT); + return ConflictException(this->GetJsonPayload().View()); +} + +template<> AWS_SECURITYIR_API ServiceQuotaExceededException SecurityIRError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityIRErrors::SERVICE_QUOTA_EXCEEDED); + return ServiceQuotaExceededException(this->GetJsonPayload().View()); +} + +template<> AWS_SECURITYIR_API ThrottlingException SecurityIRError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityIRErrors::THROTTLING); + return ThrottlingException(this->GetJsonPayload().View()); +} + +template<> AWS_SECURITYIR_API InternalServerException SecurityIRError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityIRErrors::INTERNAL_SERVER); + return InternalServerException(this->GetJsonPayload().View()); +} + +template<> AWS_SECURITYIR_API ValidationException SecurityIRError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityIRErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +namespace SecurityIRErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); +static const int INVALID_TOKEN_HASH = HashingUtils::HashString("InvalidTokenException"); +static const int SECURITY_INCIDENT_RESPONSE_NOT_ACTIVE_HASH = HashingUtils::HashString("SecurityIncidentResponseNotActiveException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(SecurityIRErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(SecurityIRErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(SecurityIRErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + else if (hashCode == INVALID_TOKEN_HASH) + { + return AWSError(static_cast(SecurityIRErrors::INVALID_TOKEN), RetryableType::RETRYABLE); + } + else if (hashCode == SECURITY_INCIDENT_RESPONSE_NOT_ACTIVE_HASH) + { + return AWSError(static_cast(SecurityIRErrors::SECURITY_INCIDENT_RESPONSE_NOT_ACTIVE), RetryableType::NOT_RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace SecurityIRErrorMapper +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRRequest.cpp new file mode 100644 index 00000000000..5c63cf4c9eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace SecurityIR +{ +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/AwsRegion.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/AwsRegion.cpp new file mode 100644 index 00000000000..86eaa149d5d --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/AwsRegion.cpp @@ -0,0 +1,282 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace AwsRegionMapper + { + + static const int af_south_1_HASH = HashingUtils::HashString("af-south-1"); + static const int ap_east_1_HASH = HashingUtils::HashString("ap-east-1"); + static const int ap_northeast_1_HASH = HashingUtils::HashString("ap-northeast-1"); + static const int ap_northeast_2_HASH = HashingUtils::HashString("ap-northeast-2"); + static const int ap_northeast_3_HASH = HashingUtils::HashString("ap-northeast-3"); + static const int ap_south_1_HASH = HashingUtils::HashString("ap-south-1"); + static const int ap_south_2_HASH = HashingUtils::HashString("ap-south-2"); + static const int ap_southeast_1_HASH = HashingUtils::HashString("ap-southeast-1"); + static const int ap_southeast_2_HASH = HashingUtils::HashString("ap-southeast-2"); + static const int ap_southeast_3_HASH = HashingUtils::HashString("ap-southeast-3"); + static const int ap_southeast_4_HASH = HashingUtils::HashString("ap-southeast-4"); + static const int ap_southeast_5_HASH = HashingUtils::HashString("ap-southeast-5"); + static const int ca_central_1_HASH = HashingUtils::HashString("ca-central-1"); + static const int ca_west_1_HASH = HashingUtils::HashString("ca-west-1"); + static const int cn_north_1_HASH = HashingUtils::HashString("cn-north-1"); + static const int cn_northwest_1_HASH = HashingUtils::HashString("cn-northwest-1"); + static const int eu_central_1_HASH = HashingUtils::HashString("eu-central-1"); + static const int eu_central_2_HASH = HashingUtils::HashString("eu-central-2"); + static const int eu_north_1_HASH = HashingUtils::HashString("eu-north-1"); + static const int eu_south_1_HASH = HashingUtils::HashString("eu-south-1"); + static const int eu_south_2_HASH = HashingUtils::HashString("eu-south-2"); + static const int eu_west_1_HASH = HashingUtils::HashString("eu-west-1"); + static const int eu_west_2_HASH = HashingUtils::HashString("eu-west-2"); + static const int eu_west_3_HASH = HashingUtils::HashString("eu-west-3"); + static const int il_central_1_HASH = HashingUtils::HashString("il-central-1"); + static const int me_central_1_HASH = HashingUtils::HashString("me-central-1"); + static const int me_south_1_HASH = HashingUtils::HashString("me-south-1"); + static const int sa_east_1_HASH = HashingUtils::HashString("sa-east-1"); + static const int us_east_1_HASH = HashingUtils::HashString("us-east-1"); + static const int us_east_2_HASH = HashingUtils::HashString("us-east-2"); + static const int us_west_1_HASH = HashingUtils::HashString("us-west-1"); + static const int us_west_2_HASH = HashingUtils::HashString("us-west-2"); + + + AwsRegion GetAwsRegionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == af_south_1_HASH) + { + return AwsRegion::af_south_1; + } + else if (hashCode == ap_east_1_HASH) + { + return AwsRegion::ap_east_1; + } + else if (hashCode == ap_northeast_1_HASH) + { + return AwsRegion::ap_northeast_1; + } + else if (hashCode == ap_northeast_2_HASH) + { + return AwsRegion::ap_northeast_2; + } + else if (hashCode == ap_northeast_3_HASH) + { + return AwsRegion::ap_northeast_3; + } + else if (hashCode == ap_south_1_HASH) + { + return AwsRegion::ap_south_1; + } + else if (hashCode == ap_south_2_HASH) + { + return AwsRegion::ap_south_2; + } + else if (hashCode == ap_southeast_1_HASH) + { + return AwsRegion::ap_southeast_1; + } + else if (hashCode == ap_southeast_2_HASH) + { + return AwsRegion::ap_southeast_2; + } + else if (hashCode == ap_southeast_3_HASH) + { + return AwsRegion::ap_southeast_3; + } + else if (hashCode == ap_southeast_4_HASH) + { + return AwsRegion::ap_southeast_4; + } + else if (hashCode == ap_southeast_5_HASH) + { + return AwsRegion::ap_southeast_5; + } + else if (hashCode == ca_central_1_HASH) + { + return AwsRegion::ca_central_1; + } + else if (hashCode == ca_west_1_HASH) + { + return AwsRegion::ca_west_1; + } + else if (hashCode == cn_north_1_HASH) + { + return AwsRegion::cn_north_1; + } + else if (hashCode == cn_northwest_1_HASH) + { + return AwsRegion::cn_northwest_1; + } + else if (hashCode == eu_central_1_HASH) + { + return AwsRegion::eu_central_1; + } + else if (hashCode == eu_central_2_HASH) + { + return AwsRegion::eu_central_2; + } + else if (hashCode == eu_north_1_HASH) + { + return AwsRegion::eu_north_1; + } + else if (hashCode == eu_south_1_HASH) + { + return AwsRegion::eu_south_1; + } + else if (hashCode == eu_south_2_HASH) + { + return AwsRegion::eu_south_2; + } + else if (hashCode == eu_west_1_HASH) + { + return AwsRegion::eu_west_1; + } + else if (hashCode == eu_west_2_HASH) + { + return AwsRegion::eu_west_2; + } + else if (hashCode == eu_west_3_HASH) + { + return AwsRegion::eu_west_3; + } + else if (hashCode == il_central_1_HASH) + { + return AwsRegion::il_central_1; + } + else if (hashCode == me_central_1_HASH) + { + return AwsRegion::me_central_1; + } + else if (hashCode == me_south_1_HASH) + { + return AwsRegion::me_south_1; + } + else if (hashCode == sa_east_1_HASH) + { + return AwsRegion::sa_east_1; + } + else if (hashCode == us_east_1_HASH) + { + return AwsRegion::us_east_1; + } + else if (hashCode == us_east_2_HASH) + { + return AwsRegion::us_east_2; + } + else if (hashCode == us_west_1_HASH) + { + return AwsRegion::us_west_1; + } + else if (hashCode == us_west_2_HASH) + { + return AwsRegion::us_west_2; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AwsRegion::NOT_SET; + } + + Aws::String GetNameForAwsRegion(AwsRegion enumValue) + { + switch(enumValue) + { + case AwsRegion::NOT_SET: + return {}; + case AwsRegion::af_south_1: + return "af-south-1"; + case AwsRegion::ap_east_1: + return "ap-east-1"; + case AwsRegion::ap_northeast_1: + return "ap-northeast-1"; + case AwsRegion::ap_northeast_2: + return "ap-northeast-2"; + case AwsRegion::ap_northeast_3: + return "ap-northeast-3"; + case AwsRegion::ap_south_1: + return "ap-south-1"; + case AwsRegion::ap_south_2: + return "ap-south-2"; + case AwsRegion::ap_southeast_1: + return "ap-southeast-1"; + case AwsRegion::ap_southeast_2: + return "ap-southeast-2"; + case AwsRegion::ap_southeast_3: + return "ap-southeast-3"; + case AwsRegion::ap_southeast_4: + return "ap-southeast-4"; + case AwsRegion::ap_southeast_5: + return "ap-southeast-5"; + case AwsRegion::ca_central_1: + return "ca-central-1"; + case AwsRegion::ca_west_1: + return "ca-west-1"; + case AwsRegion::cn_north_1: + return "cn-north-1"; + case AwsRegion::cn_northwest_1: + return "cn-northwest-1"; + case AwsRegion::eu_central_1: + return "eu-central-1"; + case AwsRegion::eu_central_2: + return "eu-central-2"; + case AwsRegion::eu_north_1: + return "eu-north-1"; + case AwsRegion::eu_south_1: + return "eu-south-1"; + case AwsRegion::eu_south_2: + return "eu-south-2"; + case AwsRegion::eu_west_1: + return "eu-west-1"; + case AwsRegion::eu_west_2: + return "eu-west-2"; + case AwsRegion::eu_west_3: + return "eu-west-3"; + case AwsRegion::il_central_1: + return "il-central-1"; + case AwsRegion::me_central_1: + return "me-central-1"; + case AwsRegion::me_south_1: + return "me-south-1"; + case AwsRegion::sa_east_1: + return "sa-east-1"; + case AwsRegion::us_east_1: + return "us-east-1"; + case AwsRegion::us_east_2: + return "us-east-2"; + case AwsRegion::us_west_1: + return "us-west-1"; + case AwsRegion::us_west_2: + return "us-west-2"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AwsRegionMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/BatchGetMemberAccountDetailsRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/BatchGetMemberAccountDetailsRequest.cpp new file mode 100644 index 00000000000..58293f8c2ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/BatchGetMemberAccountDetailsRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +BatchGetMemberAccountDetailsRequest::BatchGetMemberAccountDetailsRequest() : + m_membershipIdHasBeenSet(false), + m_accountIdsHasBeenSet(false) +{ +} + +Aws::String BatchGetMemberAccountDetailsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_accountIdsHasBeenSet) + { + Aws::Utils::Array accountIdsJsonList(m_accountIds.size()); + for(unsigned accountIdsIndex = 0; accountIdsIndex < accountIdsJsonList.GetLength(); ++accountIdsIndex) + { + accountIdsJsonList[accountIdsIndex].AsString(m_accountIds[accountIdsIndex]); + } + payload.WithArray("accountIds", std::move(accountIdsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/BatchGetMemberAccountDetailsResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/BatchGetMemberAccountDetailsResult.cpp new file mode 100644 index 00000000000..38a0ef57182 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/BatchGetMemberAccountDetailsResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +BatchGetMemberAccountDetailsResult::BatchGetMemberAccountDetailsResult() +{ +} + +BatchGetMemberAccountDetailsResult::BatchGetMemberAccountDetailsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +BatchGetMemberAccountDetailsResult& BatchGetMemberAccountDetailsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("errors")) + { + Aws::Utils::Array errorsJsonList = jsonValue.GetArray("errors"); + for(unsigned errorsIndex = 0; errorsIndex < errorsJsonList.GetLength(); ++errorsIndex) + { + m_errors.push_back(errorsJsonList[errorsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CancelMembershipRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CancelMembershipRequest.cpp new file mode 100644 index 00000000000..a96c16bcd78 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CancelMembershipRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CancelMembershipRequest::CancelMembershipRequest() : + m_membershipIdHasBeenSet(false) +{ +} + +Aws::String CancelMembershipRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CancelMembershipResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CancelMembershipResult.cpp new file mode 100644 index 00000000000..2e4dadf7f07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CancelMembershipResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CancelMembershipResult::CancelMembershipResult() +{ +} + +CancelMembershipResult::CancelMembershipResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CancelMembershipResult& CancelMembershipResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("membershipId")) + { + m_membershipId = jsonValue.GetString("membershipId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CaseAttachmentAttributes.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CaseAttachmentAttributes.cpp new file mode 100644 index 00000000000..becc7d099b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CaseAttachmentAttributes.cpp @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +CaseAttachmentAttributes::CaseAttachmentAttributes() : + m_attachmentIdHasBeenSet(false), + m_fileNameHasBeenSet(false), + m_attachmentStatus(CaseAttachmentStatus::NOT_SET), + m_attachmentStatusHasBeenSet(false), + m_creatorHasBeenSet(false), + m_createdDateHasBeenSet(false) +{ +} + +CaseAttachmentAttributes::CaseAttachmentAttributes(JsonView jsonValue) + : CaseAttachmentAttributes() +{ + *this = jsonValue; +} + +CaseAttachmentAttributes& CaseAttachmentAttributes::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("attachmentId")) + { + m_attachmentId = jsonValue.GetString("attachmentId"); + + m_attachmentIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("fileName")) + { + m_fileName = jsonValue.GetString("fileName"); + + m_fileNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("attachmentStatus")) + { + m_attachmentStatus = CaseAttachmentStatusMapper::GetCaseAttachmentStatusForName(jsonValue.GetString("attachmentStatus")); + + m_attachmentStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("creator")) + { + m_creator = jsonValue.GetString("creator"); + + m_creatorHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdDate")) + { + m_createdDate = jsonValue.GetDouble("createdDate"); + + m_createdDateHasBeenSet = true; + } + + return *this; +} + +JsonValue CaseAttachmentAttributes::Jsonize() const +{ + JsonValue payload; + + if(m_attachmentIdHasBeenSet) + { + payload.WithString("attachmentId", m_attachmentId); + + } + + if(m_fileNameHasBeenSet) + { + payload.WithString("fileName", m_fileName); + + } + + if(m_attachmentStatusHasBeenSet) + { + payload.WithString("attachmentStatus", CaseAttachmentStatusMapper::GetNameForCaseAttachmentStatus(m_attachmentStatus)); + } + + if(m_creatorHasBeenSet) + { + payload.WithString("creator", m_creator); + + } + + if(m_createdDateHasBeenSet) + { + payload.WithDouble("createdDate", m_createdDate.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CaseAttachmentStatus.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CaseAttachmentStatus.cpp new file mode 100644 index 00000000000..479e332708a --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CaseAttachmentStatus.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace CaseAttachmentStatusMapper + { + + static const int Verified_HASH = HashingUtils::HashString("Verified"); + static const int Failed_HASH = HashingUtils::HashString("Failed"); + static const int Pending_HASH = HashingUtils::HashString("Pending"); + + + CaseAttachmentStatus GetCaseAttachmentStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Verified_HASH) + { + return CaseAttachmentStatus::Verified; + } + else if (hashCode == Failed_HASH) + { + return CaseAttachmentStatus::Failed; + } + else if (hashCode == Pending_HASH) + { + return CaseAttachmentStatus::Pending; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CaseAttachmentStatus::NOT_SET; + } + + Aws::String GetNameForCaseAttachmentStatus(CaseAttachmentStatus enumValue) + { + switch(enumValue) + { + case CaseAttachmentStatus::NOT_SET: + return {}; + case CaseAttachmentStatus::Verified: + return "Verified"; + case CaseAttachmentStatus::Failed: + return "Failed"; + case CaseAttachmentStatus::Pending: + return "Pending"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CaseAttachmentStatusMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CaseEditItem.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CaseEditItem.cpp new file mode 100644 index 00000000000..6bc35697be1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CaseEditItem.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +CaseEditItem::CaseEditItem() : + m_eventTimestampHasBeenSet(false), + m_principalHasBeenSet(false), + m_actionHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +CaseEditItem::CaseEditItem(JsonView jsonValue) + : CaseEditItem() +{ + *this = jsonValue; +} + +CaseEditItem& CaseEditItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("eventTimestamp")) + { + m_eventTimestamp = jsonValue.GetDouble("eventTimestamp"); + + m_eventTimestampHasBeenSet = true; + } + + if(jsonValue.ValueExists("principal")) + { + m_principal = jsonValue.GetString("principal"); + + m_principalHasBeenSet = true; + } + + if(jsonValue.ValueExists("action")) + { + m_action = jsonValue.GetString("action"); + + m_actionHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue CaseEditItem::Jsonize() const +{ + JsonValue payload; + + if(m_eventTimestampHasBeenSet) + { + payload.WithDouble("eventTimestamp", m_eventTimestamp.SecondsWithMSPrecision()); + } + + if(m_principalHasBeenSet) + { + payload.WithString("principal", m_principal); + + } + + if(m_actionHasBeenSet) + { + payload.WithString("action", m_action); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CaseStatus.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CaseStatus.cpp new file mode 100644 index 00000000000..14ed5a74a98 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CaseStatus.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace CaseStatusMapper + { + + static const int Submitted_HASH = HashingUtils::HashString("Submitted"); + static const int Acknowledged_HASH = HashingUtils::HashString("Acknowledged"); + static const int Detection_and_Analysis_HASH = HashingUtils::HashString("Detection and Analysis"); + static const int Containment_COMMA_Eradication_and_Recovery_HASH = HashingUtils::HashString("Containment, Eradication and Recovery"); + static const int Post_incident_Activities_HASH = HashingUtils::HashString("Post-incident Activities"); + static const int Ready_to_Close_HASH = HashingUtils::HashString("Ready to Close"); + static const int Closed_HASH = HashingUtils::HashString("Closed"); + + + CaseStatus GetCaseStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Submitted_HASH) + { + return CaseStatus::Submitted; + } + else if (hashCode == Acknowledged_HASH) + { + return CaseStatus::Acknowledged; + } + else if (hashCode == Detection_and_Analysis_HASH) + { + return CaseStatus::Detection_and_Analysis; + } + else if (hashCode == Containment_COMMA_Eradication_and_Recovery_HASH) + { + return CaseStatus::Containment_COMMA_Eradication_and_Recovery; + } + else if (hashCode == Post_incident_Activities_HASH) + { + return CaseStatus::Post_incident_Activities; + } + else if (hashCode == Ready_to_Close_HASH) + { + return CaseStatus::Ready_to_Close; + } + else if (hashCode == Closed_HASH) + { + return CaseStatus::Closed; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CaseStatus::NOT_SET; + } + + Aws::String GetNameForCaseStatus(CaseStatus enumValue) + { + switch(enumValue) + { + case CaseStatus::NOT_SET: + return {}; + case CaseStatus::Submitted: + return "Submitted"; + case CaseStatus::Acknowledged: + return "Acknowledged"; + case CaseStatus::Detection_and_Analysis: + return "Detection and Analysis"; + case CaseStatus::Containment_COMMA_Eradication_and_Recovery: + return "Containment, Eradication and Recovery"; + case CaseStatus::Post_incident_Activities: + return "Post-incident Activities"; + case CaseStatus::Ready_to_Close: + return "Ready to Close"; + case CaseStatus::Closed: + return "Closed"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CaseStatusMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CloseCaseRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CloseCaseRequest.cpp new file mode 100644 index 00000000000..970d878746d --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CloseCaseRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CloseCaseRequest::CloseCaseRequest() : + m_caseIdHasBeenSet(false) +{ +} + +Aws::String CloseCaseRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CloseCaseResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CloseCaseResult.cpp new file mode 100644 index 00000000000..06406ae9792 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CloseCaseResult.cpp @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CloseCaseResult::CloseCaseResult() : + m_caseStatus(CaseStatus::NOT_SET) +{ +} + +CloseCaseResult::CloseCaseResult(const Aws::AmazonWebServiceResult& result) + : CloseCaseResult() +{ + *this = result; +} + +CloseCaseResult& CloseCaseResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("caseStatus")) + { + m_caseStatus = CaseStatusMapper::GetCaseStatusForName(jsonValue.GetString("caseStatus")); + + } + + if(jsonValue.ValueExists("closedDate")) + { + m_closedDate = jsonValue.GetDouble("closedDate"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ClosureCode.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ClosureCode.cpp new file mode 100644 index 00000000000..453288065c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ClosureCode.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace ClosureCodeMapper + { + + static const int Investigation_Completed_HASH = HashingUtils::HashString("Investigation Completed"); + static const int Not_Resolved_HASH = HashingUtils::HashString("Not Resolved"); + static const int False_Positive_HASH = HashingUtils::HashString("False Positive"); + static const int Duplicate_HASH = HashingUtils::HashString("Duplicate"); + + + ClosureCode GetClosureCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Investigation_Completed_HASH) + { + return ClosureCode::Investigation_Completed; + } + else if (hashCode == Not_Resolved_HASH) + { + return ClosureCode::Not_Resolved; + } + else if (hashCode == False_Positive_HASH) + { + return ClosureCode::False_Positive; + } + else if (hashCode == Duplicate_HASH) + { + return ClosureCode::Duplicate; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ClosureCode::NOT_SET; + } + + Aws::String GetNameForClosureCode(ClosureCode enumValue) + { + switch(enumValue) + { + case ClosureCode::NOT_SET: + return {}; + case ClosureCode::Investigation_Completed: + return "Investigation Completed"; + case ClosureCode::Not_Resolved: + return "Not Resolved"; + case ClosureCode::False_Positive: + return "False Positive"; + case ClosureCode::Duplicate: + return "Duplicate"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ClosureCodeMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ConflictException.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ConflictException.cpp new file mode 100644 index 00000000000..b2c454a8bbb --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ConflictException.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +ConflictException::ConflictException() : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ +} + +ConflictException::ConflictException(JsonView jsonValue) + : ConflictException() +{ + *this = jsonValue; +} + +ConflictException& ConflictException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + + m_resourceTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue ConflictException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseCommentRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseCommentRequest.cpp new file mode 100644 index 00000000000..eeac6931faf --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseCommentRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateCaseCommentRequest::CreateCaseCommentRequest() : + m_caseIdHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_requestBodyHasBeenSet(false) +{ +} + +Aws::String CreateCaseCommentRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_requestBodyHasBeenSet) + { + payload.WithString("body", m_requestBody); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseCommentResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseCommentResult.cpp new file mode 100644 index 00000000000..44331fb2b2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseCommentResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateCaseCommentResult::CreateCaseCommentResult() +{ +} + +CreateCaseCommentResult::CreateCaseCommentResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateCaseCommentResult& CreateCaseCommentResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("commentId")) + { + m_commentId = jsonValue.GetString("commentId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseRequest.cpp new file mode 100644 index 00000000000..08e311c61b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseRequest.cpp @@ -0,0 +1,142 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateCaseRequest::CreateCaseRequest() : + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_resolverType(ResolverType::NOT_SET), + m_resolverTypeHasBeenSet(false), + m_titleHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_engagementType(EngagementType::NOT_SET), + m_engagementTypeHasBeenSet(false), + m_reportedIncidentStartDateHasBeenSet(false), + m_impactedAccountsHasBeenSet(false), + m_watchersHasBeenSet(false), + m_threatActorIpAddressesHasBeenSet(false), + m_impactedServicesHasBeenSet(false), + m_impactedAwsRegionsHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateCaseRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_resolverTypeHasBeenSet) + { + payload.WithString("resolverType", ResolverTypeMapper::GetNameForResolverType(m_resolverType)); + } + + if(m_titleHasBeenSet) + { + payload.WithString("title", m_title); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_engagementTypeHasBeenSet) + { + payload.WithString("engagementType", EngagementTypeMapper::GetNameForEngagementType(m_engagementType)); + } + + if(m_reportedIncidentStartDateHasBeenSet) + { + payload.WithDouble("reportedIncidentStartDate", m_reportedIncidentStartDate.SecondsWithMSPrecision()); + } + + if(m_impactedAccountsHasBeenSet) + { + Aws::Utils::Array impactedAccountsJsonList(m_impactedAccounts.size()); + for(unsigned impactedAccountsIndex = 0; impactedAccountsIndex < impactedAccountsJsonList.GetLength(); ++impactedAccountsIndex) + { + impactedAccountsJsonList[impactedAccountsIndex].AsString(m_impactedAccounts[impactedAccountsIndex]); + } + payload.WithArray("impactedAccounts", std::move(impactedAccountsJsonList)); + + } + + if(m_watchersHasBeenSet) + { + Aws::Utils::Array watchersJsonList(m_watchers.size()); + for(unsigned watchersIndex = 0; watchersIndex < watchersJsonList.GetLength(); ++watchersIndex) + { + watchersJsonList[watchersIndex].AsObject(m_watchers[watchersIndex].Jsonize()); + } + payload.WithArray("watchers", std::move(watchersJsonList)); + + } + + if(m_threatActorIpAddressesHasBeenSet) + { + Aws::Utils::Array threatActorIpAddressesJsonList(m_threatActorIpAddresses.size()); + for(unsigned threatActorIpAddressesIndex = 0; threatActorIpAddressesIndex < threatActorIpAddressesJsonList.GetLength(); ++threatActorIpAddressesIndex) + { + threatActorIpAddressesJsonList[threatActorIpAddressesIndex].AsObject(m_threatActorIpAddresses[threatActorIpAddressesIndex].Jsonize()); + } + payload.WithArray("threatActorIpAddresses", std::move(threatActorIpAddressesJsonList)); + + } + + if(m_impactedServicesHasBeenSet) + { + Aws::Utils::Array impactedServicesJsonList(m_impactedServices.size()); + for(unsigned impactedServicesIndex = 0; impactedServicesIndex < impactedServicesJsonList.GetLength(); ++impactedServicesIndex) + { + impactedServicesJsonList[impactedServicesIndex].AsString(m_impactedServices[impactedServicesIndex]); + } + payload.WithArray("impactedServices", std::move(impactedServicesJsonList)); + + } + + if(m_impactedAwsRegionsHasBeenSet) + { + Aws::Utils::Array impactedAwsRegionsJsonList(m_impactedAwsRegions.size()); + for(unsigned impactedAwsRegionsIndex = 0; impactedAwsRegionsIndex < impactedAwsRegionsJsonList.GetLength(); ++impactedAwsRegionsIndex) + { + impactedAwsRegionsJsonList[impactedAwsRegionsIndex].AsObject(m_impactedAwsRegions[impactedAwsRegionsIndex].Jsonize()); + } + payload.WithArray("impactedAwsRegions", std::move(impactedAwsRegionsJsonList)); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseResult.cpp new file mode 100644 index 00000000000..6f3cd550a42 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateCaseResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateCaseResult::CreateCaseResult() +{ +} + +CreateCaseResult::CreateCaseResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateCaseResult& CreateCaseResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("caseId")) + { + m_caseId = jsonValue.GetString("caseId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CreateMembershipRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateMembershipRequest.cpp new file mode 100644 index 00000000000..852a2bed6ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateMembershipRequest.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateMembershipRequest::CreateMembershipRequest() : + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_membershipNameHasBeenSet(false), + m_incidentResponseTeamHasBeenSet(false), + m_optInFeaturesHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateMembershipRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_membershipNameHasBeenSet) + { + payload.WithString("membershipName", m_membershipName); + + } + + if(m_incidentResponseTeamHasBeenSet) + { + Aws::Utils::Array incidentResponseTeamJsonList(m_incidentResponseTeam.size()); + for(unsigned incidentResponseTeamIndex = 0; incidentResponseTeamIndex < incidentResponseTeamJsonList.GetLength(); ++incidentResponseTeamIndex) + { + incidentResponseTeamJsonList[incidentResponseTeamIndex].AsObject(m_incidentResponseTeam[incidentResponseTeamIndex].Jsonize()); + } + payload.WithArray("incidentResponseTeam", std::move(incidentResponseTeamJsonList)); + + } + + if(m_optInFeaturesHasBeenSet) + { + Aws::Utils::Array optInFeaturesJsonList(m_optInFeatures.size()); + for(unsigned optInFeaturesIndex = 0; optInFeaturesIndex < optInFeaturesJsonList.GetLength(); ++optInFeaturesIndex) + { + optInFeaturesJsonList[optInFeaturesIndex].AsObject(m_optInFeatures[optInFeaturesIndex].Jsonize()); + } + payload.WithArray("optInFeatures", std::move(optInFeaturesJsonList)); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CreateMembershipResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateMembershipResult.cpp new file mode 100644 index 00000000000..a8ff2c20714 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CreateMembershipResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateMembershipResult::CreateMembershipResult() +{ +} + +CreateMembershipResult::CreateMembershipResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateMembershipResult& CreateMembershipResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("membershipId")) + { + m_membershipId = jsonValue.GetString("membershipId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/CustomerType.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/CustomerType.cpp new file mode 100644 index 00000000000..1cae67f88cf --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/CustomerType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace CustomerTypeMapper + { + + static const int Standalone_HASH = HashingUtils::HashString("Standalone"); + static const int Organization_HASH = HashingUtils::HashString("Organization"); + + + CustomerType GetCustomerTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Standalone_HASH) + { + return CustomerType::Standalone; + } + else if (hashCode == Organization_HASH) + { + return CustomerType::Organization; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CustomerType::NOT_SET; + } + + Aws::String GetNameForCustomerType(CustomerType enumValue) + { + switch(enumValue) + { + case CustomerType::NOT_SET: + return {}; + case CustomerType::Standalone: + return "Standalone"; + case CustomerType::Organization: + return "Organization"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CustomerTypeMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/EngagementType.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/EngagementType.cpp new file mode 100644 index 00000000000..01cc2707edb --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/EngagementType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace EngagementTypeMapper + { + + static const int Security_Incident_HASH = HashingUtils::HashString("Security Incident"); + static const int Investigation_HASH = HashingUtils::HashString("Investigation"); + + + EngagementType GetEngagementTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Security_Incident_HASH) + { + return EngagementType::Security_Incident; + } + else if (hashCode == Investigation_HASH) + { + return EngagementType::Investigation; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EngagementType::NOT_SET; + } + + Aws::String GetNameForEngagementType(EngagementType enumValue) + { + switch(enumValue) + { + case EngagementType::NOT_SET: + return {}; + case EngagementType::Security_Incident: + return "Security Incident"; + case EngagementType::Investigation: + return "Investigation"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EngagementTypeMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentDownloadUrlRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentDownloadUrlRequest.cpp new file mode 100644 index 00000000000..71fc8dd7919 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentDownloadUrlRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetCaseAttachmentDownloadUrlRequest::GetCaseAttachmentDownloadUrlRequest() : + m_caseIdHasBeenSet(false), + m_attachmentIdHasBeenSet(false) +{ +} + +Aws::String GetCaseAttachmentDownloadUrlRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentDownloadUrlResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentDownloadUrlResult.cpp new file mode 100644 index 00000000000..c34fc7694bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentDownloadUrlResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetCaseAttachmentDownloadUrlResult::GetCaseAttachmentDownloadUrlResult() +{ +} + +GetCaseAttachmentDownloadUrlResult::GetCaseAttachmentDownloadUrlResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetCaseAttachmentDownloadUrlResult& GetCaseAttachmentDownloadUrlResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("attachmentPresignedUrl")) + { + m_attachmentPresignedUrl = jsonValue.GetString("attachmentPresignedUrl"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentUploadUrlRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentUploadUrlRequest.cpp new file mode 100644 index 00000000000..ee9a72bdda5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentUploadUrlRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetCaseAttachmentUploadUrlRequest::GetCaseAttachmentUploadUrlRequest() : + m_caseIdHasBeenSet(false), + m_fileNameHasBeenSet(false), + m_contentLength(0), + m_contentLengthHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String GetCaseAttachmentUploadUrlRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_fileNameHasBeenSet) + { + payload.WithString("fileName", m_fileName); + + } + + if(m_contentLengthHasBeenSet) + { + payload.WithInt64("contentLength", m_contentLength); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentUploadUrlResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentUploadUrlResult.cpp new file mode 100644 index 00000000000..fc0b3bed591 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseAttachmentUploadUrlResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetCaseAttachmentUploadUrlResult::GetCaseAttachmentUploadUrlResult() +{ +} + +GetCaseAttachmentUploadUrlResult::GetCaseAttachmentUploadUrlResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetCaseAttachmentUploadUrlResult& GetCaseAttachmentUploadUrlResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("attachmentPresignedUrl")) + { + m_attachmentPresignedUrl = jsonValue.GetString("attachmentPresignedUrl"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseRequest.cpp new file mode 100644 index 00000000000..48ae3365502 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetCaseRequest::GetCaseRequest() : + m_caseIdHasBeenSet(false) +{ +} + +Aws::String GetCaseRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseResult.cpp new file mode 100644 index 00000000000..e312f253d65 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/GetCaseResult.cpp @@ -0,0 +1,180 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetCaseResult::GetCaseResult() : + m_caseStatus(CaseStatus::NOT_SET), + m_engagementType(EngagementType::NOT_SET), + m_pendingAction(PendingAction::NOT_SET), + m_closureCode(ClosureCode::NOT_SET), + m_resolverType(ResolverType::NOT_SET) +{ +} + +GetCaseResult::GetCaseResult(const Aws::AmazonWebServiceResult& result) + : GetCaseResult() +{ + *this = result; +} + +GetCaseResult& GetCaseResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("title")) + { + m_title = jsonValue.GetString("title"); + + } + + if(jsonValue.ValueExists("caseArn")) + { + m_caseArn = jsonValue.GetString("caseArn"); + + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + } + + if(jsonValue.ValueExists("caseStatus")) + { + m_caseStatus = CaseStatusMapper::GetCaseStatusForName(jsonValue.GetString("caseStatus")); + + } + + if(jsonValue.ValueExists("engagementType")) + { + m_engagementType = EngagementTypeMapper::GetEngagementTypeForName(jsonValue.GetString("engagementType")); + + } + + if(jsonValue.ValueExists("reportedIncidentStartDate")) + { + m_reportedIncidentStartDate = jsonValue.GetDouble("reportedIncidentStartDate"); + + } + + if(jsonValue.ValueExists("actualIncidentStartDate")) + { + m_actualIncidentStartDate = jsonValue.GetDouble("actualIncidentStartDate"); + + } + + if(jsonValue.ValueExists("impactedAwsRegions")) + { + Aws::Utils::Array impactedAwsRegionsJsonList = jsonValue.GetArray("impactedAwsRegions"); + for(unsigned impactedAwsRegionsIndex = 0; impactedAwsRegionsIndex < impactedAwsRegionsJsonList.GetLength(); ++impactedAwsRegionsIndex) + { + m_impactedAwsRegions.push_back(impactedAwsRegionsJsonList[impactedAwsRegionsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("threatActorIpAddresses")) + { + Aws::Utils::Array threatActorIpAddressesJsonList = jsonValue.GetArray("threatActorIpAddresses"); + for(unsigned threatActorIpAddressesIndex = 0; threatActorIpAddressesIndex < threatActorIpAddressesJsonList.GetLength(); ++threatActorIpAddressesIndex) + { + m_threatActorIpAddresses.push_back(threatActorIpAddressesJsonList[threatActorIpAddressesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("pendingAction")) + { + m_pendingAction = PendingActionMapper::GetPendingActionForName(jsonValue.GetString("pendingAction")); + + } + + if(jsonValue.ValueExists("impactedAccounts")) + { + Aws::Utils::Array impactedAccountsJsonList = jsonValue.GetArray("impactedAccounts"); + for(unsigned impactedAccountsIndex = 0; impactedAccountsIndex < impactedAccountsJsonList.GetLength(); ++impactedAccountsIndex) + { + m_impactedAccounts.push_back(impactedAccountsJsonList[impactedAccountsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("watchers")) + { + Aws::Utils::Array watchersJsonList = jsonValue.GetArray("watchers"); + for(unsigned watchersIndex = 0; watchersIndex < watchersJsonList.GetLength(); ++watchersIndex) + { + m_watchers.push_back(watchersJsonList[watchersIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("createdDate")) + { + m_createdDate = jsonValue.GetDouble("createdDate"); + + } + + if(jsonValue.ValueExists("lastUpdatedDate")) + { + m_lastUpdatedDate = jsonValue.GetDouble("lastUpdatedDate"); + + } + + if(jsonValue.ValueExists("closureCode")) + { + m_closureCode = ClosureCodeMapper::GetClosureCodeForName(jsonValue.GetString("closureCode")); + + } + + if(jsonValue.ValueExists("resolverType")) + { + m_resolverType = ResolverTypeMapper::GetResolverTypeForName(jsonValue.GetString("resolverType")); + + } + + if(jsonValue.ValueExists("impactedServices")) + { + Aws::Utils::Array impactedServicesJsonList = jsonValue.GetArray("impactedServices"); + for(unsigned impactedServicesIndex = 0; impactedServicesIndex < impactedServicesJsonList.GetLength(); ++impactedServicesIndex) + { + m_impactedServices.push_back(impactedServicesJsonList[impactedServicesIndex].AsString()); + } + } + + if(jsonValue.ValueExists("caseAttachments")) + { + Aws::Utils::Array caseAttachmentsJsonList = jsonValue.GetArray("caseAttachments"); + for(unsigned caseAttachmentsIndex = 0; caseAttachmentsIndex < caseAttachmentsJsonList.GetLength(); ++caseAttachmentsIndex) + { + m_caseAttachments.push_back(caseAttachmentsJsonList[caseAttachmentsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("closedDate")) + { + m_closedDate = jsonValue.GetDouble("closedDate"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipAccountDetailError.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipAccountDetailError.cpp new file mode 100644 index 00000000000..0693b21175e --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipAccountDetailError.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +GetMembershipAccountDetailError::GetMembershipAccountDetailError() : + m_accountIdHasBeenSet(false), + m_errorHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +GetMembershipAccountDetailError::GetMembershipAccountDetailError(JsonView jsonValue) + : GetMembershipAccountDetailError() +{ + *this = jsonValue; +} + +GetMembershipAccountDetailError& GetMembershipAccountDetailError::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + + m_accountIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("error")) + { + m_error = jsonValue.GetString("error"); + + m_errorHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue GetMembershipAccountDetailError::Jsonize() const +{ + JsonValue payload; + + if(m_accountIdHasBeenSet) + { + payload.WithString("accountId", m_accountId); + + } + + if(m_errorHasBeenSet) + { + payload.WithString("error", m_error); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipAccountDetailItem.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipAccountDetailItem.cpp new file mode 100644 index 00000000000..cbcf1c88406 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipAccountDetailItem.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +GetMembershipAccountDetailItem::GetMembershipAccountDetailItem() : + m_accountIdHasBeenSet(false), + m_relationshipStatus(MembershipAccountRelationshipStatus::NOT_SET), + m_relationshipStatusHasBeenSet(false), + m_relationshipType(MembershipAccountRelationshipType::NOT_SET), + m_relationshipTypeHasBeenSet(false) +{ +} + +GetMembershipAccountDetailItem::GetMembershipAccountDetailItem(JsonView jsonValue) + : GetMembershipAccountDetailItem() +{ + *this = jsonValue; +} + +GetMembershipAccountDetailItem& GetMembershipAccountDetailItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + + m_accountIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("relationshipStatus")) + { + m_relationshipStatus = MembershipAccountRelationshipStatusMapper::GetMembershipAccountRelationshipStatusForName(jsonValue.GetString("relationshipStatus")); + + m_relationshipStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("relationshipType")) + { + m_relationshipType = MembershipAccountRelationshipTypeMapper::GetMembershipAccountRelationshipTypeForName(jsonValue.GetString("relationshipType")); + + m_relationshipTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue GetMembershipAccountDetailItem::Jsonize() const +{ + JsonValue payload; + + if(m_accountIdHasBeenSet) + { + payload.WithString("accountId", m_accountId); + + } + + if(m_relationshipStatusHasBeenSet) + { + payload.WithString("relationshipStatus", MembershipAccountRelationshipStatusMapper::GetNameForMembershipAccountRelationshipStatus(m_relationshipStatus)); + } + + if(m_relationshipTypeHasBeenSet) + { + payload.WithString("relationshipType", MembershipAccountRelationshipTypeMapper::GetNameForMembershipAccountRelationshipType(m_relationshipType)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipRequest.cpp new file mode 100644 index 00000000000..7fd0aa89035 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetMembershipRequest::GetMembershipRequest() : + m_membershipIdHasBeenSet(false) +{ +} + +Aws::String GetMembershipRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipResult.cpp new file mode 100644 index 00000000000..7100ae64bc8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/GetMembershipResult.cpp @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetMembershipResult::GetMembershipResult() : + m_region(AwsRegion::NOT_SET), + m_membershipStatus(MembershipStatus::NOT_SET), + m_customerType(CustomerType::NOT_SET), + m_numberOfAccountsCovered(0) +{ +} + +GetMembershipResult::GetMembershipResult(const Aws::AmazonWebServiceResult& result) + : GetMembershipResult() +{ + *this = result; +} + +GetMembershipResult& GetMembershipResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("membershipId")) + { + m_membershipId = jsonValue.GetString("membershipId"); + + } + + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + + } + + if(jsonValue.ValueExists("region")) + { + m_region = AwsRegionMapper::GetAwsRegionForName(jsonValue.GetString("region")); + + } + + if(jsonValue.ValueExists("membershipName")) + { + m_membershipName = jsonValue.GetString("membershipName"); + + } + + if(jsonValue.ValueExists("membershipArn")) + { + m_membershipArn = jsonValue.GetString("membershipArn"); + + } + + if(jsonValue.ValueExists("membershipStatus")) + { + m_membershipStatus = MembershipStatusMapper::GetMembershipStatusForName(jsonValue.GetString("membershipStatus")); + + } + + if(jsonValue.ValueExists("membershipActivationTimestamp")) + { + m_membershipActivationTimestamp = jsonValue.GetDouble("membershipActivationTimestamp"); + + } + + if(jsonValue.ValueExists("membershipDeactivationTimestamp")) + { + m_membershipDeactivationTimestamp = jsonValue.GetDouble("membershipDeactivationTimestamp"); + + } + + if(jsonValue.ValueExists("customerType")) + { + m_customerType = CustomerTypeMapper::GetCustomerTypeForName(jsonValue.GetString("customerType")); + + } + + if(jsonValue.ValueExists("numberOfAccountsCovered")) + { + m_numberOfAccountsCovered = jsonValue.GetInt64("numberOfAccountsCovered"); + + } + + if(jsonValue.ValueExists("incidentResponseTeam")) + { + Aws::Utils::Array incidentResponseTeamJsonList = jsonValue.GetArray("incidentResponseTeam"); + for(unsigned incidentResponseTeamIndex = 0; incidentResponseTeamIndex < incidentResponseTeamJsonList.GetLength(); ++incidentResponseTeamIndex) + { + m_incidentResponseTeam.push_back(incidentResponseTeamJsonList[incidentResponseTeamIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("optInFeatures")) + { + Aws::Utils::Array optInFeaturesJsonList = jsonValue.GetArray("optInFeatures"); + for(unsigned optInFeaturesIndex = 0; optInFeaturesIndex < optInFeaturesJsonList.GetLength(); ++optInFeaturesIndex) + { + m_optInFeatures.push_back(optInFeaturesJsonList[optInFeaturesIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ImpactedAwsRegion.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ImpactedAwsRegion.cpp new file mode 100644 index 00000000000..bce09b16ea0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ImpactedAwsRegion.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +ImpactedAwsRegion::ImpactedAwsRegion() : + m_region(AwsRegion::NOT_SET), + m_regionHasBeenSet(false) +{ +} + +ImpactedAwsRegion::ImpactedAwsRegion(JsonView jsonValue) + : ImpactedAwsRegion() +{ + *this = jsonValue; +} + +ImpactedAwsRegion& ImpactedAwsRegion::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("region")) + { + m_region = AwsRegionMapper::GetAwsRegionForName(jsonValue.GetString("region")); + + m_regionHasBeenSet = true; + } + + return *this; +} + +JsonValue ImpactedAwsRegion::Jsonize() const +{ + JsonValue payload; + + if(m_regionHasBeenSet) + { + payload.WithString("region", AwsRegionMapper::GetNameForAwsRegion(m_region)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/IncidentResponder.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/IncidentResponder.cpp new file mode 100644 index 00000000000..2041712b074 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/IncidentResponder.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +IncidentResponder::IncidentResponder() : + m_nameHasBeenSet(false), + m_jobTitleHasBeenSet(false), + m_emailHasBeenSet(false) +{ +} + +IncidentResponder::IncidentResponder(JsonView jsonValue) + : IncidentResponder() +{ + *this = jsonValue; +} + +IncidentResponder& IncidentResponder::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("jobTitle")) + { + m_jobTitle = jsonValue.GetString("jobTitle"); + + m_jobTitleHasBeenSet = true; + } + + if(jsonValue.ValueExists("email")) + { + m_email = jsonValue.GetString("email"); + + m_emailHasBeenSet = true; + } + + return *this; +} + +JsonValue IncidentResponder::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_jobTitleHasBeenSet) + { + payload.WithString("jobTitle", m_jobTitle); + + } + + if(m_emailHasBeenSet) + { + payload.WithString("email", m_email); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/InternalServerException.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/InternalServerException.cpp new file mode 100644 index 00000000000..2c8c3d1d83d --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/InternalServerException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +InternalServerException::InternalServerException() : + m_messageHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false) +{ +} + +InternalServerException::InternalServerException(JsonView jsonValue) + : InternalServerException() +{ + *this = jsonValue; +} + +InternalServerException& InternalServerException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue InternalServerException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListCaseEditsRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCaseEditsRequest.cpp new file mode 100644 index 00000000000..e7d4b6f8c5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCaseEditsRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListCaseEditsRequest::ListCaseEditsRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_caseIdHasBeenSet(false) +{ +} + +Aws::String ListCaseEditsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListCaseEditsResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCaseEditsResult.cpp new file mode 100644 index 00000000000..ea687d57f64 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCaseEditsResult.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListCaseEditsResult::ListCaseEditsResult() : + m_total(0) +{ +} + +ListCaseEditsResult::ListCaseEditsResult(const Aws::AmazonWebServiceResult& result) + : ListCaseEditsResult() +{ + *this = result; +} + +ListCaseEditsResult& ListCaseEditsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + if(jsonValue.ValueExists("items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("total")) + { + m_total = jsonValue.GetInteger("total"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesItem.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesItem.cpp new file mode 100644 index 00000000000..52dd55ef17b --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesItem.cpp @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +ListCasesItem::ListCasesItem() : + m_caseIdHasBeenSet(false), + m_lastUpdatedDateHasBeenSet(false), + m_titleHasBeenSet(false), + m_caseArnHasBeenSet(false), + m_engagementType(EngagementType::NOT_SET), + m_engagementTypeHasBeenSet(false), + m_caseStatus(CaseStatus::NOT_SET), + m_caseStatusHasBeenSet(false), + m_createdDateHasBeenSet(false), + m_closedDateHasBeenSet(false), + m_resolverType(ResolverType::NOT_SET), + m_resolverTypeHasBeenSet(false), + m_pendingAction(PendingAction::NOT_SET), + m_pendingActionHasBeenSet(false) +{ +} + +ListCasesItem::ListCasesItem(JsonView jsonValue) + : ListCasesItem() +{ + *this = jsonValue; +} + +ListCasesItem& ListCasesItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("caseId")) + { + m_caseId = jsonValue.GetString("caseId"); + + m_caseIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastUpdatedDate")) + { + m_lastUpdatedDate = jsonValue.GetDouble("lastUpdatedDate"); + + m_lastUpdatedDateHasBeenSet = true; + } + + if(jsonValue.ValueExists("title")) + { + m_title = jsonValue.GetString("title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("caseArn")) + { + m_caseArn = jsonValue.GetString("caseArn"); + + m_caseArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("engagementType")) + { + m_engagementType = EngagementTypeMapper::GetEngagementTypeForName(jsonValue.GetString("engagementType")); + + m_engagementTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("caseStatus")) + { + m_caseStatus = CaseStatusMapper::GetCaseStatusForName(jsonValue.GetString("caseStatus")); + + m_caseStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdDate")) + { + m_createdDate = jsonValue.GetDouble("createdDate"); + + m_createdDateHasBeenSet = true; + } + + if(jsonValue.ValueExists("closedDate")) + { + m_closedDate = jsonValue.GetDouble("closedDate"); + + m_closedDateHasBeenSet = true; + } + + if(jsonValue.ValueExists("resolverType")) + { + m_resolverType = ResolverTypeMapper::GetResolverTypeForName(jsonValue.GetString("resolverType")); + + m_resolverTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("pendingAction")) + { + m_pendingAction = PendingActionMapper::GetPendingActionForName(jsonValue.GetString("pendingAction")); + + m_pendingActionHasBeenSet = true; + } + + return *this; +} + +JsonValue ListCasesItem::Jsonize() const +{ + JsonValue payload; + + if(m_caseIdHasBeenSet) + { + payload.WithString("caseId", m_caseId); + + } + + if(m_lastUpdatedDateHasBeenSet) + { + payload.WithDouble("lastUpdatedDate", m_lastUpdatedDate.SecondsWithMSPrecision()); + } + + if(m_titleHasBeenSet) + { + payload.WithString("title", m_title); + + } + + if(m_caseArnHasBeenSet) + { + payload.WithString("caseArn", m_caseArn); + + } + + if(m_engagementTypeHasBeenSet) + { + payload.WithString("engagementType", EngagementTypeMapper::GetNameForEngagementType(m_engagementType)); + } + + if(m_caseStatusHasBeenSet) + { + payload.WithString("caseStatus", CaseStatusMapper::GetNameForCaseStatus(m_caseStatus)); + } + + if(m_createdDateHasBeenSet) + { + payload.WithDouble("createdDate", m_createdDate.SecondsWithMSPrecision()); + } + + if(m_closedDateHasBeenSet) + { + payload.WithDouble("closedDate", m_closedDate.SecondsWithMSPrecision()); + } + + if(m_resolverTypeHasBeenSet) + { + payload.WithString("resolverType", ResolverTypeMapper::GetNameForResolverType(m_resolverType)); + } + + if(m_pendingActionHasBeenSet) + { + payload.WithString("pendingAction", PendingActionMapper::GetNameForPendingAction(m_pendingAction)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesRequest.cpp new file mode 100644 index 00000000000..6ed0e19e5aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListCasesRequest::ListCasesRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListCasesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesResult.cpp new file mode 100644 index 00000000000..978b8c759e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCasesResult.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListCasesResult::ListCasesResult() : + m_total(0) +{ +} + +ListCasesResult::ListCasesResult(const Aws::AmazonWebServiceResult& result) + : ListCasesResult() +{ + *this = result; +} + +ListCasesResult& ListCasesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + if(jsonValue.ValueExists("items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("total")) + { + m_total = jsonValue.GetInt64("total"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsItem.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsItem.cpp new file mode 100644 index 00000000000..26db3acc700 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsItem.cpp @@ -0,0 +1,127 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +ListCommentsItem::ListCommentsItem() : + m_commentIdHasBeenSet(false), + m_createdDateHasBeenSet(false), + m_lastUpdatedDateHasBeenSet(false), + m_creatorHasBeenSet(false), + m_lastUpdatedByHasBeenSet(false), + m_bodyHasBeenSet(false) +{ +} + +ListCommentsItem::ListCommentsItem(JsonView jsonValue) + : ListCommentsItem() +{ + *this = jsonValue; +} + +ListCommentsItem& ListCommentsItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("commentId")) + { + m_commentId = jsonValue.GetString("commentId"); + + m_commentIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdDate")) + { + m_createdDate = jsonValue.GetDouble("createdDate"); + + m_createdDateHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastUpdatedDate")) + { + m_lastUpdatedDate = jsonValue.GetDouble("lastUpdatedDate"); + + m_lastUpdatedDateHasBeenSet = true; + } + + if(jsonValue.ValueExists("creator")) + { + m_creator = jsonValue.GetString("creator"); + + m_creatorHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastUpdatedBy")) + { + m_lastUpdatedBy = jsonValue.GetString("lastUpdatedBy"); + + m_lastUpdatedByHasBeenSet = true; + } + + if(jsonValue.ValueExists("body")) + { + m_body = jsonValue.GetString("body"); + + m_bodyHasBeenSet = true; + } + + return *this; +} + +JsonValue ListCommentsItem::Jsonize() const +{ + JsonValue payload; + + if(m_commentIdHasBeenSet) + { + payload.WithString("commentId", m_commentId); + + } + + if(m_createdDateHasBeenSet) + { + payload.WithDouble("createdDate", m_createdDate.SecondsWithMSPrecision()); + } + + if(m_lastUpdatedDateHasBeenSet) + { + payload.WithDouble("lastUpdatedDate", m_lastUpdatedDate.SecondsWithMSPrecision()); + } + + if(m_creatorHasBeenSet) + { + payload.WithString("creator", m_creator); + + } + + if(m_lastUpdatedByHasBeenSet) + { + payload.WithString("lastUpdatedBy", m_lastUpdatedBy); + + } + + if(m_bodyHasBeenSet) + { + payload.WithString("body", m_body); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsRequest.cpp new file mode 100644 index 00000000000..2dc98cba9d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListCommentsRequest::ListCommentsRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_caseIdHasBeenSet(false) +{ +} + +Aws::String ListCommentsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsResult.cpp new file mode 100644 index 00000000000..7c78a63fd73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListCommentsResult.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListCommentsResult::ListCommentsResult() : + m_total(0) +{ +} + +ListCommentsResult::ListCommentsResult(const Aws::AmazonWebServiceResult& result) + : ListCommentsResult() +{ + *this = result; +} + +ListCommentsResult& ListCommentsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + if(jsonValue.ValueExists("items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("total")) + { + m_total = jsonValue.GetInteger("total"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipItem.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipItem.cpp new file mode 100644 index 00000000000..14ce8862b63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipItem.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +ListMembershipItem::ListMembershipItem() : + m_membershipIdHasBeenSet(false), + m_accountIdHasBeenSet(false), + m_region(AwsRegion::NOT_SET), + m_regionHasBeenSet(false), + m_membershipArnHasBeenSet(false), + m_membershipStatus(MembershipStatus::NOT_SET), + m_membershipStatusHasBeenSet(false) +{ +} + +ListMembershipItem::ListMembershipItem(JsonView jsonValue) + : ListMembershipItem() +{ + *this = jsonValue; +} + +ListMembershipItem& ListMembershipItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("membershipId")) + { + m_membershipId = jsonValue.GetString("membershipId"); + + m_membershipIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + + m_accountIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("region")) + { + m_region = AwsRegionMapper::GetAwsRegionForName(jsonValue.GetString("region")); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("membershipArn")) + { + m_membershipArn = jsonValue.GetString("membershipArn"); + + m_membershipArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("membershipStatus")) + { + m_membershipStatus = MembershipStatusMapper::GetMembershipStatusForName(jsonValue.GetString("membershipStatus")); + + m_membershipStatusHasBeenSet = true; + } + + return *this; +} + +JsonValue ListMembershipItem::Jsonize() const +{ + JsonValue payload; + + if(m_membershipIdHasBeenSet) + { + payload.WithString("membershipId", m_membershipId); + + } + + if(m_accountIdHasBeenSet) + { + payload.WithString("accountId", m_accountId); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("region", AwsRegionMapper::GetNameForAwsRegion(m_region)); + } + + if(m_membershipArnHasBeenSet) + { + payload.WithString("membershipArn", m_membershipArn); + + } + + if(m_membershipStatusHasBeenSet) + { + payload.WithString("membershipStatus", MembershipStatusMapper::GetNameForMembershipStatus(m_membershipStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipsRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipsRequest.cpp new file mode 100644 index 00000000000..fbd39b4b8bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListMembershipsRequest::ListMembershipsRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListMembershipsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipsResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipsResult.cpp new file mode 100644 index 00000000000..262640d5ac4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListMembershipsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListMembershipsResult::ListMembershipsResult() +{ +} + +ListMembershipsResult::ListMembershipsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListMembershipsResult& ListMembershipsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + if(jsonValue.ValueExists("items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..1e6995fff0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListTagsForResourceRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListTagsForResourceRequest::ListTagsForResourceRequest() : + m_resourceArnHasBeenSet(false) +{ +} + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..ddf143b5059 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ListTagsForResourceResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult() +{ +} + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/MembershipAccountRelationshipStatus.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/MembershipAccountRelationshipStatus.cpp new file mode 100644 index 00000000000..a98c773a385 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/MembershipAccountRelationshipStatus.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace MembershipAccountRelationshipStatusMapper + { + + static const int Associated_HASH = HashingUtils::HashString("Associated"); + static const int Disassociated_HASH = HashingUtils::HashString("Disassociated"); + + + MembershipAccountRelationshipStatus GetMembershipAccountRelationshipStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Associated_HASH) + { + return MembershipAccountRelationshipStatus::Associated; + } + else if (hashCode == Disassociated_HASH) + { + return MembershipAccountRelationshipStatus::Disassociated; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MembershipAccountRelationshipStatus::NOT_SET; + } + + Aws::String GetNameForMembershipAccountRelationshipStatus(MembershipAccountRelationshipStatus enumValue) + { + switch(enumValue) + { + case MembershipAccountRelationshipStatus::NOT_SET: + return {}; + case MembershipAccountRelationshipStatus::Associated: + return "Associated"; + case MembershipAccountRelationshipStatus::Disassociated: + return "Disassociated"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MembershipAccountRelationshipStatusMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/MembershipAccountRelationshipType.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/MembershipAccountRelationshipType.cpp new file mode 100644 index 00000000000..8f13335ab13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/MembershipAccountRelationshipType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace MembershipAccountRelationshipTypeMapper + { + + static const int Organization_HASH = HashingUtils::HashString("Organization"); + + + MembershipAccountRelationshipType GetMembershipAccountRelationshipTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Organization_HASH) + { + return MembershipAccountRelationshipType::Organization; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MembershipAccountRelationshipType::NOT_SET; + } + + Aws::String GetNameForMembershipAccountRelationshipType(MembershipAccountRelationshipType enumValue) + { + switch(enumValue) + { + case MembershipAccountRelationshipType::NOT_SET: + return {}; + case MembershipAccountRelationshipType::Organization: + return "Organization"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MembershipAccountRelationshipTypeMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/MembershipStatus.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/MembershipStatus.cpp new file mode 100644 index 00000000000..0b3bb368b5d --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/MembershipStatus.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace MembershipStatusMapper + { + + static const int Active_HASH = HashingUtils::HashString("Active"); + static const int Cancelled_HASH = HashingUtils::HashString("Cancelled"); + static const int Terminated_HASH = HashingUtils::HashString("Terminated"); + + + MembershipStatus GetMembershipStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Active_HASH) + { + return MembershipStatus::Active; + } + else if (hashCode == Cancelled_HASH) + { + return MembershipStatus::Cancelled; + } + else if (hashCode == Terminated_HASH) + { + return MembershipStatus::Terminated; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MembershipStatus::NOT_SET; + } + + Aws::String GetNameForMembershipStatus(MembershipStatus enumValue) + { + switch(enumValue) + { + case MembershipStatus::NOT_SET: + return {}; + case MembershipStatus::Active: + return "Active"; + case MembershipStatus::Cancelled: + return "Cancelled"; + case MembershipStatus::Terminated: + return "Terminated"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MembershipStatusMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/OptInFeature.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/OptInFeature.cpp new file mode 100644 index 00000000000..3d09bd5061e --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/OptInFeature.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +OptInFeature::OptInFeature() : + m_featureName(OptInFeatureName::NOT_SET), + m_featureNameHasBeenSet(false), + m_isEnabled(false), + m_isEnabledHasBeenSet(false) +{ +} + +OptInFeature::OptInFeature(JsonView jsonValue) + : OptInFeature() +{ + *this = jsonValue; +} + +OptInFeature& OptInFeature::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("featureName")) + { + m_featureName = OptInFeatureNameMapper::GetOptInFeatureNameForName(jsonValue.GetString("featureName")); + + m_featureNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("isEnabled")) + { + m_isEnabled = jsonValue.GetBool("isEnabled"); + + m_isEnabledHasBeenSet = true; + } + + return *this; +} + +JsonValue OptInFeature::Jsonize() const +{ + JsonValue payload; + + if(m_featureNameHasBeenSet) + { + payload.WithString("featureName", OptInFeatureNameMapper::GetNameForOptInFeatureName(m_featureName)); + } + + if(m_isEnabledHasBeenSet) + { + payload.WithBool("isEnabled", m_isEnabled); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/OptInFeatureName.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/OptInFeatureName.cpp new file mode 100644 index 00000000000..607f5c540b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/OptInFeatureName.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace OptInFeatureNameMapper + { + + static const int Triage_HASH = HashingUtils::HashString("Triage"); + + + OptInFeatureName GetOptInFeatureNameForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Triage_HASH) + { + return OptInFeatureName::Triage; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OptInFeatureName::NOT_SET; + } + + Aws::String GetNameForOptInFeatureName(OptInFeatureName enumValue) + { + switch(enumValue) + { + case OptInFeatureName::NOT_SET: + return {}; + case OptInFeatureName::Triage: + return "Triage"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OptInFeatureNameMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/PendingAction.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/PendingAction.cpp new file mode 100644 index 00000000000..6bbc4fb760b --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/PendingAction.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace PendingActionMapper + { + + static const int Customer_HASH = HashingUtils::HashString("Customer"); + static const int None_HASH = HashingUtils::HashString("None"); + + + PendingAction GetPendingActionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Customer_HASH) + { + return PendingAction::Customer; + } + else if (hashCode == None_HASH) + { + return PendingAction::None; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PendingAction::NOT_SET; + } + + Aws::String GetNameForPendingAction(PendingAction enumValue) + { + switch(enumValue) + { + case PendingAction::NOT_SET: + return {}; + case PendingAction::Customer: + return "Customer"; + case PendingAction::None: + return "None"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PendingActionMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ResolverType.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ResolverType.cpp new file mode 100644 index 00000000000..3cfff82e7bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ResolverType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace ResolverTypeMapper + { + + static const int AWS_HASH = HashingUtils::HashString("AWS"); + static const int Self_HASH = HashingUtils::HashString("Self"); + + + ResolverType GetResolverTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AWS_HASH) + { + return ResolverType::AWS; + } + else if (hashCode == Self_HASH) + { + return ResolverType::Self; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResolverType::NOT_SET; + } + + Aws::String GetNameForResolverType(ResolverType enumValue) + { + switch(enumValue) + { + case ResolverType::NOT_SET: + return {}; + case ResolverType::AWS: + return "AWS"; + case ResolverType::Self: + return "Self"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResolverTypeMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/SelfManagedCaseStatus.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/SelfManagedCaseStatus.cpp new file mode 100644 index 00000000000..c597e598ab8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/SelfManagedCaseStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace SelfManagedCaseStatusMapper + { + + static const int Submitted_HASH = HashingUtils::HashString("Submitted"); + static const int Detection_and_Analysis_HASH = HashingUtils::HashString("Detection and Analysis"); + static const int Containment_COMMA_Eradication_and_Recovery_HASH = HashingUtils::HashString("Containment, Eradication and Recovery"); + static const int Post_incident_Activities_HASH = HashingUtils::HashString("Post-incident Activities"); + + + SelfManagedCaseStatus GetSelfManagedCaseStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Submitted_HASH) + { + return SelfManagedCaseStatus::Submitted; + } + else if (hashCode == Detection_and_Analysis_HASH) + { + return SelfManagedCaseStatus::Detection_and_Analysis; + } + else if (hashCode == Containment_COMMA_Eradication_and_Recovery_HASH) + { + return SelfManagedCaseStatus::Containment_COMMA_Eradication_and_Recovery; + } + else if (hashCode == Post_incident_Activities_HASH) + { + return SelfManagedCaseStatus::Post_incident_Activities; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SelfManagedCaseStatus::NOT_SET; + } + + Aws::String GetNameForSelfManagedCaseStatus(SelfManagedCaseStatus enumValue) + { + switch(enumValue) + { + case SelfManagedCaseStatus::NOT_SET: + return {}; + case SelfManagedCaseStatus::Submitted: + return "Submitted"; + case SelfManagedCaseStatus::Detection_and_Analysis: + return "Detection and Analysis"; + case SelfManagedCaseStatus::Containment_COMMA_Eradication_and_Recovery: + return "Containment, Eradication and Recovery"; + case SelfManagedCaseStatus::Post_incident_Activities: + return "Post-incident Activities"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SelfManagedCaseStatusMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ServiceQuotaExceededException.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ServiceQuotaExceededException.cpp new file mode 100644 index 00000000000..ef2731cf36f --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ServiceQuotaExceededException.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +ServiceQuotaExceededException::ServiceQuotaExceededException() : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false), + m_serviceCodeHasBeenSet(false), + m_quotaCodeHasBeenSet(false) +{ +} + +ServiceQuotaExceededException::ServiceQuotaExceededException(JsonView jsonValue) + : ServiceQuotaExceededException() +{ + *this = jsonValue; +} + +ServiceQuotaExceededException& ServiceQuotaExceededException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + + m_resourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceCode")) + { + m_serviceCode = jsonValue.GetString("serviceCode"); + + m_serviceCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("quotaCode")) + { + m_quotaCode = jsonValue.GetString("quotaCode"); + + m_quotaCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceQuotaExceededException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("serviceCode", m_serviceCode); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("quotaCode", m_quotaCode); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..7c484394f3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/TagResourceRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TagResourceRequest::TagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..eec4c32f340 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/TagResourceResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult() +{ +} + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ThreatActorIp.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ThreatActorIp.cpp new file mode 100644 index 00000000000..bedffa8b4a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ThreatActorIp.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +ThreatActorIp::ThreatActorIp() : + m_ipAddressHasBeenSet(false), + m_userAgentHasBeenSet(false) +{ +} + +ThreatActorIp::ThreatActorIp(JsonView jsonValue) + : ThreatActorIp() +{ + *this = jsonValue; +} + +ThreatActorIp& ThreatActorIp::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ipAddress")) + { + m_ipAddress = jsonValue.GetString("ipAddress"); + + m_ipAddressHasBeenSet = true; + } + + if(jsonValue.ValueExists("userAgent")) + { + m_userAgent = jsonValue.GetString("userAgent"); + + m_userAgentHasBeenSet = true; + } + + return *this; +} + +JsonValue ThreatActorIp::Jsonize() const +{ + JsonValue payload; + + if(m_ipAddressHasBeenSet) + { + payload.WithString("ipAddress", m_ipAddress); + + } + + if(m_userAgentHasBeenSet) + { + payload.WithString("userAgent", m_userAgent); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ThrottlingException.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ThrottlingException.cpp new file mode 100644 index 00000000000..6636d8c0ba7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ThrottlingException.cpp @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +ThrottlingException::ThrottlingException() : + m_messageHasBeenSet(false), + m_serviceCodeHasBeenSet(false), + m_quotaCodeHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false) +{ +} + +ThrottlingException::ThrottlingException(JsonView jsonValue) + : ThrottlingException() +{ + *this = jsonValue; +} + +ThrottlingException& ThrottlingException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceCode")) + { + m_serviceCode = jsonValue.GetString("serviceCode"); + + m_serviceCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("quotaCode")) + { + m_quotaCode = jsonValue.GetString("quotaCode"); + + m_quotaCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue ThrottlingException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("serviceCode", m_serviceCode); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("quotaCode", m_quotaCode); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..ec116dbed4f --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UntagResourceRequest.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +UntagResourceRequest::UntagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagKeysHasBeenSet(false) +{ +} + +Aws::String UntagResourceRequest::SerializePayload() const +{ + return {}; +} + +void UntagResourceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_tagKeysHasBeenSet) + { + for(const auto& item : m_tagKeys) + { + ss << item; + uri.AddQueryStringParameter("tagKeys", ss.str()); + ss.str(""); + } + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..401483fdd2b --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UntagResourceResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult() +{ +} + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseCommentRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseCommentRequest.cpp new file mode 100644 index 00000000000..bf0937b850b --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseCommentRequest.cpp @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateCaseCommentRequest::UpdateCaseCommentRequest() : + m_caseIdHasBeenSet(false), + m_commentIdHasBeenSet(false), + m_requestBodyHasBeenSet(false) +{ +} + +Aws::String UpdateCaseCommentRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_requestBodyHasBeenSet) + { + payload.WithString("body", m_requestBody); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseCommentResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseCommentResult.cpp new file mode 100644 index 00000000000..aaf88893588 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseCommentResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateCaseCommentResult::UpdateCaseCommentResult() +{ +} + +UpdateCaseCommentResult::UpdateCaseCommentResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateCaseCommentResult& UpdateCaseCommentResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("commentId")) + { + m_commentId = jsonValue.GetString("commentId"); + + } + + if(jsonValue.ValueExists("body")) + { + m_body = jsonValue.GetString("body"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseRequest.cpp new file mode 100644 index 00000000000..416950b8be8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseRequest.cpp @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateCaseRequest::UpdateCaseRequest() : + m_caseIdHasBeenSet(false), + m_titleHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_reportedIncidentStartDateHasBeenSet(false), + m_actualIncidentStartDateHasBeenSet(false), + m_engagementType(EngagementType::NOT_SET), + m_engagementTypeHasBeenSet(false), + m_watchersToAddHasBeenSet(false), + m_watchersToDeleteHasBeenSet(false), + m_threatActorIpAddressesToAddHasBeenSet(false), + m_threatActorIpAddressesToDeleteHasBeenSet(false), + m_impactedServicesToAddHasBeenSet(false), + m_impactedServicesToDeleteHasBeenSet(false), + m_impactedAwsRegionsToAddHasBeenSet(false), + m_impactedAwsRegionsToDeleteHasBeenSet(false), + m_impactedAccountsToAddHasBeenSet(false), + m_impactedAccountsToDeleteHasBeenSet(false) +{ +} + +Aws::String UpdateCaseRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_titleHasBeenSet) + { + payload.WithString("title", m_title); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_reportedIncidentStartDateHasBeenSet) + { + payload.WithDouble("reportedIncidentStartDate", m_reportedIncidentStartDate.SecondsWithMSPrecision()); + } + + if(m_actualIncidentStartDateHasBeenSet) + { + payload.WithDouble("actualIncidentStartDate", m_actualIncidentStartDate.SecondsWithMSPrecision()); + } + + if(m_engagementTypeHasBeenSet) + { + payload.WithString("engagementType", EngagementTypeMapper::GetNameForEngagementType(m_engagementType)); + } + + if(m_watchersToAddHasBeenSet) + { + Aws::Utils::Array watchersToAddJsonList(m_watchersToAdd.size()); + for(unsigned watchersToAddIndex = 0; watchersToAddIndex < watchersToAddJsonList.GetLength(); ++watchersToAddIndex) + { + watchersToAddJsonList[watchersToAddIndex].AsObject(m_watchersToAdd[watchersToAddIndex].Jsonize()); + } + payload.WithArray("watchersToAdd", std::move(watchersToAddJsonList)); + + } + + if(m_watchersToDeleteHasBeenSet) + { + Aws::Utils::Array watchersToDeleteJsonList(m_watchersToDelete.size()); + for(unsigned watchersToDeleteIndex = 0; watchersToDeleteIndex < watchersToDeleteJsonList.GetLength(); ++watchersToDeleteIndex) + { + watchersToDeleteJsonList[watchersToDeleteIndex].AsObject(m_watchersToDelete[watchersToDeleteIndex].Jsonize()); + } + payload.WithArray("watchersToDelete", std::move(watchersToDeleteJsonList)); + + } + + if(m_threatActorIpAddressesToAddHasBeenSet) + { + Aws::Utils::Array threatActorIpAddressesToAddJsonList(m_threatActorIpAddressesToAdd.size()); + for(unsigned threatActorIpAddressesToAddIndex = 0; threatActorIpAddressesToAddIndex < threatActorIpAddressesToAddJsonList.GetLength(); ++threatActorIpAddressesToAddIndex) + { + threatActorIpAddressesToAddJsonList[threatActorIpAddressesToAddIndex].AsObject(m_threatActorIpAddressesToAdd[threatActorIpAddressesToAddIndex].Jsonize()); + } + payload.WithArray("threatActorIpAddressesToAdd", std::move(threatActorIpAddressesToAddJsonList)); + + } + + if(m_threatActorIpAddressesToDeleteHasBeenSet) + { + Aws::Utils::Array threatActorIpAddressesToDeleteJsonList(m_threatActorIpAddressesToDelete.size()); + for(unsigned threatActorIpAddressesToDeleteIndex = 0; threatActorIpAddressesToDeleteIndex < threatActorIpAddressesToDeleteJsonList.GetLength(); ++threatActorIpAddressesToDeleteIndex) + { + threatActorIpAddressesToDeleteJsonList[threatActorIpAddressesToDeleteIndex].AsObject(m_threatActorIpAddressesToDelete[threatActorIpAddressesToDeleteIndex].Jsonize()); + } + payload.WithArray("threatActorIpAddressesToDelete", std::move(threatActorIpAddressesToDeleteJsonList)); + + } + + if(m_impactedServicesToAddHasBeenSet) + { + Aws::Utils::Array impactedServicesToAddJsonList(m_impactedServicesToAdd.size()); + for(unsigned impactedServicesToAddIndex = 0; impactedServicesToAddIndex < impactedServicesToAddJsonList.GetLength(); ++impactedServicesToAddIndex) + { + impactedServicesToAddJsonList[impactedServicesToAddIndex].AsString(m_impactedServicesToAdd[impactedServicesToAddIndex]); + } + payload.WithArray("impactedServicesToAdd", std::move(impactedServicesToAddJsonList)); + + } + + if(m_impactedServicesToDeleteHasBeenSet) + { + Aws::Utils::Array impactedServicesToDeleteJsonList(m_impactedServicesToDelete.size()); + for(unsigned impactedServicesToDeleteIndex = 0; impactedServicesToDeleteIndex < impactedServicesToDeleteJsonList.GetLength(); ++impactedServicesToDeleteIndex) + { + impactedServicesToDeleteJsonList[impactedServicesToDeleteIndex].AsString(m_impactedServicesToDelete[impactedServicesToDeleteIndex]); + } + payload.WithArray("impactedServicesToDelete", std::move(impactedServicesToDeleteJsonList)); + + } + + if(m_impactedAwsRegionsToAddHasBeenSet) + { + Aws::Utils::Array impactedAwsRegionsToAddJsonList(m_impactedAwsRegionsToAdd.size()); + for(unsigned impactedAwsRegionsToAddIndex = 0; impactedAwsRegionsToAddIndex < impactedAwsRegionsToAddJsonList.GetLength(); ++impactedAwsRegionsToAddIndex) + { + impactedAwsRegionsToAddJsonList[impactedAwsRegionsToAddIndex].AsObject(m_impactedAwsRegionsToAdd[impactedAwsRegionsToAddIndex].Jsonize()); + } + payload.WithArray("impactedAwsRegionsToAdd", std::move(impactedAwsRegionsToAddJsonList)); + + } + + if(m_impactedAwsRegionsToDeleteHasBeenSet) + { + Aws::Utils::Array impactedAwsRegionsToDeleteJsonList(m_impactedAwsRegionsToDelete.size()); + for(unsigned impactedAwsRegionsToDeleteIndex = 0; impactedAwsRegionsToDeleteIndex < impactedAwsRegionsToDeleteJsonList.GetLength(); ++impactedAwsRegionsToDeleteIndex) + { + impactedAwsRegionsToDeleteJsonList[impactedAwsRegionsToDeleteIndex].AsObject(m_impactedAwsRegionsToDelete[impactedAwsRegionsToDeleteIndex].Jsonize()); + } + payload.WithArray("impactedAwsRegionsToDelete", std::move(impactedAwsRegionsToDeleteJsonList)); + + } + + if(m_impactedAccountsToAddHasBeenSet) + { + Aws::Utils::Array impactedAccountsToAddJsonList(m_impactedAccountsToAdd.size()); + for(unsigned impactedAccountsToAddIndex = 0; impactedAccountsToAddIndex < impactedAccountsToAddJsonList.GetLength(); ++impactedAccountsToAddIndex) + { + impactedAccountsToAddJsonList[impactedAccountsToAddIndex].AsString(m_impactedAccountsToAdd[impactedAccountsToAddIndex]); + } + payload.WithArray("impactedAccountsToAdd", std::move(impactedAccountsToAddJsonList)); + + } + + if(m_impactedAccountsToDeleteHasBeenSet) + { + Aws::Utils::Array impactedAccountsToDeleteJsonList(m_impactedAccountsToDelete.size()); + for(unsigned impactedAccountsToDeleteIndex = 0; impactedAccountsToDeleteIndex < impactedAccountsToDeleteJsonList.GetLength(); ++impactedAccountsToDeleteIndex) + { + impactedAccountsToDeleteJsonList[impactedAccountsToDeleteIndex].AsString(m_impactedAccountsToDelete[impactedAccountsToDeleteIndex]); + } + payload.WithArray("impactedAccountsToDelete", std::move(impactedAccountsToDeleteJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseResult.cpp new file mode 100644 index 00000000000..7a07119b634 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateCaseResult::UpdateCaseResult() +{ +} + +UpdateCaseResult::UpdateCaseResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateCaseResult& UpdateCaseResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseStatusRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseStatusRequest.cpp new file mode 100644 index 00000000000..97cabe6b58d --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseStatusRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateCaseStatusRequest::UpdateCaseStatusRequest() : + m_caseIdHasBeenSet(false), + m_caseStatus(SelfManagedCaseStatus::NOT_SET), + m_caseStatusHasBeenSet(false) +{ +} + +Aws::String UpdateCaseStatusRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_caseStatusHasBeenSet) + { + payload.WithString("caseStatus", SelfManagedCaseStatusMapper::GetNameForSelfManagedCaseStatus(m_caseStatus)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseStatusResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseStatusResult.cpp new file mode 100644 index 00000000000..6c3f43ee198 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateCaseStatusResult.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateCaseStatusResult::UpdateCaseStatusResult() : + m_caseStatus(SelfManagedCaseStatus::NOT_SET) +{ +} + +UpdateCaseStatusResult::UpdateCaseStatusResult(const Aws::AmazonWebServiceResult& result) + : UpdateCaseStatusResult() +{ + *this = result; +} + +UpdateCaseStatusResult& UpdateCaseStatusResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("caseStatus")) + { + m_caseStatus = SelfManagedCaseStatusMapper::GetSelfManagedCaseStatusForName(jsonValue.GetString("caseStatus")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateMembershipRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateMembershipRequest.cpp new file mode 100644 index 00000000000..d847962c904 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateMembershipRequest.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateMembershipRequest::UpdateMembershipRequest() : + m_membershipIdHasBeenSet(false), + m_membershipNameHasBeenSet(false), + m_incidentResponseTeamHasBeenSet(false), + m_optInFeaturesHasBeenSet(false) +{ +} + +Aws::String UpdateMembershipRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_membershipNameHasBeenSet) + { + payload.WithString("membershipName", m_membershipName); + + } + + if(m_incidentResponseTeamHasBeenSet) + { + Aws::Utils::Array incidentResponseTeamJsonList(m_incidentResponseTeam.size()); + for(unsigned incidentResponseTeamIndex = 0; incidentResponseTeamIndex < incidentResponseTeamJsonList.GetLength(); ++incidentResponseTeamIndex) + { + incidentResponseTeamJsonList[incidentResponseTeamIndex].AsObject(m_incidentResponseTeam[incidentResponseTeamIndex].Jsonize()); + } + payload.WithArray("incidentResponseTeam", std::move(incidentResponseTeamJsonList)); + + } + + if(m_optInFeaturesHasBeenSet) + { + Aws::Utils::Array optInFeaturesJsonList(m_optInFeatures.size()); + for(unsigned optInFeaturesIndex = 0; optInFeaturesIndex < optInFeaturesJsonList.GetLength(); ++optInFeaturesIndex) + { + optInFeaturesJsonList[optInFeaturesIndex].AsObject(m_optInFeatures[optInFeaturesIndex].Jsonize()); + } + payload.WithArray("optInFeatures", std::move(optInFeaturesJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateMembershipResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateMembershipResult.cpp new file mode 100644 index 00000000000..e0acda700d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateMembershipResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateMembershipResult::UpdateMembershipResult() +{ +} + +UpdateMembershipResult::UpdateMembershipResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateMembershipResult& UpdateMembershipResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateResolverTypeRequest.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateResolverTypeRequest.cpp new file mode 100644 index 00000000000..f62466250a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateResolverTypeRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateResolverTypeRequest::UpdateResolverTypeRequest() : + m_caseIdHasBeenSet(false), + m_resolverType(ResolverType::NOT_SET), + m_resolverTypeHasBeenSet(false) +{ +} + +Aws::String UpdateResolverTypeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resolverTypeHasBeenSet) + { + payload.WithString("resolverType", ResolverTypeMapper::GetNameForResolverType(m_resolverType)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateResolverTypeResult.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateResolverTypeResult.cpp new file mode 100644 index 00000000000..c9429247534 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/UpdateResolverTypeResult.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityIR::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateResolverTypeResult::UpdateResolverTypeResult() : + m_caseStatus(CaseStatus::NOT_SET), + m_resolverType(ResolverType::NOT_SET) +{ +} + +UpdateResolverTypeResult::UpdateResolverTypeResult(const Aws::AmazonWebServiceResult& result) + : UpdateResolverTypeResult() +{ + *this = result; +} + +UpdateResolverTypeResult& UpdateResolverTypeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("caseId")) + { + m_caseId = jsonValue.GetString("caseId"); + + } + + if(jsonValue.ValueExists("caseStatus")) + { + m_caseStatus = CaseStatusMapper::GetCaseStatusForName(jsonValue.GetString("caseStatus")); + + } + + if(jsonValue.ValueExists("resolverType")) + { + m_resolverType = ResolverTypeMapper::GetResolverTypeForName(jsonValue.GetString("resolverType")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ValidationException.cpp new file mode 100644 index 00000000000..17f61f96051 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ValidationException.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +ValidationException::ValidationException() : + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false), + m_fieldListHasBeenSet(false) +{ +} + +ValidationException::ValidationException(JsonView jsonValue) + : ValidationException() +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("reason")); + + m_reasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("fieldList")) + { + Aws::Utils::Array fieldListJsonList = jsonValue.GetArray("fieldList"); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + m_fieldList.push_back(fieldListJsonList[fieldListIndex].AsObject()); + } + m_fieldListHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + if(m_fieldListHasBeenSet) + { + Aws::Utils::Array fieldListJsonList(m_fieldList.size()); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + fieldListJsonList[fieldListIndex].AsObject(m_fieldList[fieldListIndex].Jsonize()); + } + payload.WithArray("fieldList", std::move(fieldListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ValidationExceptionField.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ValidationExceptionField.cpp new file mode 100644 index 00000000000..b8632ca7c6c --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ValidationExceptionField.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +ValidationExceptionField::ValidationExceptionField() : + m_nameHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +ValidationExceptionField::ValidationExceptionField(JsonView jsonValue) + : ValidationExceptionField() +{ + *this = jsonValue; +} + +ValidationExceptionField& ValidationExceptionField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationExceptionField::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..2253d7884f8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/ValidationExceptionReason.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityIR + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int UNKNOWN_OPERATION_HASH = HashingUtils::HashString("UNKNOWN_OPERATION"); + static const int CANNOT_PARSE_HASH = HashingUtils::HashString("CANNOT_PARSE"); + static const int FIELD_VALIDATION_FAILED_HASH = HashingUtils::HashString("FIELD_VALIDATION_FAILED"); + static const int OTHER_HASH = HashingUtils::HashString("OTHER"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == UNKNOWN_OPERATION_HASH) + { + return ValidationExceptionReason::UNKNOWN_OPERATION; + } + else if (hashCode == CANNOT_PARSE_HASH) + { + return ValidationExceptionReason::CANNOT_PARSE; + } + else if (hashCode == FIELD_VALIDATION_FAILED_HASH) + { + return ValidationExceptionReason::FIELD_VALIDATION_FAILED; + } + else if (hashCode == OTHER_HASH) + { + return ValidationExceptionReason::OTHER; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::UNKNOWN_OPERATION: + return "UNKNOWN_OPERATION"; + case ValidationExceptionReason::CANNOT_PARSE: + return "CANNOT_PARSE"; + case ValidationExceptionReason::FIELD_VALIDATION_FAILED: + return "FIELD_VALIDATION_FAILED"; + case ValidationExceptionReason::OTHER: + return "OTHER"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/model/Watcher.cpp b/generated/src/aws-cpp-sdk-security-ir/source/model/Watcher.cpp new file mode 100644 index 00000000000..e7c35c3893c --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/model/Watcher.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityIR +{ +namespace Model +{ + +Watcher::Watcher() : + m_emailHasBeenSet(false), + m_nameHasBeenSet(false), + m_jobTitleHasBeenSet(false) +{ +} + +Watcher::Watcher(JsonView jsonValue) + : Watcher() +{ + *this = jsonValue; +} + +Watcher& Watcher::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("email")) + { + m_email = jsonValue.GetString("email"); + + m_emailHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("jobTitle")) + { + m_jobTitle = jsonValue.GetString("jobTitle"); + + m_jobTitleHasBeenSet = true; + } + + return *this; +} + +JsonValue Watcher::Jsonize() const +{ + JsonValue payload; + + if(m_emailHasBeenSet) + { + payload.WithString("email", m_email); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_jobTitleHasBeenSet) + { + payload.WithString("jobTitle", m_jobTitle); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Actor.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Actor.h new file mode 100644 index 00000000000..9f4558868f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Actor.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        Information about the threat actor identified in an Amazon GuardDuty + * Extended Threat Detection attack sequence. GuardDuty generates an attack + * sequence finding when multiple events align to a potentially suspicious + * activity. To receive GuardDuty attack sequence findings in Security Hub, you + * must have GuardDuty and GuardDuty S3 Protection enabled. For more information, + * see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User + * Guide.

        See Also:

        AWS + * API Reference

        + */ + class Actor + { + public: + AWS_SECURITYHUB_API Actor(); + AWS_SECURITYHUB_API Actor(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Actor& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The ID of the threat actor.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline Actor& WithId(const Aws::String& value) { SetId(value); return *this;} + inline Actor& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline Actor& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the user credentials used by the threat + * actor.

        + */ + inline const ActorUser& GetUser() const{ return m_user; } + inline bool UserHasBeenSet() const { return m_userHasBeenSet; } + inline void SetUser(const ActorUser& value) { m_userHasBeenSet = true; m_user = value; } + inline void SetUser(ActorUser&& value) { m_userHasBeenSet = true; m_user = std::move(value); } + inline Actor& WithUser(const ActorUser& value) { SetUser(value); return *this;} + inline Actor& WithUser(ActorUser&& value) { SetUser(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Contains information about the user session where the activity + * initiated.

        + */ + inline const ActorSession& GetSession() const{ return m_session; } + inline bool SessionHasBeenSet() const { return m_sessionHasBeenSet; } + inline void SetSession(const ActorSession& value) { m_sessionHasBeenSet = true; m_session = value; } + inline void SetSession(ActorSession&& value) { m_sessionHasBeenSet = true; m_session = std::move(value); } + inline Actor& WithSession(const ActorSession& value) { SetSession(value); return *this;} + inline Actor& WithSession(ActorSession&& value) { SetSession(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + ActorUser m_user; + bool m_userHasBeenSet = false; + + ActorSession m_session; + bool m_sessionHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorSession.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorSession.h new file mode 100644 index 00000000000..8ecffd45b78 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorSession.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        Contains information about the authenticated session used by the threat + * actor identified in an Amazon GuardDuty Extended Threat Detection attack + * sequence. GuardDuty generates an attack sequence finding when multiple events + * align to a potentially suspicious activity. To receive GuardDuty attack sequence + * findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection + * enabled. For more information, see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User + * Guide.

        See Also:

        AWS + * API Reference

        + */ + class ActorSession + { + public: + AWS_SECURITYHUB_API ActorSession(); + AWS_SECURITYHUB_API ActorSession(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ActorSession& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Unique identifier of the session.

        + */ + inline const Aws::String& GetUid() const{ return m_uid; } + inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } + inline void SetUid(const Aws::String& value) { m_uidHasBeenSet = true; m_uid = value; } + inline void SetUid(Aws::String&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } + inline void SetUid(const char* value) { m_uidHasBeenSet = true; m_uid.assign(value); } + inline ActorSession& WithUid(const Aws::String& value) { SetUid(value); return *this;} + inline ActorSession& WithUid(Aws::String&& value) { SetUid(std::move(value)); return *this;} + inline ActorSession& WithUid(const char* value) { SetUid(value); return *this;} + ///@} + + ///@{ + /** + *

        Indicates whether multi-factor authentication (MFA) was used for + * authentication during the session.

        In CloudTrail, you can find this value + * as userIdentity.sessionContext.attributes.mfaAuthenticated.

        + */ + inline const ActorSessionMfaStatus& GetMfaStatus() const{ return m_mfaStatus; } + inline bool MfaStatusHasBeenSet() const { return m_mfaStatusHasBeenSet; } + inline void SetMfaStatus(const ActorSessionMfaStatus& value) { m_mfaStatusHasBeenSet = true; m_mfaStatus = value; } + inline void SetMfaStatus(ActorSessionMfaStatus&& value) { m_mfaStatusHasBeenSet = true; m_mfaStatus = std::move(value); } + inline ActorSession& WithMfaStatus(const ActorSessionMfaStatus& value) { SetMfaStatus(value); return *this;} + inline ActorSession& WithMfaStatus(ActorSessionMfaStatus&& value) { SetMfaStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp for when the session was created.

        In CloudTrail, you + * can find this value as + * userIdentity.sessionContext.attributes.creationDate.

        + */ + inline long long GetCreatedTime() const{ return m_createdTime; } + inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } + inline void SetCreatedTime(long long value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } + inline ActorSession& WithCreatedTime(long long value) { SetCreatedTime(value); return *this;} + ///@} + + ///@{ + /** + *

        The issuer of the session.

        In CloudTrail, you can find this value as + * userIdentity.sessionContext.sessionIssuer.arn.

        + */ + inline const Aws::String& GetIssuer() const{ return m_issuer; } + inline bool IssuerHasBeenSet() const { return m_issuerHasBeenSet; } + inline void SetIssuer(const Aws::String& value) { m_issuerHasBeenSet = true; m_issuer = value; } + inline void SetIssuer(Aws::String&& value) { m_issuerHasBeenSet = true; m_issuer = std::move(value); } + inline void SetIssuer(const char* value) { m_issuerHasBeenSet = true; m_issuer.assign(value); } + inline ActorSession& WithIssuer(const Aws::String& value) { SetIssuer(value); return *this;} + inline ActorSession& WithIssuer(Aws::String&& value) { SetIssuer(std::move(value)); return *this;} + inline ActorSession& WithIssuer(const char* value) { SetIssuer(value); return *this;} + ///@} + private: + + Aws::String m_uid; + bool m_uidHasBeenSet = false; + + ActorSessionMfaStatus m_mfaStatus; + bool m_mfaStatusHasBeenSet = false; + + long long m_createdTime; + bool m_createdTimeHasBeenSet = false; + + Aws::String m_issuer; + bool m_issuerHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorSessionMfaStatus.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorSessionMfaStatus.h new file mode 100644 index 00000000000..bd0d44bb639 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorSessionMfaStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ActorSessionMfaStatus + { + NOT_SET, + ENABLED, + DISABLED + }; + +namespace ActorSessionMfaStatusMapper +{ +AWS_SECURITYHUB_API ActorSessionMfaStatus GetActorSessionMfaStatusForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForActorSessionMfaStatus(ActorSessionMfaStatus value); +} // namespace ActorSessionMfaStatusMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorUser.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorUser.h new file mode 100644 index 00000000000..2b5a6be0fc0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ActorUser.h @@ -0,0 +1,136 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        Contains information about the credentials used by the threat actor + * identified in an Amazon GuardDuty Extended Threat Detection attack sequence. + * GuardDuty generates an attack sequence finding when multiple events align to a + * potentially suspicious activity. To receive GuardDuty attack sequence findings + * in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. + * For more information, see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User + * Guide.

        See Also:

        AWS + * API Reference

        + */ + class ActorUser + { + public: + AWS_SECURITYHUB_API ActorUser(); + AWS_SECURITYHUB_API ActorUser(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ActorUser& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the threat actor.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline ActorUser& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ActorUser& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ActorUser& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The unique identifier of the threat actor.

        + */ + inline const Aws::String& GetUid() const{ return m_uid; } + inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } + inline void SetUid(const Aws::String& value) { m_uidHasBeenSet = true; m_uid = value; } + inline void SetUid(Aws::String&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } + inline void SetUid(const char* value) { m_uidHasBeenSet = true; m_uid.assign(value); } + inline ActorUser& WithUid(const Aws::String& value) { SetUid(value); return *this;} + inline ActorUser& WithUid(Aws::String&& value) { SetUid(std::move(value)); return *this;} + inline ActorUser& WithUid(const char* value) { SetUid(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of user.

        + */ + inline const Aws::String& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + inline ActorUser& WithType(const Aws::String& value) { SetType(value); return *this;} + inline ActorUser& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + inline ActorUser& WithType(const char* value) { SetType(value); return *this;} + ///@} + + ///@{ + /** + *

        Unique identifier of the threat actor’s user credentials.

        + */ + inline const Aws::String& GetCredentialUid() const{ return m_credentialUid; } + inline bool CredentialUidHasBeenSet() const { return m_credentialUidHasBeenSet; } + inline void SetCredentialUid(const Aws::String& value) { m_credentialUidHasBeenSet = true; m_credentialUid = value; } + inline void SetCredentialUid(Aws::String&& value) { m_credentialUidHasBeenSet = true; m_credentialUid = std::move(value); } + inline void SetCredentialUid(const char* value) { m_credentialUidHasBeenSet = true; m_credentialUid.assign(value); } + inline ActorUser& WithCredentialUid(const Aws::String& value) { SetCredentialUid(value); return *this;} + inline ActorUser& WithCredentialUid(Aws::String&& value) { SetCredentialUid(std::move(value)); return *this;} + inline ActorUser& WithCredentialUid(const char* value) { SetCredentialUid(value); return *this;} + ///@} + + ///@{ + /** + *

        The account of the threat actor.

        + */ + inline const UserAccount& GetAccount() const{ return m_account; } + inline bool AccountHasBeenSet() const { return m_accountHasBeenSet; } + inline void SetAccount(const UserAccount& value) { m_accountHasBeenSet = true; m_account = value; } + inline void SetAccount(UserAccount&& value) { m_accountHasBeenSet = true; m_account = std::move(value); } + inline ActorUser& WithAccount(const UserAccount& value) { SetAccount(value); return *this;} + inline ActorUser& WithAccount(UserAccount&& value) { SetAccount(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_uid; + bool m_uidHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_credentialUid; + bool m_credentialUidHasBeenSet = false; + + UserAccount m_account; + bool m_accountHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsSecurityFinding.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsSecurityFinding.h index 0f9e16190f3..f14331f7960 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsSecurityFinding.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsSecurityFinding.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -788,6 +789,24 @@ namespace Model inline AwsSecurityFinding& WithAwsAccountName(Aws::String&& value) { SetAwsAccountName(std::move(value)); return *this;} inline AwsSecurityFinding& WithAwsAccountName(const char* value) { SetAwsAccountName(value); return *this;} ///@} + + ///@{ + /** + *

        Provides details about an Amazon GuardDuty Extended Threat Detection attack + * sequence. GuardDuty generates an attack sequence finding when multiple events + * align to a potentially suspicious activity. To receive GuardDuty attack sequence + * findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection + * enabled. For more information, see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User Guide.

        + */ + inline const Detection& GetDetection() const{ return m_detection; } + inline bool DetectionHasBeenSet() const { return m_detectionHasBeenSet; } + inline void SetDetection(const Detection& value) { m_detectionHasBeenSet = true; m_detection = value; } + inline void SetDetection(Detection&& value) { m_detectionHasBeenSet = true; m_detection = std::move(value); } + inline AwsSecurityFinding& WithDetection(const Detection& value) { SetDetection(value); return *this;} + inline AwsSecurityFinding& WithDetection(Detection&& value) { SetDetection(std::move(value)); return *this;} + ///@} private: Aws::String m_schemaVersion; @@ -921,6 +940,9 @@ namespace Model Aws::String m_awsAccountName; bool m_awsAccountNameHasBeenSet = false; + + Detection m_detection; + bool m_detectionHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectionDirection.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectionDirection.h new file mode 100644 index 00000000000..2265ec6383e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectionDirection.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ConnectionDirection + { + NOT_SET, + INBOUND, + OUTBOUND + }; + +namespace ConnectionDirectionMapper +{ +AWS_SECURITYHUB_API ConnectionDirection GetConnectionDirectionForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForConnectionDirection(ConnectionDirection value); +} // namespace ConnectionDirectionMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Detection.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Detection.h new file mode 100644 index 00000000000..b0b2970a23e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Detection.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        A top-level object field that provides details about an Amazon GuardDuty + * Extended Threat Detection attack sequence. GuardDuty generates an attack + * sequence finding when multiple events align to a potentially suspicious + * activity. To receive GuardDuty attack sequence findings in Security Hub, you + * must have GuardDuty and GuardDuty S3 Protection enabled. For more information, + * see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User + * Guide.

        See Also:

        AWS + * API Reference

        + */ + class Detection + { + public: + AWS_SECURITYHUB_API Detection(); + AWS_SECURITYHUB_API Detection(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Detection& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Provides details about an attack sequence.

        + */ + inline const Sequence& GetSequence() const{ return m_sequence; } + inline bool SequenceHasBeenSet() const { return m_sequenceHasBeenSet; } + inline void SetSequence(const Sequence& value) { m_sequenceHasBeenSet = true; m_sequence = value; } + inline void SetSequence(Sequence&& value) { m_sequenceHasBeenSet = true; m_sequence = std::move(value); } + inline Detection& WithSequence(const Sequence& value) { SetSequence(value); return *this;} + inline Detection& WithSequence(Sequence&& value) { SetSequence(std::move(value)); return *this;} + ///@} + private: + + Sequence m_sequence; + bool m_sequenceHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Indicator.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Indicator.h new file mode 100644 index 00000000000..876001c1912 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Indicator.h @@ -0,0 +1,127 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        Contains information about the indicators observed in an Amazon GuardDuty + * Extended Threat Detection attack sequence. Indicators include a set of signals, + * which can be API activities or findings that GuardDuty uses to detect an attack + * sequence finding. GuardDuty generates an attack sequence finding when multiple + * signals align to a potentially suspicious activity. To receive GuardDuty attack + * sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 + * Protection enabled. For more information, see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User Guide. + *

        See Also:

        AWS + * API Reference

        + */ + class Indicator + { + public: + AWS_SECURITYHUB_API Indicator(); + AWS_SECURITYHUB_API Indicator(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Indicator& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the indicator that’s present in the attack sequence finding. + *

        + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline Indicator& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline Indicator& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline Indicator& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

        Values associated with each indicator key. For example, if the indicator key + * is SUSPICIOUS_NETWORK, then the value will be the name of the + * network. If the indicator key is ATTACK_TACTIC, then the value will + * be one of the MITRE tactics.

        + */ + inline const Aws::Vector& GetValues() const{ return m_values; } + inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } + inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } + inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } + inline Indicator& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} + inline Indicator& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} + inline Indicator& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + inline Indicator& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } + inline Indicator& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The title describing the indicator.

        + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline Indicator& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline Indicator& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline Indicator& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of indicator.

        + */ + inline const Aws::String& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + inline Indicator& WithType(const Aws::String& value) { SetType(value); return *this;} + inline Indicator& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + inline Indicator& WithType(const char* value) { SetType(value); return *this;} + ///@} + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::Vector m_values; + bool m_valuesHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkAutonomousSystem.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkAutonomousSystem.h new file mode 100644 index 00000000000..a95d986e7e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkAutonomousSystem.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        Contains information about the Autonomous System (AS) of the network + * endpoints involved in an Amazon GuardDuty Extended Threat Detection attack + * sequence. GuardDuty generates an attack sequence finding when multiple events + * align to a potentially suspicious activity. To receive GuardDuty attack sequence + * findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection + * enabled. For more information, see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User Guide. + *

        See Also:

        AWS + * API Reference

        + */ + class NetworkAutonomousSystem + { + public: + AWS_SECURITYHUB_API NetworkAutonomousSystem(); + AWS_SECURITYHUB_API NetworkAutonomousSystem(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API NetworkAutonomousSystem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name associated with the AS.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline NetworkAutonomousSystem& WithName(const Aws::String& value) { SetName(value); return *this;} + inline NetworkAutonomousSystem& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline NetworkAutonomousSystem& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The unique number that identifies the AS.

        + */ + inline int GetNumber() const{ return m_number; } + inline bool NumberHasBeenSet() const { return m_numberHasBeenSet; } + inline void SetNumber(int value) { m_numberHasBeenSet = true; m_number = value; } + inline NetworkAutonomousSystem& WithNumber(int value) { SetNumber(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + int m_number; + bool m_numberHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkConnection.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkConnection.h new file mode 100644 index 00000000000..60f2d8820df --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkConnection.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        Contains information about the network connection involved in an Amazon + * GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an + * attack sequence finding when multiple events align to a potentially suspicious + * activity. To receive GuardDuty attack sequence findings in Security Hub, you + * must have GuardDuty and GuardDuty S3 Protection enabled. For more information, + * see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User Guide. + *

        See Also:

        AWS + * API Reference

        + */ + class NetworkConnection + { + public: + AWS_SECURITYHUB_API NetworkConnection(); + AWS_SECURITYHUB_API NetworkConnection(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API NetworkConnection& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The direction in which the network traffic is flowing.

        + */ + inline const ConnectionDirection& GetDirection() const{ return m_direction; } + inline bool DirectionHasBeenSet() const { return m_directionHasBeenSet; } + inline void SetDirection(const ConnectionDirection& value) { m_directionHasBeenSet = true; m_direction = value; } + inline void SetDirection(ConnectionDirection&& value) { m_directionHasBeenSet = true; m_direction = std::move(value); } + inline NetworkConnection& WithDirection(const ConnectionDirection& value) { SetDirection(value); return *this;} + inline NetworkConnection& WithDirection(ConnectionDirection&& value) { SetDirection(std::move(value)); return *this;} + ///@} + private: + + ConnectionDirection m_direction; + bool m_directionHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkEndpoint.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkEndpoint.h new file mode 100644 index 00000000000..4ef5a615c0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkEndpoint.h @@ -0,0 +1,166 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        Contains information about network endpoints involved in an Amazon GuardDuty + * Extended Threat Detection attack sequence. GuardDuty generates an attack + * sequence finding when multiple events align to a potentially suspicious + * activity. To receive GuardDuty attack sequence findings in Security Hub, you + * must have GuardDuty and GuardDuty S3 Protection enabled. For more information, + * see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User Guide.

        + *

        This field can provide information about the network endpoints associated + * with the resource in the attack sequence finding, or about a specific network + * endpoint used for the attack.

        See Also:

        AWS + * API Reference

        + */ + class NetworkEndpoint + { + public: + AWS_SECURITYHUB_API NetworkEndpoint(); + AWS_SECURITYHUB_API NetworkEndpoint(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API NetworkEndpoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The identifier of the network endpoint involved in the attack sequence.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline NetworkEndpoint& WithId(const Aws::String& value) { SetId(value); return *this;} + inline NetworkEndpoint& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline NetworkEndpoint& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The IP address used in the network endpoint.

        + */ + inline const Aws::String& GetIp() const{ return m_ip; } + inline bool IpHasBeenSet() const { return m_ipHasBeenSet; } + inline void SetIp(const Aws::String& value) { m_ipHasBeenSet = true; m_ip = value; } + inline void SetIp(Aws::String&& value) { m_ipHasBeenSet = true; m_ip = std::move(value); } + inline void SetIp(const char* value) { m_ipHasBeenSet = true; m_ip.assign(value); } + inline NetworkEndpoint& WithIp(const Aws::String& value) { SetIp(value); return *this;} + inline NetworkEndpoint& WithIp(Aws::String&& value) { SetIp(std::move(value)); return *this;} + inline NetworkEndpoint& WithIp(const char* value) { SetIp(value); return *this;} + ///@} + + ///@{ + /** + *

        The domain information for the network endpoint.

        + */ + inline const Aws::String& GetDomain() const{ return m_domain; } + inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } + inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } + inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } + inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } + inline NetworkEndpoint& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} + inline NetworkEndpoint& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} + inline NetworkEndpoint& WithDomain(const char* value) { SetDomain(value); return *this;} + ///@} + + ///@{ + /** + *

        The port number associated with the network endpoint.

        + */ + inline int GetPort() const{ return m_port; } + inline bool PortHasBeenSet() const { return m_portHasBeenSet; } + inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } + inline NetworkEndpoint& WithPort(int value) { SetPort(value); return *this;} + ///@} + + ///@{ + /** + *

        Information about the location of the network endpoint.

        + */ + inline const NetworkGeoLocation& GetLocation() const{ return m_location; } + inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } + inline void SetLocation(const NetworkGeoLocation& value) { m_locationHasBeenSet = true; m_location = value; } + inline void SetLocation(NetworkGeoLocation&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } + inline NetworkEndpoint& WithLocation(const NetworkGeoLocation& value) { SetLocation(value); return *this;} + inline NetworkEndpoint& WithLocation(NetworkGeoLocation&& value) { SetLocation(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Autonomous System Number (ASN) of the network endpoint.

        + */ + inline const NetworkAutonomousSystem& GetAutonomousSystem() const{ return m_autonomousSystem; } + inline bool AutonomousSystemHasBeenSet() const { return m_autonomousSystemHasBeenSet; } + inline void SetAutonomousSystem(const NetworkAutonomousSystem& value) { m_autonomousSystemHasBeenSet = true; m_autonomousSystem = value; } + inline void SetAutonomousSystem(NetworkAutonomousSystem&& value) { m_autonomousSystemHasBeenSet = true; m_autonomousSystem = std::move(value); } + inline NetworkEndpoint& WithAutonomousSystem(const NetworkAutonomousSystem& value) { SetAutonomousSystem(value); return *this;} + inline NetworkEndpoint& WithAutonomousSystem(NetworkAutonomousSystem&& value) { SetAutonomousSystem(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Information about the network connection.

        + */ + inline const NetworkConnection& GetConnection() const{ return m_connection; } + inline bool ConnectionHasBeenSet() const { return m_connectionHasBeenSet; } + inline void SetConnection(const NetworkConnection& value) { m_connectionHasBeenSet = true; m_connection = value; } + inline void SetConnection(NetworkConnection&& value) { m_connectionHasBeenSet = true; m_connection = std::move(value); } + inline NetworkEndpoint& WithConnection(const NetworkConnection& value) { SetConnection(value); return *this;} + inline NetworkEndpoint& WithConnection(NetworkConnection&& value) { SetConnection(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_ip; + bool m_ipHasBeenSet = false; + + Aws::String m_domain; + bool m_domainHasBeenSet = false; + + int m_port; + bool m_portHasBeenSet = false; + + NetworkGeoLocation m_location; + bool m_locationHasBeenSet = false; + + NetworkAutonomousSystem m_autonomousSystem; + bool m_autonomousSystemHasBeenSet = false; + + NetworkConnection m_connection; + bool m_connectionHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkGeoLocation.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkGeoLocation.h new file mode 100644 index 00000000000..8aff0454166 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NetworkGeoLocation.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        Contains information about the location of a network endpoint involved in an + * Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates + * an attack sequence finding when multiple events align to a potentially + * suspicious activity. To receive GuardDuty attack sequence findings in Security + * Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more + * information, see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User Guide. + *

        See Also:

        AWS + * API Reference

        + */ + class NetworkGeoLocation + { + public: + AWS_SECURITYHUB_API NetworkGeoLocation(); + AWS_SECURITYHUB_API NetworkGeoLocation(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API NetworkGeoLocation& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the city.

        + */ + inline const Aws::String& GetCity() const{ return m_city; } + inline bool CityHasBeenSet() const { return m_cityHasBeenSet; } + inline void SetCity(const Aws::String& value) { m_cityHasBeenSet = true; m_city = value; } + inline void SetCity(Aws::String&& value) { m_cityHasBeenSet = true; m_city = std::move(value); } + inline void SetCity(const char* value) { m_cityHasBeenSet = true; m_city.assign(value); } + inline NetworkGeoLocation& WithCity(const Aws::String& value) { SetCity(value); return *this;} + inline NetworkGeoLocation& WithCity(Aws::String&& value) { SetCity(std::move(value)); return *this;} + inline NetworkGeoLocation& WithCity(const char* value) { SetCity(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the country.

        + */ + inline const Aws::String& GetCountry() const{ return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + inline void SetCountry(const Aws::String& value) { m_countryHasBeenSet = true; m_country = value; } + inline void SetCountry(Aws::String&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } + inline void SetCountry(const char* value) { m_countryHasBeenSet = true; m_country.assign(value); } + inline NetworkGeoLocation& WithCountry(const Aws::String& value) { SetCountry(value); return *this;} + inline NetworkGeoLocation& WithCountry(Aws::String&& value) { SetCountry(std::move(value)); return *this;} + inline NetworkGeoLocation& WithCountry(const char* value) { SetCountry(value); return *this;} + ///@} + + ///@{ + /** + *

        The latitude information of the endpoint location.

        + */ + inline double GetLat() const{ return m_lat; } + inline bool LatHasBeenSet() const { return m_latHasBeenSet; } + inline void SetLat(double value) { m_latHasBeenSet = true; m_lat = value; } + inline NetworkGeoLocation& WithLat(double value) { SetLat(value); return *this;} + ///@} + + ///@{ + /** + *

        The longitude information of the endpoint location.

        + */ + inline double GetLon() const{ return m_lon; } + inline bool LonHasBeenSet() const { return m_lonHasBeenSet; } + inline void SetLon(double value) { m_lonHasBeenSet = true; m_lon = value; } + inline NetworkGeoLocation& WithLon(double value) { SetLon(value); return *this;} + ///@} + private: + + Aws::String m_city; + bool m_cityHasBeenSet = false; + + Aws::String m_country; + bool m_countryHasBeenSet = false; + + double m_lat; + bool m_latHasBeenSet = false; + + double m_lon; + bool m_lonHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlDefinition.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlDefinition.h index 5e71278be94..9d0ef840b72 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlDefinition.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlDefinition.h @@ -144,7 +144,7 @@ namespace Model /** *

        Security control properties that you can customize. Currently, only * parameter customization is supported for select controls. An empty array is - * returned for controls that don’t support custom properties.

        + * returned for controls that don���t support custom properties.

        */ inline const Aws::Vector& GetCustomizableProperties() const{ return m_customizableProperties; } inline bool CustomizablePropertiesHasBeenSet() const { return m_customizablePropertiesHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Sequence.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Sequence.h new file mode 100644 index 00000000000..b1566972812 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Sequence.h @@ -0,0 +1,146 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        Contains information about an Amazon GuardDuty Extended Threat Detection + * attack sequence finding. GuardDuty generates an attack sequence finding when + * multiple events align to a potentially suspicious activity. To receive GuardDuty + * attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty + * S3 Protection enabled. For more information, see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User Guide. + *

        See Also:

        AWS + * API Reference

        + */ + class Sequence + { + public: + AWS_SECURITYHUB_API Sequence(); + AWS_SECURITYHUB_API Sequence(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Sequence& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Unique identifier of the attack sequence.

        + */ + inline const Aws::String& GetUid() const{ return m_uid; } + inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } + inline void SetUid(const Aws::String& value) { m_uidHasBeenSet = true; m_uid = value; } + inline void SetUid(Aws::String&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } + inline void SetUid(const char* value) { m_uidHasBeenSet = true; m_uid.assign(value); } + inline Sequence& WithUid(const Aws::String& value) { SetUid(value); return *this;} + inline Sequence& WithUid(Aws::String&& value) { SetUid(std::move(value)); return *this;} + inline Sequence& WithUid(const char* value) { SetUid(value); return *this;} + ///@} + + ///@{ + /** + *

        Provides information about the actors involved in the attack sequence.

        + */ + inline const Aws::Vector& GetActors() const{ return m_actors; } + inline bool ActorsHasBeenSet() const { return m_actorsHasBeenSet; } + inline void SetActors(const Aws::Vector& value) { m_actorsHasBeenSet = true; m_actors = value; } + inline void SetActors(Aws::Vector&& value) { m_actorsHasBeenSet = true; m_actors = std::move(value); } + inline Sequence& WithActors(const Aws::Vector& value) { SetActors(value); return *this;} + inline Sequence& WithActors(Aws::Vector&& value) { SetActors(std::move(value)); return *this;} + inline Sequence& AddActors(const Actor& value) { m_actorsHasBeenSet = true; m_actors.push_back(value); return *this; } + inline Sequence& AddActors(Actor&& value) { m_actorsHasBeenSet = true; m_actors.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Contains information about the network endpoints that were used in the + * attack sequence.

        + */ + inline const Aws::Vector& GetEndpoints() const{ return m_endpoints; } + inline bool EndpointsHasBeenSet() const { return m_endpointsHasBeenSet; } + inline void SetEndpoints(const Aws::Vector& value) { m_endpointsHasBeenSet = true; m_endpoints = value; } + inline void SetEndpoints(Aws::Vector&& value) { m_endpointsHasBeenSet = true; m_endpoints = std::move(value); } + inline Sequence& WithEndpoints(const Aws::Vector& value) { SetEndpoints(value); return *this;} + inline Sequence& WithEndpoints(Aws::Vector&& value) { SetEndpoints(std::move(value)); return *this;} + inline Sequence& AddEndpoints(const NetworkEndpoint& value) { m_endpointsHasBeenSet = true; m_endpoints.push_back(value); return *this; } + inline Sequence& AddEndpoints(NetworkEndpoint&& value) { m_endpointsHasBeenSet = true; m_endpoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Contains information about the signals involved in the attack sequence.

        + */ + inline const Aws::Vector& GetSignals() const{ return m_signals; } + inline bool SignalsHasBeenSet() const { return m_signalsHasBeenSet; } + inline void SetSignals(const Aws::Vector& value) { m_signalsHasBeenSet = true; m_signals = value; } + inline void SetSignals(Aws::Vector&& value) { m_signalsHasBeenSet = true; m_signals = std::move(value); } + inline Sequence& WithSignals(const Aws::Vector& value) { SetSignals(value); return *this;} + inline Sequence& WithSignals(Aws::Vector&& value) { SetSignals(std::move(value)); return *this;} + inline Sequence& AddSignals(const Signal& value) { m_signalsHasBeenSet = true; m_signals.push_back(value); return *this; } + inline Sequence& AddSignals(Signal&& value) { m_signalsHasBeenSet = true; m_signals.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Contains information about the indicators observed in the attack sequence. + * The values for SignalIndicators + * are a subset of the values for SequenceIndicators, but the values + * for these fields don't always match 1:1.

        + */ + inline const Aws::Vector& GetSequenceIndicators() const{ return m_sequenceIndicators; } + inline bool SequenceIndicatorsHasBeenSet() const { return m_sequenceIndicatorsHasBeenSet; } + inline void SetSequenceIndicators(const Aws::Vector& value) { m_sequenceIndicatorsHasBeenSet = true; m_sequenceIndicators = value; } + inline void SetSequenceIndicators(Aws::Vector&& value) { m_sequenceIndicatorsHasBeenSet = true; m_sequenceIndicators = std::move(value); } + inline Sequence& WithSequenceIndicators(const Aws::Vector& value) { SetSequenceIndicators(value); return *this;} + inline Sequence& WithSequenceIndicators(Aws::Vector&& value) { SetSequenceIndicators(std::move(value)); return *this;} + inline Sequence& AddSequenceIndicators(const Indicator& value) { m_sequenceIndicatorsHasBeenSet = true; m_sequenceIndicators.push_back(value); return *this; } + inline Sequence& AddSequenceIndicators(Indicator&& value) { m_sequenceIndicatorsHasBeenSet = true; m_sequenceIndicators.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_uid; + bool m_uidHasBeenSet = false; + + Aws::Vector m_actors; + bool m_actorsHasBeenSet = false; + + Aws::Vector m_endpoints; + bool m_endpointsHasBeenSet = false; + + Aws::Vector m_signals; + bool m_signalsHasBeenSet = false; + + Aws::Vector m_sequenceIndicators; + bool m_sequenceIndicatorsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Signal.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Signal.h new file mode 100644 index 00000000000..5e89614afdf --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Signal.h @@ -0,0 +1,314 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        Contains information about the signals involved in an Amazon GuardDuty + * Extended Threat Detection attack sequence. An attack sequence is a type of + * threat detected by GuardDuty. GuardDuty generates an attack sequence finding + * when multiple events, or signals, align to a potentially suspicious activity. + * When GuardDuty and Security Hub are integrated, GuardDuty sends attack sequence + * findings to Security Hub.

        A signal can be an API activity or a finding + * that GuardDuty uses to detect an attack sequence finding.

        See + * Also:

        AWS + * API Reference

        + */ + class Signal + { + public: + AWS_SECURITYHUB_API Signal(); + AWS_SECURITYHUB_API Signal(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Signal& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The type of the signal used to identify an attack sequence.

        Signals + * can be GuardDuty findings or activities observed in data sources that GuardDuty + * monitors. For more information, see GuardDuty + * foundational data sources in the Amazon GuardDuty User Guide.

        + *

        A signal type can be one of the following values. Here are the related + * descriptions:

        • FINDING - Individually generated + * GuardDuty finding.

        • CLOUD_TRAIL - Activity + * observed from CloudTrail logs

        • S3_DATA_EVENTS - + * Activity observed from CloudTrail data events for Amazon Simple Storage Service + * (S3). Activities associated with this type will show up only when you have + * enabled GuardDuty S3 Protection feature in your account. For more information + * about S3 Protection and the steps to enable it, see S3 + * Protection in the Amazon GuardDuty User Guide.

        + */ + inline const Aws::String& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + inline Signal& WithType(const Aws::String& value) { SetType(value); return *this;} + inline Signal& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + inline Signal& WithType(const char* value) { SetType(value); return *this;} + ///@} + + ///@{ + /** + *

        The identifier of the signal.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline Signal& WithId(const Aws::String& value) { SetId(value); return *this;} + inline Signal& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline Signal& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The description of the GuardDuty finding.

        + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline Signal& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline Signal& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline Signal& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the product that generated the signal. + *

        + */ + inline const Aws::String& GetProductArn() const{ return m_productArn; } + inline bool ProductArnHasBeenSet() const { return m_productArnHasBeenSet; } + inline void SetProductArn(const Aws::String& value) { m_productArnHasBeenSet = true; m_productArn = value; } + inline void SetProductArn(Aws::String&& value) { m_productArnHasBeenSet = true; m_productArn = std::move(value); } + inline void SetProductArn(const char* value) { m_productArnHasBeenSet = true; m_productArn.assign(value); } + inline Signal& WithProductArn(const Aws::String& value) { SetProductArn(value); return *this;} + inline Signal& WithProductArn(Aws::String&& value) { SetProductArn(std::move(value)); return *this;} + inline Signal& WithProductArn(const char* value) { SetProductArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ARN or ID of the Amazon Web Services resource associated with the + * signal.

        + */ + inline const Aws::Vector& GetResourceIds() const{ return m_resourceIds; } + inline bool ResourceIdsHasBeenSet() const { return m_resourceIdsHasBeenSet; } + inline void SetResourceIds(const Aws::Vector& value) { m_resourceIdsHasBeenSet = true; m_resourceIds = value; } + inline void SetResourceIds(Aws::Vector&& value) { m_resourceIdsHasBeenSet = true; m_resourceIds = std::move(value); } + inline Signal& WithResourceIds(const Aws::Vector& value) { SetResourceIds(value); return *this;} + inline Signal& WithResourceIds(Aws::Vector&& value) { SetResourceIds(std::move(value)); return *this;} + inline Signal& AddResourceIds(const Aws::String& value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(value); return *this; } + inline Signal& AddResourceIds(Aws::String&& value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(std::move(value)); return *this; } + inline Signal& AddResourceIds(const char* value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Contains information about the indicators associated with the signals in + * this attack sequence finding. The values for SignalIndicators are a + * subset of the values for SequenceIndicators, + * but the values for these fields don't always match 1:1.

        + */ + inline const Aws::Vector& GetSignalIndicators() const{ return m_signalIndicators; } + inline bool SignalIndicatorsHasBeenSet() const { return m_signalIndicatorsHasBeenSet; } + inline void SetSignalIndicators(const Aws::Vector& value) { m_signalIndicatorsHasBeenSet = true; m_signalIndicators = value; } + inline void SetSignalIndicators(Aws::Vector&& value) { m_signalIndicatorsHasBeenSet = true; m_signalIndicators = std::move(value); } + inline Signal& WithSignalIndicators(const Aws::Vector& value) { SetSignalIndicators(value); return *this;} + inline Signal& WithSignalIndicators(Aws::Vector&& value) { SetSignalIndicators(std::move(value)); return *this;} + inline Signal& AddSignalIndicators(const Indicator& value) { m_signalIndicatorsHasBeenSet = true; m_signalIndicators.push_back(value); return *this; } + inline Signal& AddSignalIndicators(Indicator&& value) { m_signalIndicatorsHasBeenSet = true; m_signalIndicators.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The name of the GuardDuty signal. For example, when signal type is + * FINDING, the signal name is the name of the finding.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline Signal& WithName(const Aws::String& value) { SetName(value); return *this;} + inline Signal& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline Signal& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp when the first finding or activity related to this signal was + * observed.

        + */ + inline long long GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(long long value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline Signal& WithCreatedAt(long long value) { SetCreatedAt(value); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp when this signal was last observed.

        + */ + inline long long GetUpdatedAt() const{ return m_updatedAt; } + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + inline void SetUpdatedAt(long long value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } + inline Signal& WithUpdatedAt(long long value) { SetUpdatedAt(value); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp when the first finding or activity related to this signal was + * observed.

        + */ + inline long long GetFirstSeenAt() const{ return m_firstSeenAt; } + inline bool FirstSeenAtHasBeenSet() const { return m_firstSeenAtHasBeenSet; } + inline void SetFirstSeenAt(long long value) { m_firstSeenAtHasBeenSet = true; m_firstSeenAt = value; } + inline Signal& WithFirstSeenAt(long long value) { SetFirstSeenAt(value); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp when the last finding or activity related to this signal was + * observed.

        + */ + inline long long GetLastSeenAt() const{ return m_lastSeenAt; } + inline bool LastSeenAtHasBeenSet() const { return m_lastSeenAtHasBeenSet; } + inline void SetLastSeenAt(long long value) { m_lastSeenAtHasBeenSet = true; m_lastSeenAt = value; } + inline Signal& WithLastSeenAt(long long value) { SetLastSeenAt(value); return *this;} + ///@} + + ///@{ + /** + *

        The severity associated with the signal. For more information about severity, + * see Findings + * severity levels in the Amazon GuardDuty User Guide.

        + */ + inline double GetSeverity() const{ return m_severity; } + inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; } + inline void SetSeverity(double value) { m_severityHasBeenSet = true; m_severity = value; } + inline Signal& WithSeverity(double value) { SetSeverity(value); return *this;} + ///@} + + ///@{ + /** + *

        The number of times this signal was observed.

        + */ + inline int GetCount() const{ return m_count; } + inline bool CountHasBeenSet() const { return m_countHasBeenSet; } + inline void SetCount(int value) { m_countHasBeenSet = true; m_count = value; } + inline Signal& WithCount(int value) { SetCount(value); return *this;} + ///@} + + ///@{ + /** + *

        The IDs of the threat actors involved in the signal.

        + */ + inline const Aws::Vector& GetActorIds() const{ return m_actorIds; } + inline bool ActorIdsHasBeenSet() const { return m_actorIdsHasBeenSet; } + inline void SetActorIds(const Aws::Vector& value) { m_actorIdsHasBeenSet = true; m_actorIds = value; } + inline void SetActorIds(Aws::Vector&& value) { m_actorIdsHasBeenSet = true; m_actorIds = std::move(value); } + inline Signal& WithActorIds(const Aws::Vector& value) { SetActorIds(value); return *this;} + inline Signal& WithActorIds(Aws::Vector&& value) { SetActorIds(std::move(value)); return *this;} + inline Signal& AddActorIds(const Aws::String& value) { m_actorIdsHasBeenSet = true; m_actorIds.push_back(value); return *this; } + inline Signal& AddActorIds(Aws::String&& value) { m_actorIdsHasBeenSet = true; m_actorIds.push_back(std::move(value)); return *this; } + inline Signal& AddActorIds(const char* value) { m_actorIdsHasBeenSet = true; m_actorIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        Information about the endpoint IDs associated with this signal.

        + */ + inline const Aws::Vector& GetEndpointIds() const{ return m_endpointIds; } + inline bool EndpointIdsHasBeenSet() const { return m_endpointIdsHasBeenSet; } + inline void SetEndpointIds(const Aws::Vector& value) { m_endpointIdsHasBeenSet = true; m_endpointIds = value; } + inline void SetEndpointIds(Aws::Vector&& value) { m_endpointIdsHasBeenSet = true; m_endpointIds = std::move(value); } + inline Signal& WithEndpointIds(const Aws::Vector& value) { SetEndpointIds(value); return *this;} + inline Signal& WithEndpointIds(Aws::Vector&& value) { SetEndpointIds(std::move(value)); return *this;} + inline Signal& AddEndpointIds(const Aws::String& value) { m_endpointIdsHasBeenSet = true; m_endpointIds.push_back(value); return *this; } + inline Signal& AddEndpointIds(Aws::String&& value) { m_endpointIdsHasBeenSet = true; m_endpointIds.push_back(std::move(value)); return *this; } + inline Signal& AddEndpointIds(const char* value) { m_endpointIdsHasBeenSet = true; m_endpointIds.push_back(value); return *this; } + ///@} + private: + + Aws::String m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Aws::String m_productArn; + bool m_productArnHasBeenSet = false; + + Aws::Vector m_resourceIds; + bool m_resourceIdsHasBeenSet = false; + + Aws::Vector m_signalIndicators; + bool m_signalIndicatorsHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + long long m_createdAt; + bool m_createdAtHasBeenSet = false; + + long long m_updatedAt; + bool m_updatedAtHasBeenSet = false; + + long long m_firstSeenAt; + bool m_firstSeenAtHasBeenSet = false; + + long long m_lastSeenAt; + bool m_lastSeenAtHasBeenSet = false; + + double m_severity; + bool m_severityHasBeenSet = false; + + int m_count; + bool m_countHasBeenSet = false; + + Aws::Vector m_actorIds; + bool m_actorIdsHasBeenSet = false; + + Aws::Vector m_endpointIds; + bool m_endpointIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StatusReason.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StatusReason.h index 4017f13f426..d3532246360 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StatusReason.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StatusReason.h @@ -42,8 +42,8 @@ namespace Model /** *

        A code that represents a reason for the control status. For the list of * status reason codes and their meanings, see Standards-related - * information in the ASFF in the Security Hub User Guide.

        + * href="https://docs.aws.amazon.com/securityhub/latest/userguide/controls-findings-create-update.html#control-findings-asff-compliance">Compliance + * details for control findings in the Security Hub User Guide.

        */ inline const Aws::String& GetReasonCode() const{ return m_reasonCode; } inline bool ReasonCodeHasBeenSet() const { return m_reasonCodeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UserAccount.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UserAccount.h new file mode 100644 index 00000000000..4f99ad11d29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UserAccount.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

        Provides Amazon Web Services account information of the user involved in an + * Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates + * an attack sequence finding when multiple events align to a potentially + * suspicious activity. To receive GuardDuty attack sequence findings in Security + * Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more + * information, see GuardDuty + * Extended Threat Detection in the Amazon GuardDuty User Guide. + *

        See Also:

        AWS + * API Reference

        + */ + class UserAccount + { + public: + AWS_SECURITYHUB_API UserAccount(); + AWS_SECURITYHUB_API UserAccount(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API UserAccount& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The unique identifier of the user account involved in the attack sequence. + *

        + */ + inline const Aws::String& GetUid() const{ return m_uid; } + inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } + inline void SetUid(const Aws::String& value) { m_uidHasBeenSet = true; m_uid = value; } + inline void SetUid(Aws::String&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } + inline void SetUid(const char* value) { m_uidHasBeenSet = true; m_uid.assign(value); } + inline UserAccount& WithUid(const Aws::String& value) { SetUid(value); return *this;} + inline UserAccount& WithUid(Aws::String&& value) { SetUid(std::move(value)); return *this;} + inline UserAccount& WithUid(const char* value) { SetUid(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the user account involved in the attack sequence.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline UserAccount& WithName(const Aws::String& value) { SetName(value); return *this;} + inline UserAccount& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline UserAccount& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_uid; + bool m_uidHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/Actor.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/Actor.cpp new file mode 100644 index 00000000000..07c4c0f4cf4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/Actor.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +Actor::Actor() : + m_idHasBeenSet(false), + m_userHasBeenSet(false), + m_sessionHasBeenSet(false) +{ +} + +Actor::Actor(JsonView jsonValue) + : Actor() +{ + *this = jsonValue; +} + +Actor& Actor::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("User")) + { + m_user = jsonValue.GetObject("User"); + + m_userHasBeenSet = true; + } + + if(jsonValue.ValueExists("Session")) + { + m_session = jsonValue.GetObject("Session"); + + m_sessionHasBeenSet = true; + } + + return *this; +} + +JsonValue Actor::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_userHasBeenSet) + { + payload.WithObject("User", m_user.Jsonize()); + + } + + if(m_sessionHasBeenSet) + { + payload.WithObject("Session", m_session.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ActorSession.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ActorSession.cpp new file mode 100644 index 00000000000..53709b5c405 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ActorSession.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ActorSession::ActorSession() : + m_uidHasBeenSet(false), + m_mfaStatus(ActorSessionMfaStatus::NOT_SET), + m_mfaStatusHasBeenSet(false), + m_createdTime(0), + m_createdTimeHasBeenSet(false), + m_issuerHasBeenSet(false) +{ +} + +ActorSession::ActorSession(JsonView jsonValue) + : ActorSession() +{ + *this = jsonValue; +} + +ActorSession& ActorSession::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Uid")) + { + m_uid = jsonValue.GetString("Uid"); + + m_uidHasBeenSet = true; + } + + if(jsonValue.ValueExists("MfaStatus")) + { + m_mfaStatus = ActorSessionMfaStatusMapper::GetActorSessionMfaStatusForName(jsonValue.GetString("MfaStatus")); + + m_mfaStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedTime")) + { + m_createdTime = jsonValue.GetInt64("CreatedTime"); + + m_createdTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Issuer")) + { + m_issuer = jsonValue.GetString("Issuer"); + + m_issuerHasBeenSet = true; + } + + return *this; +} + +JsonValue ActorSession::Jsonize() const +{ + JsonValue payload; + + if(m_uidHasBeenSet) + { + payload.WithString("Uid", m_uid); + + } + + if(m_mfaStatusHasBeenSet) + { + payload.WithString("MfaStatus", ActorSessionMfaStatusMapper::GetNameForActorSessionMfaStatus(m_mfaStatus)); + } + + if(m_createdTimeHasBeenSet) + { + payload.WithInt64("CreatedTime", m_createdTime); + + } + + if(m_issuerHasBeenSet) + { + payload.WithString("Issuer", m_issuer); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ActorSessionMfaStatus.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ActorSessionMfaStatus.cpp new file mode 100644 index 00000000000..322f61829ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ActorSessionMfaStatus.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ActorSessionMfaStatusMapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + ActorSessionMfaStatus GetActorSessionMfaStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return ActorSessionMfaStatus::ENABLED; + } + else if (hashCode == DISABLED_HASH) + { + return ActorSessionMfaStatus::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ActorSessionMfaStatus::NOT_SET; + } + + Aws::String GetNameForActorSessionMfaStatus(ActorSessionMfaStatus enumValue) + { + switch(enumValue) + { + case ActorSessionMfaStatus::NOT_SET: + return {}; + case ActorSessionMfaStatus::ENABLED: + return "ENABLED"; + case ActorSessionMfaStatus::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ActorSessionMfaStatusMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ActorUser.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ActorUser.cpp new file mode 100644 index 00000000000..5855ccf2809 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ActorUser.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ActorUser::ActorUser() : + m_nameHasBeenSet(false), + m_uidHasBeenSet(false), + m_typeHasBeenSet(false), + m_credentialUidHasBeenSet(false), + m_accountHasBeenSet(false) +{ +} + +ActorUser::ActorUser(JsonView jsonValue) + : ActorUser() +{ + *this = jsonValue; +} + +ActorUser& ActorUser::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Uid")) + { + m_uid = jsonValue.GetString("Uid"); + + m_uidHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = jsonValue.GetString("Type"); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("CredentialUid")) + { + m_credentialUid = jsonValue.GetString("CredentialUid"); + + m_credentialUidHasBeenSet = true; + } + + if(jsonValue.ValueExists("Account")) + { + m_account = jsonValue.GetObject("Account"); + + m_accountHasBeenSet = true; + } + + return *this; +} + +JsonValue ActorUser::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_uidHasBeenSet) + { + payload.WithString("Uid", m_uid); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", m_type); + + } + + if(m_credentialUidHasBeenSet) + { + payload.WithString("CredentialUid", m_credentialUid); + + } + + if(m_accountHasBeenSet) + { + payload.WithObject("Account", m_account.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AwsSecurityFinding.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AwsSecurityFinding.cpp index ac01efa2a6b..015ea753c5e 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/AwsSecurityFinding.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AwsSecurityFinding.cpp @@ -68,7 +68,8 @@ AwsSecurityFinding::AwsSecurityFinding() : m_sampleHasBeenSet(false), m_generatorDetailsHasBeenSet(false), m_processedAtHasBeenSet(false), - m_awsAccountNameHasBeenSet(false) + m_awsAccountNameHasBeenSet(false), + m_detectionHasBeenSet(false) { } @@ -418,6 +419,13 @@ AwsSecurityFinding& AwsSecurityFinding::operator =(JsonView jsonValue) m_awsAccountNameHasBeenSet = true; } + if(jsonValue.ValueExists("Detection")) + { + m_detection = jsonValue.GetObject("Detection"); + + m_detectionHasBeenSet = true; + } + return *this; } @@ -736,6 +744,12 @@ JsonValue AwsSecurityFinding::Jsonize() const } + if(m_detectionHasBeenSet) + { + payload.WithObject("Detection", m_detection.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectionDirection.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectionDirection.cpp new file mode 100644 index 00000000000..66ceece7061 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectionDirection.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ConnectionDirectionMapper + { + + static const int INBOUND_HASH = HashingUtils::HashString("INBOUND"); + static const int OUTBOUND_HASH = HashingUtils::HashString("OUTBOUND"); + + + ConnectionDirection GetConnectionDirectionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INBOUND_HASH) + { + return ConnectionDirection::INBOUND; + } + else if (hashCode == OUTBOUND_HASH) + { + return ConnectionDirection::OUTBOUND; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConnectionDirection::NOT_SET; + } + + Aws::String GetNameForConnectionDirection(ConnectionDirection enumValue) + { + switch(enumValue) + { + case ConnectionDirection::NOT_SET: + return {}; + case ConnectionDirection::INBOUND: + return "INBOUND"; + case ConnectionDirection::OUTBOUND: + return "OUTBOUND"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConnectionDirectionMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/Detection.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/Detection.cpp new file mode 100644 index 00000000000..a223886ba2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/Detection.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +Detection::Detection() : + m_sequenceHasBeenSet(false) +{ +} + +Detection::Detection(JsonView jsonValue) + : Detection() +{ + *this = jsonValue; +} + +Detection& Detection::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Sequence")) + { + m_sequence = jsonValue.GetObject("Sequence"); + + m_sequenceHasBeenSet = true; + } + + return *this; +} + +JsonValue Detection::Jsonize() const +{ + JsonValue payload; + + if(m_sequenceHasBeenSet) + { + payload.WithObject("Sequence", m_sequence.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/Indicator.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/Indicator.cpp new file mode 100644 index 00000000000..aaece53df2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/Indicator.cpp @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +Indicator::Indicator() : + m_keyHasBeenSet(false), + m_valuesHasBeenSet(false), + m_titleHasBeenSet(false), + m_typeHasBeenSet(false) +{ +} + +Indicator::Indicator(JsonView jsonValue) + : Indicator() +{ + *this = jsonValue; +} + +Indicator& Indicator::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("Values")) + { + Aws::Utils::Array valuesJsonList = jsonValue.GetArray("Values"); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + m_values.push_back(valuesJsonList[valuesIndex].AsString()); + } + m_valuesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = jsonValue.GetString("Type"); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue Indicator::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valuesHasBeenSet) + { + Aws::Utils::Array valuesJsonList(m_values.size()); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + valuesJsonList[valuesIndex].AsString(m_values[valuesIndex]); + } + payload.WithArray("Values", std::move(valuesJsonList)); + + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", m_type); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkAutonomousSystem.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkAutonomousSystem.cpp new file mode 100644 index 00000000000..4af16cecc00 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkAutonomousSystem.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +NetworkAutonomousSystem::NetworkAutonomousSystem() : + m_nameHasBeenSet(false), + m_number(0), + m_numberHasBeenSet(false) +{ +} + +NetworkAutonomousSystem::NetworkAutonomousSystem(JsonView jsonValue) + : NetworkAutonomousSystem() +{ + *this = jsonValue; +} + +NetworkAutonomousSystem& NetworkAutonomousSystem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Number")) + { + m_number = jsonValue.GetInteger("Number"); + + m_numberHasBeenSet = true; + } + + return *this; +} + +JsonValue NetworkAutonomousSystem::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_numberHasBeenSet) + { + payload.WithInteger("Number", m_number); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkConnection.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkConnection.cpp new file mode 100644 index 00000000000..5c2e70d6a9d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkConnection.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +NetworkConnection::NetworkConnection() : + m_direction(ConnectionDirection::NOT_SET), + m_directionHasBeenSet(false) +{ +} + +NetworkConnection::NetworkConnection(JsonView jsonValue) + : NetworkConnection() +{ + *this = jsonValue; +} + +NetworkConnection& NetworkConnection::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Direction")) + { + m_direction = ConnectionDirectionMapper::GetConnectionDirectionForName(jsonValue.GetString("Direction")); + + m_directionHasBeenSet = true; + } + + return *this; +} + +JsonValue NetworkConnection::Jsonize() const +{ + JsonValue payload; + + if(m_directionHasBeenSet) + { + payload.WithString("Direction", ConnectionDirectionMapper::GetNameForConnectionDirection(m_direction)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkEndpoint.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkEndpoint.cpp new file mode 100644 index 00000000000..53994837e9b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkEndpoint.cpp @@ -0,0 +1,144 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +NetworkEndpoint::NetworkEndpoint() : + m_idHasBeenSet(false), + m_ipHasBeenSet(false), + m_domainHasBeenSet(false), + m_port(0), + m_portHasBeenSet(false), + m_locationHasBeenSet(false), + m_autonomousSystemHasBeenSet(false), + m_connectionHasBeenSet(false) +{ +} + +NetworkEndpoint::NetworkEndpoint(JsonView jsonValue) + : NetworkEndpoint() +{ + *this = jsonValue; +} + +NetworkEndpoint& NetworkEndpoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("Ip")) + { + m_ip = jsonValue.GetString("Ip"); + + m_ipHasBeenSet = true; + } + + if(jsonValue.ValueExists("Domain")) + { + m_domain = jsonValue.GetString("Domain"); + + m_domainHasBeenSet = true; + } + + if(jsonValue.ValueExists("Port")) + { + m_port = jsonValue.GetInteger("Port"); + + m_portHasBeenSet = true; + } + + if(jsonValue.ValueExists("Location")) + { + m_location = jsonValue.GetObject("Location"); + + m_locationHasBeenSet = true; + } + + if(jsonValue.ValueExists("AutonomousSystem")) + { + m_autonomousSystem = jsonValue.GetObject("AutonomousSystem"); + + m_autonomousSystemHasBeenSet = true; + } + + if(jsonValue.ValueExists("Connection")) + { + m_connection = jsonValue.GetObject("Connection"); + + m_connectionHasBeenSet = true; + } + + return *this; +} + +JsonValue NetworkEndpoint::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_ipHasBeenSet) + { + payload.WithString("Ip", m_ip); + + } + + if(m_domainHasBeenSet) + { + payload.WithString("Domain", m_domain); + + } + + if(m_portHasBeenSet) + { + payload.WithInteger("Port", m_port); + + } + + if(m_locationHasBeenSet) + { + payload.WithObject("Location", m_location.Jsonize()); + + } + + if(m_autonomousSystemHasBeenSet) + { + payload.WithObject("AutonomousSystem", m_autonomousSystem.Jsonize()); + + } + + if(m_connectionHasBeenSet) + { + payload.WithObject("Connection", m_connection.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkGeoLocation.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkGeoLocation.cpp new file mode 100644 index 00000000000..6a26cdcfc0a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/NetworkGeoLocation.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +NetworkGeoLocation::NetworkGeoLocation() : + m_cityHasBeenSet(false), + m_countryHasBeenSet(false), + m_lat(0.0), + m_latHasBeenSet(false), + m_lon(0.0), + m_lonHasBeenSet(false) +{ +} + +NetworkGeoLocation::NetworkGeoLocation(JsonView jsonValue) + : NetworkGeoLocation() +{ + *this = jsonValue; +} + +NetworkGeoLocation& NetworkGeoLocation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("City")) + { + m_city = jsonValue.GetString("City"); + + m_cityHasBeenSet = true; + } + + if(jsonValue.ValueExists("Country")) + { + m_country = jsonValue.GetString("Country"); + + m_countryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Lat")) + { + m_lat = jsonValue.GetDouble("Lat"); + + m_latHasBeenSet = true; + } + + if(jsonValue.ValueExists("Lon")) + { + m_lon = jsonValue.GetDouble("Lon"); + + m_lonHasBeenSet = true; + } + + return *this; +} + +JsonValue NetworkGeoLocation::Jsonize() const +{ + JsonValue payload; + + if(m_cityHasBeenSet) + { + payload.WithString("City", m_city); + + } + + if(m_countryHasBeenSet) + { + payload.WithString("Country", m_country); + + } + + if(m_latHasBeenSet) + { + payload.WithDouble("Lat", m_lat); + + } + + if(m_lonHasBeenSet) + { + payload.WithDouble("Lon", m_lon); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/Sequence.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/Sequence.cpp new file mode 100644 index 00000000000..df6a1356f68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/Sequence.cpp @@ -0,0 +1,147 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +Sequence::Sequence() : + m_uidHasBeenSet(false), + m_actorsHasBeenSet(false), + m_endpointsHasBeenSet(false), + m_signalsHasBeenSet(false), + m_sequenceIndicatorsHasBeenSet(false) +{ +} + +Sequence::Sequence(JsonView jsonValue) + : Sequence() +{ + *this = jsonValue; +} + +Sequence& Sequence::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Uid")) + { + m_uid = jsonValue.GetString("Uid"); + + m_uidHasBeenSet = true; + } + + if(jsonValue.ValueExists("Actors")) + { + Aws::Utils::Array actorsJsonList = jsonValue.GetArray("Actors"); + for(unsigned actorsIndex = 0; actorsIndex < actorsJsonList.GetLength(); ++actorsIndex) + { + m_actors.push_back(actorsJsonList[actorsIndex].AsObject()); + } + m_actorsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Endpoints")) + { + Aws::Utils::Array endpointsJsonList = jsonValue.GetArray("Endpoints"); + for(unsigned endpointsIndex = 0; endpointsIndex < endpointsJsonList.GetLength(); ++endpointsIndex) + { + m_endpoints.push_back(endpointsJsonList[endpointsIndex].AsObject()); + } + m_endpointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Signals")) + { + Aws::Utils::Array signalsJsonList = jsonValue.GetArray("Signals"); + for(unsigned signalsIndex = 0; signalsIndex < signalsJsonList.GetLength(); ++signalsIndex) + { + m_signals.push_back(signalsJsonList[signalsIndex].AsObject()); + } + m_signalsHasBeenSet = true; + } + + if(jsonValue.ValueExists("SequenceIndicators")) + { + Aws::Utils::Array sequenceIndicatorsJsonList = jsonValue.GetArray("SequenceIndicators"); + for(unsigned sequenceIndicatorsIndex = 0; sequenceIndicatorsIndex < sequenceIndicatorsJsonList.GetLength(); ++sequenceIndicatorsIndex) + { + m_sequenceIndicators.push_back(sequenceIndicatorsJsonList[sequenceIndicatorsIndex].AsObject()); + } + m_sequenceIndicatorsHasBeenSet = true; + } + + return *this; +} + +JsonValue Sequence::Jsonize() const +{ + JsonValue payload; + + if(m_uidHasBeenSet) + { + payload.WithString("Uid", m_uid); + + } + + if(m_actorsHasBeenSet) + { + Aws::Utils::Array actorsJsonList(m_actors.size()); + for(unsigned actorsIndex = 0; actorsIndex < actorsJsonList.GetLength(); ++actorsIndex) + { + actorsJsonList[actorsIndex].AsObject(m_actors[actorsIndex].Jsonize()); + } + payload.WithArray("Actors", std::move(actorsJsonList)); + + } + + if(m_endpointsHasBeenSet) + { + Aws::Utils::Array endpointsJsonList(m_endpoints.size()); + for(unsigned endpointsIndex = 0; endpointsIndex < endpointsJsonList.GetLength(); ++endpointsIndex) + { + endpointsJsonList[endpointsIndex].AsObject(m_endpoints[endpointsIndex].Jsonize()); + } + payload.WithArray("Endpoints", std::move(endpointsJsonList)); + + } + + if(m_signalsHasBeenSet) + { + Aws::Utils::Array signalsJsonList(m_signals.size()); + for(unsigned signalsIndex = 0; signalsIndex < signalsJsonList.GetLength(); ++signalsIndex) + { + signalsJsonList[signalsIndex].AsObject(m_signals[signalsIndex].Jsonize()); + } + payload.WithArray("Signals", std::move(signalsJsonList)); + + } + + if(m_sequenceIndicatorsHasBeenSet) + { + Aws::Utils::Array sequenceIndicatorsJsonList(m_sequenceIndicators.size()); + for(unsigned sequenceIndicatorsIndex = 0; sequenceIndicatorsIndex < sequenceIndicatorsJsonList.GetLength(); ++sequenceIndicatorsIndex) + { + sequenceIndicatorsJsonList[sequenceIndicatorsIndex].AsObject(m_sequenceIndicators[sequenceIndicatorsIndex].Jsonize()); + } + payload.WithArray("SequenceIndicators", std::move(sequenceIndicatorsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/Signal.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/Signal.cpp new file mode 100644 index 00000000000..b93f34872b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/Signal.cpp @@ -0,0 +1,293 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +Signal::Signal() : + m_typeHasBeenSet(false), + m_idHasBeenSet(false), + m_titleHasBeenSet(false), + m_productArnHasBeenSet(false), + m_resourceIdsHasBeenSet(false), + m_signalIndicatorsHasBeenSet(false), + m_nameHasBeenSet(false), + m_createdAt(0), + m_createdAtHasBeenSet(false), + m_updatedAt(0), + m_updatedAtHasBeenSet(false), + m_firstSeenAt(0), + m_firstSeenAtHasBeenSet(false), + m_lastSeenAt(0), + m_lastSeenAtHasBeenSet(false), + m_severity(0.0), + m_severityHasBeenSet(false), + m_count(0), + m_countHasBeenSet(false), + m_actorIdsHasBeenSet(false), + m_endpointIdsHasBeenSet(false) +{ +} + +Signal::Signal(JsonView jsonValue) + : Signal() +{ + *this = jsonValue; +} + +Signal& Signal::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Type")) + { + m_type = jsonValue.GetString("Type"); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("ProductArn")) + { + m_productArn = jsonValue.GetString("ProductArn"); + + m_productArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceIds")) + { + Aws::Utils::Array resourceIdsJsonList = jsonValue.GetArray("ResourceIds"); + for(unsigned resourceIdsIndex = 0; resourceIdsIndex < resourceIdsJsonList.GetLength(); ++resourceIdsIndex) + { + m_resourceIds.push_back(resourceIdsJsonList[resourceIdsIndex].AsString()); + } + m_resourceIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("SignalIndicators")) + { + Aws::Utils::Array signalIndicatorsJsonList = jsonValue.GetArray("SignalIndicators"); + for(unsigned signalIndicatorsIndex = 0; signalIndicatorsIndex < signalIndicatorsJsonList.GetLength(); ++signalIndicatorsIndex) + { + m_signalIndicators.push_back(signalIndicatorsJsonList[signalIndicatorsIndex].AsObject()); + } + m_signalIndicatorsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetInt64("CreatedAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("UpdatedAt")) + { + m_updatedAt = jsonValue.GetInt64("UpdatedAt"); + + m_updatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("FirstSeenAt")) + { + m_firstSeenAt = jsonValue.GetInt64("FirstSeenAt"); + + m_firstSeenAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("LastSeenAt")) + { + m_lastSeenAt = jsonValue.GetInt64("LastSeenAt"); + + m_lastSeenAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("Severity")) + { + m_severity = jsonValue.GetDouble("Severity"); + + m_severityHasBeenSet = true; + } + + if(jsonValue.ValueExists("Count")) + { + m_count = jsonValue.GetInteger("Count"); + + m_countHasBeenSet = true; + } + + if(jsonValue.ValueExists("ActorIds")) + { + Aws::Utils::Array actorIdsJsonList = jsonValue.GetArray("ActorIds"); + for(unsigned actorIdsIndex = 0; actorIdsIndex < actorIdsJsonList.GetLength(); ++actorIdsIndex) + { + m_actorIds.push_back(actorIdsJsonList[actorIdsIndex].AsString()); + } + m_actorIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("EndpointIds")) + { + Aws::Utils::Array endpointIdsJsonList = jsonValue.GetArray("EndpointIds"); + for(unsigned endpointIdsIndex = 0; endpointIdsIndex < endpointIdsJsonList.GetLength(); ++endpointIdsIndex) + { + m_endpointIds.push_back(endpointIdsJsonList[endpointIdsIndex].AsString()); + } + m_endpointIdsHasBeenSet = true; + } + + return *this; +} + +JsonValue Signal::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("Type", m_type); + + } + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_productArnHasBeenSet) + { + payload.WithString("ProductArn", m_productArn); + + } + + if(m_resourceIdsHasBeenSet) + { + Aws::Utils::Array resourceIdsJsonList(m_resourceIds.size()); + for(unsigned resourceIdsIndex = 0; resourceIdsIndex < resourceIdsJsonList.GetLength(); ++resourceIdsIndex) + { + resourceIdsJsonList[resourceIdsIndex].AsString(m_resourceIds[resourceIdsIndex]); + } + payload.WithArray("ResourceIds", std::move(resourceIdsJsonList)); + + } + + if(m_signalIndicatorsHasBeenSet) + { + Aws::Utils::Array signalIndicatorsJsonList(m_signalIndicators.size()); + for(unsigned signalIndicatorsIndex = 0; signalIndicatorsIndex < signalIndicatorsJsonList.GetLength(); ++signalIndicatorsIndex) + { + signalIndicatorsJsonList[signalIndicatorsIndex].AsObject(m_signalIndicators[signalIndicatorsIndex].Jsonize()); + } + payload.WithArray("SignalIndicators", std::move(signalIndicatorsJsonList)); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithInt64("CreatedAt", m_createdAt); + + } + + if(m_updatedAtHasBeenSet) + { + payload.WithInt64("UpdatedAt", m_updatedAt); + + } + + if(m_firstSeenAtHasBeenSet) + { + payload.WithInt64("FirstSeenAt", m_firstSeenAt); + + } + + if(m_lastSeenAtHasBeenSet) + { + payload.WithInt64("LastSeenAt", m_lastSeenAt); + + } + + if(m_severityHasBeenSet) + { + payload.WithDouble("Severity", m_severity); + + } + + if(m_countHasBeenSet) + { + payload.WithInteger("Count", m_count); + + } + + if(m_actorIdsHasBeenSet) + { + Aws::Utils::Array actorIdsJsonList(m_actorIds.size()); + for(unsigned actorIdsIndex = 0; actorIdsIndex < actorIdsJsonList.GetLength(); ++actorIdsIndex) + { + actorIdsJsonList[actorIdsIndex].AsString(m_actorIds[actorIdsIndex]); + } + payload.WithArray("ActorIds", std::move(actorIdsJsonList)); + + } + + if(m_endpointIdsHasBeenSet) + { + Aws::Utils::Array endpointIdsJsonList(m_endpointIds.size()); + for(unsigned endpointIdsIndex = 0; endpointIdsIndex < endpointIdsJsonList.GetLength(); ++endpointIdsIndex) + { + endpointIdsJsonList[endpointIdsIndex].AsString(m_endpointIds[endpointIdsIndex]); + } + payload.WithArray("EndpointIds", std::move(endpointIdsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UserAccount.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UserAccount.cpp new file mode 100644 index 00000000000..db4b4020c8a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UserAccount.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +UserAccount::UserAccount() : + m_uidHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +UserAccount::UserAccount(JsonView jsonValue) + : UserAccount() +{ + *this = jsonValue; +} + +UserAccount& UserAccount::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Uid")) + { + m_uid = jsonValue.GetString("Uid"); + + m_uidHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue UserAccount::Jsonize() const +{ + JsonValue payload; + + if(m_uidHasBeenSet) + { + payload.WithString("Uid", m_uid); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClient.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClient.h index 5dc616fb8d7..3dca91a7eec 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClient.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClient.h @@ -176,6 +176,58 @@ namespace VPCLattice return SubmitAsync(&VPCLatticeClient::CreateListener, request, handler, context); } + /** + *

        Creates a resource configuration. A resource configuration defines a specific + * resource. You can associate a resource configuration with a service network or a + * VPC endpoint.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::CreateResourceConfigurationOutcome CreateResourceConfiguration(const Model::CreateResourceConfigurationRequest& request) const; + + /** + * A Callable wrapper for CreateResourceConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateResourceConfigurationOutcomeCallable CreateResourceConfigurationCallable(const CreateResourceConfigurationRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::CreateResourceConfiguration, request); + } + + /** + * An Async wrapper for CreateResourceConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateResourceConfigurationAsync(const CreateResourceConfigurationRequestT& request, const CreateResourceConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::CreateResourceConfiguration, request, handler, context); + } + + /** + *

        Creates a resource gateway.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::CreateResourceGatewayOutcome CreateResourceGateway(const Model::CreateResourceGatewayRequest& request) const; + + /** + * A Callable wrapper for CreateResourceGateway that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateResourceGatewayOutcomeCallable CreateResourceGatewayCallable(const CreateResourceGatewayRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::CreateResourceGateway, request); + } + + /** + * An Async wrapper for CreateResourceGateway that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateResourceGatewayAsync(const CreateResourceGatewayRequestT& request, const CreateResourceGatewayResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::CreateResourceGateway, request, handler, context); + } + /** *

        Creates a listener rule. Each listener has a default rule for checking * connection requests, but you can define additional rules. Each rule consists of @@ -267,7 +319,36 @@ namespace VPCLattice } /** - *

        Associates a service with a service network. For more information, see Associates the specified service network with the specified resource + * configuration. This allows the resource configuration to receive connections + * through the service network, including through a service network VPC + * endpoint.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::CreateServiceNetworkResourceAssociationOutcome CreateServiceNetworkResourceAssociation(const Model::CreateServiceNetworkResourceAssociationRequest& request) const; + + /** + * A Callable wrapper for CreateServiceNetworkResourceAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateServiceNetworkResourceAssociationOutcomeCallable CreateServiceNetworkResourceAssociationCallable(const CreateServiceNetworkResourceAssociationRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::CreateServiceNetworkResourceAssociation, request); + } + + /** + * An Async wrapper for CreateServiceNetworkResourceAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateServiceNetworkResourceAssociationAsync(const CreateServiceNetworkResourceAssociationRequestT& request, const CreateServiceNetworkResourceAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::CreateServiceNetworkResourceAssociation, request, handler, context); + } + + /** + *

        Associates the specified service with the specified service network. For more + * information, see Manage * service associations in the Amazon VPC Lattice User Guide.

        You * can't use this operation if the service and service network are already @@ -449,6 +530,82 @@ namespace VPCLattice return SubmitAsync(&VPCLatticeClient::DeleteListener, request, handler, context); } + /** + *

        Deletes the specified resource configuration.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::DeleteResourceConfigurationOutcome DeleteResourceConfiguration(const Model::DeleteResourceConfigurationRequest& request) const; + + /** + * A Callable wrapper for DeleteResourceConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteResourceConfigurationOutcomeCallable DeleteResourceConfigurationCallable(const DeleteResourceConfigurationRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::DeleteResourceConfiguration, request); + } + + /** + * An Async wrapper for DeleteResourceConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteResourceConfigurationAsync(const DeleteResourceConfigurationRequestT& request, const DeleteResourceConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::DeleteResourceConfiguration, request, handler, context); + } + + /** + *

        Disassociates the resource configuration from the resource VPC + * endpoint.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::DeleteResourceEndpointAssociationOutcome DeleteResourceEndpointAssociation(const Model::DeleteResourceEndpointAssociationRequest& request) const; + + /** + * A Callable wrapper for DeleteResourceEndpointAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteResourceEndpointAssociationOutcomeCallable DeleteResourceEndpointAssociationCallable(const DeleteResourceEndpointAssociationRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::DeleteResourceEndpointAssociation, request); + } + + /** + * An Async wrapper for DeleteResourceEndpointAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteResourceEndpointAssociationAsync(const DeleteResourceEndpointAssociationRequestT& request, const DeleteResourceEndpointAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::DeleteResourceEndpointAssociation, request, handler, context); + } + + /** + *

        Deletes the specified resource gateway.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::DeleteResourceGatewayOutcome DeleteResourceGateway(const Model::DeleteResourceGatewayRequest& request) const; + + /** + * A Callable wrapper for DeleteResourceGateway that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteResourceGatewayOutcomeCallable DeleteResourceGatewayCallable(const DeleteResourceGatewayRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::DeleteResourceGateway, request); + } + + /** + * An Async wrapper for DeleteResourceGateway that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteResourceGatewayAsync(const DeleteResourceGatewayRequestT& request, const DeleteResourceGatewayResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::DeleteResourceGateway, request, handler, context); + } + /** *

        Deletes the specified resource policy.

        See Also:

        AWS @@ -570,9 +727,35 @@ namespace VPCLattice } /** - *

        Deletes the association between a specified service and the specific service - * network. This operation fails if an association is still in - * progress.

        See Also:

        Deletes the association between a service network and a resource + * configuration.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::DeleteServiceNetworkResourceAssociationOutcome DeleteServiceNetworkResourceAssociation(const Model::DeleteServiceNetworkResourceAssociationRequest& request) const; + + /** + * A Callable wrapper for DeleteServiceNetworkResourceAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteServiceNetworkResourceAssociationOutcomeCallable DeleteServiceNetworkResourceAssociationCallable(const DeleteServiceNetworkResourceAssociationRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::DeleteServiceNetworkResourceAssociation, request); + } + + /** + * An Async wrapper for DeleteServiceNetworkResourceAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteServiceNetworkResourceAssociationAsync(const DeleteServiceNetworkResourceAssociationRequestT& request, const DeleteServiceNetworkResourceAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::DeleteServiceNetworkResourceAssociation, request, handler, context); + } + + /** + *

        Deletes the association between a service and a service network. This + * operation fails if an association is still in progress.

        See Also:

        + * AWS * API Reference

        */ @@ -755,9 +938,61 @@ namespace VPCLattice } /** - *

        Retrieves information about the resource policy. The resource policy is an - * IAM policy created on behalf of the resource owner when they share a - * resource.

        See Also:

        Retrieves information about the specified resource + * configuration.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetResourceConfigurationOutcome GetResourceConfiguration(const Model::GetResourceConfigurationRequest& request) const; + + /** + * A Callable wrapper for GetResourceConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetResourceConfigurationOutcomeCallable GetResourceConfigurationCallable(const GetResourceConfigurationRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::GetResourceConfiguration, request); + } + + /** + * An Async wrapper for GetResourceConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetResourceConfigurationAsync(const GetResourceConfigurationRequestT& request, const GetResourceConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::GetResourceConfiguration, request, handler, context); + } + + /** + *

        Retrieves information about the specified resource gateway.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::GetResourceGatewayOutcome GetResourceGateway(const Model::GetResourceGatewayRequest& request) const; + + /** + * A Callable wrapper for GetResourceGateway that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetResourceGatewayOutcomeCallable GetResourceGatewayCallable(const GetResourceGatewayRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::GetResourceGateway, request); + } + + /** + * An Async wrapper for GetResourceGateway that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetResourceGatewayAsync(const GetResourceGatewayRequestT& request, const GetResourceGatewayResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::GetResourceGateway, request, handler, context); + } + + /** + *

        Retrieves information about the specified resource policy. The resource + * policy is an IAM policy created on behalf of the resource owner when they share + * a resource.

        See Also:

        AWS * API Reference

        */ @@ -782,8 +1017,9 @@ namespace VPCLattice } /** - *

        Retrieves information about listener rules. You can also retrieve information - * about the default listener rule. For more information, see Retrieves information about the specified listener rules. You can also + * retrieve information about the default listener rule. For more information, see + * Listener * rules in the Amazon VPC Lattice User Guide.

        See Also:

        * Retrieves information about the specified association between a service + * network and a resource configuration.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetServiceNetworkResourceAssociationOutcome GetServiceNetworkResourceAssociation(const Model::GetServiceNetworkResourceAssociationRequest& request) const; + + /** + * A Callable wrapper for GetServiceNetworkResourceAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetServiceNetworkResourceAssociationOutcomeCallable GetServiceNetworkResourceAssociationCallable(const GetServiceNetworkResourceAssociationRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::GetServiceNetworkResourceAssociation, request); + } + + /** + * An Async wrapper for GetServiceNetworkResourceAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetServiceNetworkResourceAssociationAsync(const GetServiceNetworkResourceAssociationRequestT& request, const GetServiceNetworkResourceAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::GetServiceNetworkResourceAssociation, request, handler, context); + } + /** *

        Retrieves information about the specified association between a service * network and a service.

        See Also:

        Retrieves information about the association between a service network and a - * VPC.

        See Also:

        Retrieves information about the specified association between a service + * network and a VPC.

        See Also:

        AWS * API Reference

        */ @@ -941,7 +1203,7 @@ namespace VPCLattice } /** - *

        Lists all access log subscriptions for the specified service network or + *

        Lists the access log subscriptions for the specified service network or * service.

        See Also:

        AWS * API Reference

        @@ -992,7 +1254,85 @@ namespace VPCLattice } /** - *

        Lists the rules for the listener.

        See Also:

        Lists the resource configurations owned by or shared with this + * account.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListResourceConfigurationsOutcome ListResourceConfigurations(const Model::ListResourceConfigurationsRequest& request = {}) const; + + /** + * A Callable wrapper for ListResourceConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListResourceConfigurationsOutcomeCallable ListResourceConfigurationsCallable(const ListResourceConfigurationsRequestT& request = {}) const + { + return SubmitCallable(&VPCLatticeClient::ListResourceConfigurations, request); + } + + /** + * An Async wrapper for ListResourceConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListResourceConfigurationsAsync(const ListResourceConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListResourceConfigurationsRequestT& request = {}) const + { + return SubmitAsync(&VPCLatticeClient::ListResourceConfigurations, request, handler, context); + } + + /** + *

        Lists the associations for the specified VPC endpoint.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::ListResourceEndpointAssociationsOutcome ListResourceEndpointAssociations(const Model::ListResourceEndpointAssociationsRequest& request) const; + + /** + * A Callable wrapper for ListResourceEndpointAssociations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListResourceEndpointAssociationsOutcomeCallable ListResourceEndpointAssociationsCallable(const ListResourceEndpointAssociationsRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::ListResourceEndpointAssociations, request); + } + + /** + * An Async wrapper for ListResourceEndpointAssociations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListResourceEndpointAssociationsAsync(const ListResourceEndpointAssociationsRequestT& request, const ListResourceEndpointAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::ListResourceEndpointAssociations, request, handler, context); + } + + /** + *

        Lists the resource gateways that you own or that were shared with + * you.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListResourceGatewaysOutcome ListResourceGateways(const Model::ListResourceGatewaysRequest& request = {}) const; + + /** + * A Callable wrapper for ListResourceGateways that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListResourceGatewaysOutcomeCallable ListResourceGatewaysCallable(const ListResourceGatewaysRequestT& request = {}) const + { + return SubmitCallable(&VPCLatticeClient::ListResourceGateways, request); + } + + /** + * An Async wrapper for ListResourceGateways that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListResourceGatewaysAsync(const ListResourceGatewaysResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListResourceGatewaysRequestT& request = {}) const + { + return SubmitAsync(&VPCLatticeClient::ListResourceGateways, request, handler, context); + } + + /** + *

        Lists the rules for the specified listener.

        See Also:

        AWS * API Reference

        */ @@ -1017,15 +1357,40 @@ namespace VPCLattice } /** - *

        Lists the associations between the service network and the service. You can + *

        Lists the associations between a service network and a resource + * configuration.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListServiceNetworkResourceAssociationsOutcome ListServiceNetworkResourceAssociations(const Model::ListServiceNetworkResourceAssociationsRequest& request = {}) const; + + /** + * A Callable wrapper for ListServiceNetworkResourceAssociations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListServiceNetworkResourceAssociationsOutcomeCallable ListServiceNetworkResourceAssociationsCallable(const ListServiceNetworkResourceAssociationsRequestT& request = {}) const + { + return SubmitCallable(&VPCLatticeClient::ListServiceNetworkResourceAssociations, request); + } + + /** + * An Async wrapper for ListServiceNetworkResourceAssociations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListServiceNetworkResourceAssociationsAsync(const ListServiceNetworkResourceAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListServiceNetworkResourceAssociationsRequestT& request = {}) const + { + return SubmitAsync(&VPCLatticeClient::ListServiceNetworkResourceAssociations, request, handler, context); + } + + /** + *

        Lists the associations between a service network and a service. You can * filter the list either by service or service network. You must provide either * the service network identifier or the service identifier.

        Every - * association in Amazon VPC Lattice is given a unique Amazon Resource Name (ARN), - * such as when a service network is associated with a VPC or when a service is - * associated with a service network. If the association is for a resource that is + * association in Amazon VPC Lattice has a unique Amazon Resource Name (ARN), such + * as when a service network is associated with a VPC or when a service is + * associated with a service network. If the association is for a resource is * shared with another account, the association includes the local account ID as - * the prefix in the ARN for each account the resource is shared - * with.

        See Also:

        See Also:

        AWS * API Reference

        */ @@ -1050,9 +1415,9 @@ namespace VPCLattice } /** - *

        Lists the service network and VPC associations. You can filter the list - * either by VPC or service network. You must provide either the service network - * identifier or the VPC identifier.

        See Also:

        Lists the associations between a service network and a VPC. You can filter + * the list either by VPC or service network. You must provide either the ID of the + * service network identifier or the ID of the VPC.

        See Also:

        AWS * API Reference

        */ @@ -1077,9 +1442,35 @@ namespace VPCLattice } /** - *

        Lists the service networks owned by the caller account or shared with the - * caller account. Also includes the account ID in the ARN to show which account - * owns the service network.

        See Also:

        Lists the associations between a service network and a VPC + * endpoint.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListServiceNetworkVpcEndpointAssociationsOutcome ListServiceNetworkVpcEndpointAssociations(const Model::ListServiceNetworkVpcEndpointAssociationsRequest& request) const; + + /** + * A Callable wrapper for ListServiceNetworkVpcEndpointAssociations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListServiceNetworkVpcEndpointAssociationsOutcomeCallable ListServiceNetworkVpcEndpointAssociationsCallable(const ListServiceNetworkVpcEndpointAssociationsRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::ListServiceNetworkVpcEndpointAssociations, request); + } + + /** + * An Async wrapper for ListServiceNetworkVpcEndpointAssociations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListServiceNetworkVpcEndpointAssociationsAsync(const ListServiceNetworkVpcEndpointAssociationsRequestT& request, const ListServiceNetworkVpcEndpointAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::ListServiceNetworkVpcEndpointAssociations, request, handler, context); + } + + /** + *

        Lists the service networks owned by or shared with this account. The account + * ID in the ARN shows which account owns the service network.

        See + * Also:

        AWS * API Reference

        */ @@ -1394,9 +1785,59 @@ namespace VPCLattice } /** - *

        Updates a rule for the listener. You can't modify a default listener rule. To - * modify a default listener rule, use UpdateListener.

        See - * Also:

        Updates the specified resource configuration.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateResourceConfigurationOutcome UpdateResourceConfiguration(const Model::UpdateResourceConfigurationRequest& request) const; + + /** + * A Callable wrapper for UpdateResourceConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateResourceConfigurationOutcomeCallable UpdateResourceConfigurationCallable(const UpdateResourceConfigurationRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::UpdateResourceConfiguration, request); + } + + /** + * An Async wrapper for UpdateResourceConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateResourceConfigurationAsync(const UpdateResourceConfigurationRequestT& request, const UpdateResourceConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::UpdateResourceConfiguration, request, handler, context); + } + + /** + *

        Updates the specified resource gateway.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateResourceGatewayOutcome UpdateResourceGateway(const Model::UpdateResourceGatewayRequest& request) const; + + /** + * A Callable wrapper for UpdateResourceGateway that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateResourceGatewayOutcomeCallable UpdateResourceGatewayCallable(const UpdateResourceGatewayRequestT& request) const + { + return SubmitCallable(&VPCLatticeClient::UpdateResourceGateway, request); + } + + /** + * An Async wrapper for UpdateResourceGateway that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateResourceGatewayAsync(const UpdateResourceGatewayRequestT& request, const UpdateResourceGatewayResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&VPCLatticeClient::UpdateResourceGateway, request, handler, context); + } + + /** + *

        Updates a specified rule for the listener. You can't modify a default + * listener rule. To modify a default listener rule, use + * UpdateListener.

        See Also:

        AWS * API Reference

        */ @@ -1473,10 +1914,10 @@ namespace VPCLattice /** *

        Updates the service network and VPC association. If you add a security group * to the service network and VPC association, the association must continue to - * always have at least one security group. You can add or edit security groups at - * any time. However, to remove all security groups, you must first delete the - * association and recreate it without security groups.

        See Also:

        - *

        See + * Also:

        AWS * API Reference

        */ diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeServiceClientModel.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeServiceClientModel.h index 0d49eff3a17..39555fba808 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeServiceClientModel.h @@ -21,19 +21,26 @@ #include #include #include +#include +#include #include #include #include +#include #include #include #include #include #include #include +#include +#include +#include #include #include #include #include +#include #include #include #include @@ -41,18 +48,26 @@ #include #include #include +#include +#include #include #include #include #include +#include #include #include #include #include #include +#include +#include +#include #include +#include #include #include +#include #include #include #include @@ -65,6 +80,8 @@ #include #include #include +#include +#include #include #include #include @@ -72,8 +89,11 @@ #include #include #include +#include +#include #include #include +#include #include /* End of service model headers required in VPCLatticeClient header */ @@ -118,19 +138,26 @@ namespace Aws class BatchUpdateRuleRequest; class CreateAccessLogSubscriptionRequest; class CreateListenerRequest; + class CreateResourceConfigurationRequest; + class CreateResourceGatewayRequest; class CreateRuleRequest; class CreateServiceRequest; class CreateServiceNetworkRequest; + class CreateServiceNetworkResourceAssociationRequest; class CreateServiceNetworkServiceAssociationRequest; class CreateServiceNetworkVpcAssociationRequest; class CreateTargetGroupRequest; class DeleteAccessLogSubscriptionRequest; class DeleteAuthPolicyRequest; class DeleteListenerRequest; + class DeleteResourceConfigurationRequest; + class DeleteResourceEndpointAssociationRequest; + class DeleteResourceGatewayRequest; class DeleteResourcePolicyRequest; class DeleteRuleRequest; class DeleteServiceRequest; class DeleteServiceNetworkRequest; + class DeleteServiceNetworkResourceAssociationRequest; class DeleteServiceNetworkServiceAssociationRequest; class DeleteServiceNetworkVpcAssociationRequest; class DeleteTargetGroupRequest; @@ -138,18 +165,26 @@ namespace Aws class GetAccessLogSubscriptionRequest; class GetAuthPolicyRequest; class GetListenerRequest; + class GetResourceConfigurationRequest; + class GetResourceGatewayRequest; class GetResourcePolicyRequest; class GetRuleRequest; class GetServiceRequest; class GetServiceNetworkRequest; + class GetServiceNetworkResourceAssociationRequest; class GetServiceNetworkServiceAssociationRequest; class GetServiceNetworkVpcAssociationRequest; class GetTargetGroupRequest; class ListAccessLogSubscriptionsRequest; class ListListenersRequest; + class ListResourceConfigurationsRequest; + class ListResourceEndpointAssociationsRequest; + class ListResourceGatewaysRequest; class ListRulesRequest; + class ListServiceNetworkResourceAssociationsRequest; class ListServiceNetworkServiceAssociationsRequest; class ListServiceNetworkVpcAssociationsRequest; + class ListServiceNetworkVpcEndpointAssociationsRequest; class ListServiceNetworksRequest; class ListServicesRequest; class ListTagsForResourceRequest; @@ -162,6 +197,8 @@ namespace Aws class UntagResourceRequest; class UpdateAccessLogSubscriptionRequest; class UpdateListenerRequest; + class UpdateResourceConfigurationRequest; + class UpdateResourceGatewayRequest; class UpdateRuleRequest; class UpdateServiceRequest; class UpdateServiceNetworkRequest; @@ -173,19 +210,26 @@ namespace Aws typedef Aws::Utils::Outcome BatchUpdateRuleOutcome; typedef Aws::Utils::Outcome CreateAccessLogSubscriptionOutcome; typedef Aws::Utils::Outcome CreateListenerOutcome; + typedef Aws::Utils::Outcome CreateResourceConfigurationOutcome; + typedef Aws::Utils::Outcome CreateResourceGatewayOutcome; typedef Aws::Utils::Outcome CreateRuleOutcome; typedef Aws::Utils::Outcome CreateServiceOutcome; typedef Aws::Utils::Outcome CreateServiceNetworkOutcome; + typedef Aws::Utils::Outcome CreateServiceNetworkResourceAssociationOutcome; typedef Aws::Utils::Outcome CreateServiceNetworkServiceAssociationOutcome; typedef Aws::Utils::Outcome CreateServiceNetworkVpcAssociationOutcome; typedef Aws::Utils::Outcome CreateTargetGroupOutcome; typedef Aws::Utils::Outcome DeleteAccessLogSubscriptionOutcome; typedef Aws::Utils::Outcome DeleteAuthPolicyOutcome; typedef Aws::Utils::Outcome DeleteListenerOutcome; + typedef Aws::Utils::Outcome DeleteResourceConfigurationOutcome; + typedef Aws::Utils::Outcome DeleteResourceEndpointAssociationOutcome; + typedef Aws::Utils::Outcome DeleteResourceGatewayOutcome; typedef Aws::Utils::Outcome DeleteResourcePolicyOutcome; typedef Aws::Utils::Outcome DeleteRuleOutcome; typedef Aws::Utils::Outcome DeleteServiceOutcome; typedef Aws::Utils::Outcome DeleteServiceNetworkOutcome; + typedef Aws::Utils::Outcome DeleteServiceNetworkResourceAssociationOutcome; typedef Aws::Utils::Outcome DeleteServiceNetworkServiceAssociationOutcome; typedef Aws::Utils::Outcome DeleteServiceNetworkVpcAssociationOutcome; typedef Aws::Utils::Outcome DeleteTargetGroupOutcome; @@ -193,18 +237,26 @@ namespace Aws typedef Aws::Utils::Outcome GetAccessLogSubscriptionOutcome; typedef Aws::Utils::Outcome GetAuthPolicyOutcome; typedef Aws::Utils::Outcome GetListenerOutcome; + typedef Aws::Utils::Outcome GetResourceConfigurationOutcome; + typedef Aws::Utils::Outcome GetResourceGatewayOutcome; typedef Aws::Utils::Outcome GetResourcePolicyOutcome; typedef Aws::Utils::Outcome GetRuleOutcome; typedef Aws::Utils::Outcome GetServiceOutcome; typedef Aws::Utils::Outcome GetServiceNetworkOutcome; + typedef Aws::Utils::Outcome GetServiceNetworkResourceAssociationOutcome; typedef Aws::Utils::Outcome GetServiceNetworkServiceAssociationOutcome; typedef Aws::Utils::Outcome GetServiceNetworkVpcAssociationOutcome; typedef Aws::Utils::Outcome GetTargetGroupOutcome; typedef Aws::Utils::Outcome ListAccessLogSubscriptionsOutcome; typedef Aws::Utils::Outcome ListListenersOutcome; + typedef Aws::Utils::Outcome ListResourceConfigurationsOutcome; + typedef Aws::Utils::Outcome ListResourceEndpointAssociationsOutcome; + typedef Aws::Utils::Outcome ListResourceGatewaysOutcome; typedef Aws::Utils::Outcome ListRulesOutcome; + typedef Aws::Utils::Outcome ListServiceNetworkResourceAssociationsOutcome; typedef Aws::Utils::Outcome ListServiceNetworkServiceAssociationsOutcome; typedef Aws::Utils::Outcome ListServiceNetworkVpcAssociationsOutcome; + typedef Aws::Utils::Outcome ListServiceNetworkVpcEndpointAssociationsOutcome; typedef Aws::Utils::Outcome ListServiceNetworksOutcome; typedef Aws::Utils::Outcome ListServicesOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; @@ -217,6 +269,8 @@ namespace Aws typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateAccessLogSubscriptionOutcome; typedef Aws::Utils::Outcome UpdateListenerOutcome; + typedef Aws::Utils::Outcome UpdateResourceConfigurationOutcome; + typedef Aws::Utils::Outcome UpdateResourceGatewayOutcome; typedef Aws::Utils::Outcome UpdateRuleOutcome; typedef Aws::Utils::Outcome UpdateServiceOutcome; typedef Aws::Utils::Outcome UpdateServiceNetworkOutcome; @@ -228,19 +282,26 @@ namespace Aws typedef std::future BatchUpdateRuleOutcomeCallable; typedef std::future CreateAccessLogSubscriptionOutcomeCallable; typedef std::future CreateListenerOutcomeCallable; + typedef std::future CreateResourceConfigurationOutcomeCallable; + typedef std::future CreateResourceGatewayOutcomeCallable; typedef std::future CreateRuleOutcomeCallable; typedef std::future CreateServiceOutcomeCallable; typedef std::future CreateServiceNetworkOutcomeCallable; + typedef std::future CreateServiceNetworkResourceAssociationOutcomeCallable; typedef std::future CreateServiceNetworkServiceAssociationOutcomeCallable; typedef std::future CreateServiceNetworkVpcAssociationOutcomeCallable; typedef std::future CreateTargetGroupOutcomeCallable; typedef std::future DeleteAccessLogSubscriptionOutcomeCallable; typedef std::future DeleteAuthPolicyOutcomeCallable; typedef std::future DeleteListenerOutcomeCallable; + typedef std::future DeleteResourceConfigurationOutcomeCallable; + typedef std::future DeleteResourceEndpointAssociationOutcomeCallable; + typedef std::future DeleteResourceGatewayOutcomeCallable; typedef std::future DeleteResourcePolicyOutcomeCallable; typedef std::future DeleteRuleOutcomeCallable; typedef std::future DeleteServiceOutcomeCallable; typedef std::future DeleteServiceNetworkOutcomeCallable; + typedef std::future DeleteServiceNetworkResourceAssociationOutcomeCallable; typedef std::future DeleteServiceNetworkServiceAssociationOutcomeCallable; typedef std::future DeleteServiceNetworkVpcAssociationOutcomeCallable; typedef std::future DeleteTargetGroupOutcomeCallable; @@ -248,18 +309,26 @@ namespace Aws typedef std::future GetAccessLogSubscriptionOutcomeCallable; typedef std::future GetAuthPolicyOutcomeCallable; typedef std::future GetListenerOutcomeCallable; + typedef std::future GetResourceConfigurationOutcomeCallable; + typedef std::future GetResourceGatewayOutcomeCallable; typedef std::future GetResourcePolicyOutcomeCallable; typedef std::future GetRuleOutcomeCallable; typedef std::future GetServiceOutcomeCallable; typedef std::future GetServiceNetworkOutcomeCallable; + typedef std::future GetServiceNetworkResourceAssociationOutcomeCallable; typedef std::future GetServiceNetworkServiceAssociationOutcomeCallable; typedef std::future GetServiceNetworkVpcAssociationOutcomeCallable; typedef std::future GetTargetGroupOutcomeCallable; typedef std::future ListAccessLogSubscriptionsOutcomeCallable; typedef std::future ListListenersOutcomeCallable; + typedef std::future ListResourceConfigurationsOutcomeCallable; + typedef std::future ListResourceEndpointAssociationsOutcomeCallable; + typedef std::future ListResourceGatewaysOutcomeCallable; typedef std::future ListRulesOutcomeCallable; + typedef std::future ListServiceNetworkResourceAssociationsOutcomeCallable; typedef std::future ListServiceNetworkServiceAssociationsOutcomeCallable; typedef std::future ListServiceNetworkVpcAssociationsOutcomeCallable; + typedef std::future ListServiceNetworkVpcEndpointAssociationsOutcomeCallable; typedef std::future ListServiceNetworksOutcomeCallable; typedef std::future ListServicesOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; @@ -272,6 +341,8 @@ namespace Aws typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateAccessLogSubscriptionOutcomeCallable; typedef std::future UpdateListenerOutcomeCallable; + typedef std::future UpdateResourceConfigurationOutcomeCallable; + typedef std::future UpdateResourceGatewayOutcomeCallable; typedef std::future UpdateRuleOutcomeCallable; typedef std::future UpdateServiceOutcomeCallable; typedef std::future UpdateServiceNetworkOutcomeCallable; @@ -286,19 +357,26 @@ namespace Aws typedef std::function&) > BatchUpdateRuleResponseReceivedHandler; typedef std::function&) > CreateAccessLogSubscriptionResponseReceivedHandler; typedef std::function&) > CreateListenerResponseReceivedHandler; + typedef std::function&) > CreateResourceConfigurationResponseReceivedHandler; + typedef std::function&) > CreateResourceGatewayResponseReceivedHandler; typedef std::function&) > CreateRuleResponseReceivedHandler; typedef std::function&) > CreateServiceResponseReceivedHandler; typedef std::function&) > CreateServiceNetworkResponseReceivedHandler; + typedef std::function&) > CreateServiceNetworkResourceAssociationResponseReceivedHandler; typedef std::function&) > CreateServiceNetworkServiceAssociationResponseReceivedHandler; typedef std::function&) > CreateServiceNetworkVpcAssociationResponseReceivedHandler; typedef std::function&) > CreateTargetGroupResponseReceivedHandler; typedef std::function&) > DeleteAccessLogSubscriptionResponseReceivedHandler; typedef std::function&) > DeleteAuthPolicyResponseReceivedHandler; typedef std::function&) > DeleteListenerResponseReceivedHandler; + typedef std::function&) > DeleteResourceConfigurationResponseReceivedHandler; + typedef std::function&) > DeleteResourceEndpointAssociationResponseReceivedHandler; + typedef std::function&) > DeleteResourceGatewayResponseReceivedHandler; typedef std::function&) > DeleteResourcePolicyResponseReceivedHandler; typedef std::function&) > DeleteRuleResponseReceivedHandler; typedef std::function&) > DeleteServiceResponseReceivedHandler; typedef std::function&) > DeleteServiceNetworkResponseReceivedHandler; + typedef std::function&) > DeleteServiceNetworkResourceAssociationResponseReceivedHandler; typedef std::function&) > DeleteServiceNetworkServiceAssociationResponseReceivedHandler; typedef std::function&) > DeleteServiceNetworkVpcAssociationResponseReceivedHandler; typedef std::function&) > DeleteTargetGroupResponseReceivedHandler; @@ -306,18 +384,26 @@ namespace Aws typedef std::function&) > GetAccessLogSubscriptionResponseReceivedHandler; typedef std::function&) > GetAuthPolicyResponseReceivedHandler; typedef std::function&) > GetListenerResponseReceivedHandler; + typedef std::function&) > GetResourceConfigurationResponseReceivedHandler; + typedef std::function&) > GetResourceGatewayResponseReceivedHandler; typedef std::function&) > GetResourcePolicyResponseReceivedHandler; typedef std::function&) > GetRuleResponseReceivedHandler; typedef std::function&) > GetServiceResponseReceivedHandler; typedef std::function&) > GetServiceNetworkResponseReceivedHandler; + typedef std::function&) > GetServiceNetworkResourceAssociationResponseReceivedHandler; typedef std::function&) > GetServiceNetworkServiceAssociationResponseReceivedHandler; typedef std::function&) > GetServiceNetworkVpcAssociationResponseReceivedHandler; typedef std::function&) > GetTargetGroupResponseReceivedHandler; typedef std::function&) > ListAccessLogSubscriptionsResponseReceivedHandler; typedef std::function&) > ListListenersResponseReceivedHandler; + typedef std::function&) > ListResourceConfigurationsResponseReceivedHandler; + typedef std::function&) > ListResourceEndpointAssociationsResponseReceivedHandler; + typedef std::function&) > ListResourceGatewaysResponseReceivedHandler; typedef std::function&) > ListRulesResponseReceivedHandler; + typedef std::function&) > ListServiceNetworkResourceAssociationsResponseReceivedHandler; typedef std::function&) > ListServiceNetworkServiceAssociationsResponseReceivedHandler; typedef std::function&) > ListServiceNetworkVpcAssociationsResponseReceivedHandler; + typedef std::function&) > ListServiceNetworkVpcEndpointAssociationsResponseReceivedHandler; typedef std::function&) > ListServiceNetworksResponseReceivedHandler; typedef std::function&) > ListServicesResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; @@ -330,6 +416,8 @@ namespace Aws typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateAccessLogSubscriptionResponseReceivedHandler; typedef std::function&) > UpdateListenerResponseReceivedHandler; + typedef std::function&) > UpdateResourceConfigurationResponseReceivedHandler; + typedef std::function&) > UpdateResourceGatewayResponseReceivedHandler; typedef std::function&) > UpdateRuleResponseReceivedHandler; typedef std::function&) > UpdateServiceResponseReceivedHandler; typedef std::function&) > UpdateServiceNetworkResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/AccessLogSubscriptionSummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/AccessLogSubscriptionSummary.h index c6030386385..456cde67cdb 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/AccessLogSubscriptionSummary.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/AccessLogSubscriptionSummary.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -55,8 +56,8 @@ namespace Model ///@{ /** - *

        The date and time that the access log subscription was created, specified in - * ISO-8601 format.

        + *

        The date and time that the access log subscription was created, in ISO-8601 + * format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } @@ -96,8 +97,8 @@ namespace Model ///@{ /** - *

        The date and time that the access log subscription was last updated, - * specified in ISO-8601 format.

        + *

        The date and time that the access log subscription was last updated, in + * ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } @@ -134,6 +135,18 @@ namespace Model inline AccessLogSubscriptionSummary& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} inline AccessLogSubscriptionSummary& WithResourceId(const char* value) { SetResourceId(value); return *this;} ///@} + + ///@{ + /** + *

        Log type of the service network.

        + */ + inline const ServiceNetworkLogType& GetServiceNetworkLogType() const{ return m_serviceNetworkLogType; } + inline bool ServiceNetworkLogTypeHasBeenSet() const { return m_serviceNetworkLogTypeHasBeenSet; } + inline void SetServiceNetworkLogType(const ServiceNetworkLogType& value) { m_serviceNetworkLogTypeHasBeenSet = true; m_serviceNetworkLogType = value; } + inline void SetServiceNetworkLogType(ServiceNetworkLogType&& value) { m_serviceNetworkLogTypeHasBeenSet = true; m_serviceNetworkLogType = std::move(value); } + inline AccessLogSubscriptionSummary& WithServiceNetworkLogType(const ServiceNetworkLogType& value) { SetServiceNetworkLogType(value); return *this;} + inline AccessLogSubscriptionSummary& WithServiceNetworkLogType(ServiceNetworkLogType&& value) { SetServiceNetworkLogType(std::move(value)); return *this;} + ///@} private: Aws::String m_arn; @@ -156,6 +169,9 @@ namespace Model Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; + + ServiceNetworkLogType m_serviceNetworkLogType; + bool m_serviceNetworkLogTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ArnResource.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ArnResource.h new file mode 100644 index 00000000000..084da7d9fa5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ArnResource.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + + /** + *

        The Amazon Resource Name (ARN) of the resource.

        See Also:

        AWS + * API Reference

        + */ + class ArnResource + { + public: + AWS_VPCLATTICE_API ArnResource(); + AWS_VPCLATTICE_API ArnResource(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API ArnResource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline ArnResource& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline ArnResource& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline ArnResource& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/BatchUpdateRuleRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/BatchUpdateRuleRequest.h index 666751fd5df..9905d22c78e 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/BatchUpdateRuleRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/BatchUpdateRuleRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the listener.

        + *

        The ID or ARN of the listener.

        */ inline const Aws::String& GetListenerIdentifier() const{ return m_listenerIdentifier; } inline bool ListenerIdentifierHasBeenSet() const { return m_listenerIdentifierHasBeenSet; } @@ -64,7 +64,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateAccessLogSubscriptionRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateAccessLogSubscriptionRequest.h index 2699492e936..b3d4c61fec8 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateAccessLogSubscriptionRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateAccessLogSubscriptionRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -69,7 +70,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service network or service.

        + *

        The ID or ARN of the service network or service.

        */ inline const Aws::String& GetResourceIdentifier() const{ return m_resourceIdentifier; } inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; } @@ -81,6 +82,18 @@ namespace Model inline CreateAccessLogSubscriptionRequest& WithResourceIdentifier(const char* value) { SetResourceIdentifier(value); return *this;} ///@} + ///@{ + /** + *

        The type of log that monitors your Amazon VPC Lattice service networks.

        + */ + inline const ServiceNetworkLogType& GetServiceNetworkLogType() const{ return m_serviceNetworkLogType; } + inline bool ServiceNetworkLogTypeHasBeenSet() const { return m_serviceNetworkLogTypeHasBeenSet; } + inline void SetServiceNetworkLogType(const ServiceNetworkLogType& value) { m_serviceNetworkLogTypeHasBeenSet = true; m_serviceNetworkLogType = value; } + inline void SetServiceNetworkLogType(ServiceNetworkLogType&& value) { m_serviceNetworkLogTypeHasBeenSet = true; m_serviceNetworkLogType = std::move(value); } + inline CreateAccessLogSubscriptionRequest& WithServiceNetworkLogType(const ServiceNetworkLogType& value) { SetServiceNetworkLogType(value); return *this;} + inline CreateAccessLogSubscriptionRequest& WithServiceNetworkLogType(ServiceNetworkLogType&& value) { SetServiceNetworkLogType(std::move(value)); return *this;} + ///@} + ///@{ /** *

        The tags for the access log subscription.

        @@ -110,6 +123,9 @@ namespace Model Aws::String m_resourceIdentifier; bool m_resourceIdentifierHasBeenSet = false; + ServiceNetworkLogType m_serviceNetworkLogType; + bool m_serviceNetworkLogTypeHasBeenSet = false; + Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateAccessLogSubscriptionResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateAccessLogSubscriptionResult.h index 6ebf60c61c7..25e33018fb4 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateAccessLogSubscriptionResult.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateAccessLogSubscriptionResult.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -97,6 +98,17 @@ namespace Model inline CreateAccessLogSubscriptionResult& WithResourceId(const char* value) { SetResourceId(value); return *this;} ///@} + ///@{ + /** + *

        The type of log that monitors your Amazon VPC Lattice service networks.

        + */ + inline const ServiceNetworkLogType& GetServiceNetworkLogType() const{ return m_serviceNetworkLogType; } + inline void SetServiceNetworkLogType(const ServiceNetworkLogType& value) { m_serviceNetworkLogType = value; } + inline void SetServiceNetworkLogType(ServiceNetworkLogType&& value) { m_serviceNetworkLogType = std::move(value); } + inline CreateAccessLogSubscriptionResult& WithServiceNetworkLogType(const ServiceNetworkLogType& value) { SetServiceNetworkLogType(value); return *this;} + inline CreateAccessLogSubscriptionResult& WithServiceNetworkLogType(ServiceNetworkLogType&& value) { SetServiceNetworkLogType(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -119,6 +131,8 @@ namespace Model Aws::String m_resourceId; + ServiceNetworkLogType m_serviceNetworkLogType; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateListenerRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateListenerRequest.h index 5941d4c7f24..60aa08a55a9 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateListenerRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateListenerRequest.h @@ -107,7 +107,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceConfigurationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceConfigurationRequest.h new file mode 100644 index 00000000000..984f5588956 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceConfigurationRequest.h @@ -0,0 +1,228 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class CreateResourceConfigurationRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API CreateResourceConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateResourceConfiguration"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        (SINGLE, GROUP, ARN) Specifies whether the resource configuration can be + * associated with a sharable service network. The default is false.

        + */ + inline bool GetAllowAssociationToShareableServiceNetwork() const{ return m_allowAssociationToShareableServiceNetwork; } + inline bool AllowAssociationToShareableServiceNetworkHasBeenSet() const { return m_allowAssociationToShareableServiceNetworkHasBeenSet; } + inline void SetAllowAssociationToShareableServiceNetwork(bool value) { m_allowAssociationToShareableServiceNetworkHasBeenSet = true; m_allowAssociationToShareableServiceNetwork = value; } + inline CreateResourceConfigurationRequest& WithAllowAssociationToShareableServiceNetwork(bool value) { SetAllowAssociationToShareableServiceNetwork(value); return *this;} + ///@} + + ///@{ + /** + *

        A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. If you retry a request that completed successfully + * using the same client token and parameters, the retry succeeds without + * performing any actions. If the parameters aren't identical, the retry fails.

        + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateResourceConfigurationRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateResourceConfigurationRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateResourceConfigurationRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource configuration. The name must be unique within the + * account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a + * hyphen as the first or last character, or immediately after another hyphen.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline CreateResourceConfigurationRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateResourceConfigurationRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateResourceConfigurationRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        (SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access + * a resource configuration (for example: 1-65535). You can separate port ranges + * using commas (for example: 1,2,22-30).

        + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } + inline CreateResourceConfigurationRequest& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline CreateResourceConfigurationRequest& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline CreateResourceConfigurationRequest& AddPortRanges(const Aws::String& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + inline CreateResourceConfigurationRequest& AddPortRanges(Aws::String&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } + inline CreateResourceConfigurationRequest& AddPortRanges(const char* value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        (SINGLE, GROUP) The protocol accepted by the resource configuration.

        + */ + inline const ProtocolType& GetProtocol() const{ return m_protocol; } + inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } + inline void SetProtocol(const ProtocolType& value) { m_protocolHasBeenSet = true; m_protocol = value; } + inline void SetProtocol(ProtocolType&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } + inline CreateResourceConfigurationRequest& WithProtocol(const ProtocolType& value) { SetProtocol(value); return *this;} + inline CreateResourceConfigurationRequest& WithProtocol(ProtocolType&& value) { SetProtocol(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        (SINGLE, CHILD, ARN) The resource configuration.

        + */ + inline const ResourceConfigurationDefinition& GetResourceConfigurationDefinition() const{ return m_resourceConfigurationDefinition; } + inline bool ResourceConfigurationDefinitionHasBeenSet() const { return m_resourceConfigurationDefinitionHasBeenSet; } + inline void SetResourceConfigurationDefinition(const ResourceConfigurationDefinition& value) { m_resourceConfigurationDefinitionHasBeenSet = true; m_resourceConfigurationDefinition = value; } + inline void SetResourceConfigurationDefinition(ResourceConfigurationDefinition&& value) { m_resourceConfigurationDefinitionHasBeenSet = true; m_resourceConfigurationDefinition = std::move(value); } + inline CreateResourceConfigurationRequest& WithResourceConfigurationDefinition(const ResourceConfigurationDefinition& value) { SetResourceConfigurationDefinition(value); return *this;} + inline CreateResourceConfigurationRequest& WithResourceConfigurationDefinition(ResourceConfigurationDefinition&& value) { SetResourceConfigurationDefinition(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        (CHILD) The ID or ARN of the parent resource configuration (type is + * GROUP). This is used to associate a child resource configuration + * with a group resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationGroupIdentifier() const{ return m_resourceConfigurationGroupIdentifier; } + inline bool ResourceConfigurationGroupIdentifierHasBeenSet() const { return m_resourceConfigurationGroupIdentifierHasBeenSet; } + inline void SetResourceConfigurationGroupIdentifier(const Aws::String& value) { m_resourceConfigurationGroupIdentifierHasBeenSet = true; m_resourceConfigurationGroupIdentifier = value; } + inline void SetResourceConfigurationGroupIdentifier(Aws::String&& value) { m_resourceConfigurationGroupIdentifierHasBeenSet = true; m_resourceConfigurationGroupIdentifier = std::move(value); } + inline void SetResourceConfigurationGroupIdentifier(const char* value) { m_resourceConfigurationGroupIdentifierHasBeenSet = true; m_resourceConfigurationGroupIdentifier.assign(value); } + inline CreateResourceConfigurationRequest& WithResourceConfigurationGroupIdentifier(const Aws::String& value) { SetResourceConfigurationGroupIdentifier(value); return *this;} + inline CreateResourceConfigurationRequest& WithResourceConfigurationGroupIdentifier(Aws::String&& value) { SetResourceConfigurationGroupIdentifier(std::move(value)); return *this;} + inline CreateResourceConfigurationRequest& WithResourceConfigurationGroupIdentifier(const char* value) { SetResourceConfigurationGroupIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

        (SINGLE, GROUP, ARN) The ID or ARN of the resource gateway used to connect to + * the resource configuration. For a child resource configuration, this value is + * inherited from the parent resource configuration.

        + */ + inline const Aws::String& GetResourceGatewayIdentifier() const{ return m_resourceGatewayIdentifier; } + inline bool ResourceGatewayIdentifierHasBeenSet() const { return m_resourceGatewayIdentifierHasBeenSet; } + inline void SetResourceGatewayIdentifier(const Aws::String& value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier = value; } + inline void SetResourceGatewayIdentifier(Aws::String&& value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier = std::move(value); } + inline void SetResourceGatewayIdentifier(const char* value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier.assign(value); } + inline CreateResourceConfigurationRequest& WithResourceGatewayIdentifier(const Aws::String& value) { SetResourceGatewayIdentifier(value); return *this;} + inline CreateResourceConfigurationRequest& WithResourceGatewayIdentifier(Aws::String&& value) { SetResourceGatewayIdentifier(std::move(value)); return *this;} + inline CreateResourceConfigurationRequest& WithResourceGatewayIdentifier(const char* value) { SetResourceGatewayIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

        The tags for the resource configuration.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateResourceConfigurationRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateResourceConfigurationRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateResourceConfigurationRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateResourceConfigurationRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateResourceConfigurationRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateResourceConfigurationRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateResourceConfigurationRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateResourceConfigurationRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateResourceConfigurationRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

        The type of resource configuration.

        • SINGLE - A + * single resource.

        • GROUP - A group of resources. + * You must create a group resource configuration before you create a child + * resource configuration.

        • CHILD - A single + * resource that is part of a group resource configuration.

        • + * ARN - An Amazon Web Services resource.

        + */ + inline const ResourceConfigurationType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const ResourceConfigurationType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(ResourceConfigurationType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline CreateResourceConfigurationRequest& WithType(const ResourceConfigurationType& value) { SetType(value); return *this;} + inline CreateResourceConfigurationRequest& WithType(ResourceConfigurationType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + bool m_allowAssociationToShareableServiceNetwork; + bool m_allowAssociationToShareableServiceNetworkHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_portRanges; + bool m_portRangesHasBeenSet = false; + + ProtocolType m_protocol; + bool m_protocolHasBeenSet = false; + + ResourceConfigurationDefinition m_resourceConfigurationDefinition; + bool m_resourceConfigurationDefinitionHasBeenSet = false; + + Aws::String m_resourceConfigurationGroupIdentifier; + bool m_resourceConfigurationGroupIdentifierHasBeenSet = false; + + Aws::String m_resourceGatewayIdentifier; + bool m_resourceGatewayIdentifierHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + ResourceConfigurationType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceConfigurationResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceConfigurationResult.h new file mode 100644 index 00000000000..e21ee9c90c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceConfigurationResult.h @@ -0,0 +1,243 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class CreateResourceConfigurationResult + { + public: + AWS_VPCLATTICE_API CreateResourceConfigurationResult(); + AWS_VPCLATTICE_API CreateResourceConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API CreateResourceConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Specifies whether the resource configuration can be associated with a + * sharable service network.

        + */ + inline bool GetAllowAssociationToShareableServiceNetwork() const{ return m_allowAssociationToShareableServiceNetwork; } + inline void SetAllowAssociationToShareableServiceNetwork(bool value) { m_allowAssociationToShareableServiceNetwork = value; } + inline CreateResourceConfigurationResult& WithAllowAssociationToShareableServiceNetwork(bool value) { SetAllowAssociationToShareableServiceNetwork(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource configuration.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline CreateResourceConfigurationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline CreateResourceConfigurationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline CreateResourceConfigurationResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The date and time that the resource configuration was created, in ISO-8601 + * format.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline CreateResourceConfigurationResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline CreateResourceConfigurationResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The reason that the request failed.

        + */ + inline const Aws::String& GetFailureReason() const{ return m_failureReason; } + inline void SetFailureReason(const Aws::String& value) { m_failureReason = value; } + inline void SetFailureReason(Aws::String&& value) { m_failureReason = std::move(value); } + inline void SetFailureReason(const char* value) { m_failureReason.assign(value); } + inline CreateResourceConfigurationResult& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} + inline CreateResourceConfigurationResult& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} + inline CreateResourceConfigurationResult& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource configuration.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline void SetId(const Aws::String& value) { m_id = value; } + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + inline void SetId(const char* value) { m_id.assign(value); } + inline CreateResourceConfigurationResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline CreateResourceConfigurationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline CreateResourceConfigurationResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource configuration.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline void SetName(const Aws::String& value) { m_name = value; } + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + inline void SetName(const char* value) { m_name.assign(value); } + inline CreateResourceConfigurationResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateResourceConfigurationResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateResourceConfigurationResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The port range.

        + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRanges = std::move(value); } + inline CreateResourceConfigurationResult& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline CreateResourceConfigurationResult& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline CreateResourceConfigurationResult& AddPortRanges(const Aws::String& value) { m_portRanges.push_back(value); return *this; } + inline CreateResourceConfigurationResult& AddPortRanges(Aws::String&& value) { m_portRanges.push_back(std::move(value)); return *this; } + inline CreateResourceConfigurationResult& AddPortRanges(const char* value) { m_portRanges.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The protocol.

        + */ + inline const ProtocolType& GetProtocol() const{ return m_protocol; } + inline void SetProtocol(const ProtocolType& value) { m_protocol = value; } + inline void SetProtocol(ProtocolType&& value) { m_protocol = std::move(value); } + inline CreateResourceConfigurationResult& WithProtocol(const ProtocolType& value) { SetProtocol(value); return *this;} + inline CreateResourceConfigurationResult& WithProtocol(ProtocolType&& value) { SetProtocol(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The resource configuration.

        + */ + inline const ResourceConfigurationDefinition& GetResourceConfigurationDefinition() const{ return m_resourceConfigurationDefinition; } + inline void SetResourceConfigurationDefinition(const ResourceConfigurationDefinition& value) { m_resourceConfigurationDefinition = value; } + inline void SetResourceConfigurationDefinition(ResourceConfigurationDefinition&& value) { m_resourceConfigurationDefinition = std::move(value); } + inline CreateResourceConfigurationResult& WithResourceConfigurationDefinition(const ResourceConfigurationDefinition& value) { SetResourceConfigurationDefinition(value); return *this;} + inline CreateResourceConfigurationResult& WithResourceConfigurationDefinition(ResourceConfigurationDefinition&& value) { SetResourceConfigurationDefinition(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the parent resource configuration (type is GROUP).

        + */ + inline const Aws::String& GetResourceConfigurationGroupId() const{ return m_resourceConfigurationGroupId; } + inline void SetResourceConfigurationGroupId(const Aws::String& value) { m_resourceConfigurationGroupId = value; } + inline void SetResourceConfigurationGroupId(Aws::String&& value) { m_resourceConfigurationGroupId = std::move(value); } + inline void SetResourceConfigurationGroupId(const char* value) { m_resourceConfigurationGroupId.assign(value); } + inline CreateResourceConfigurationResult& WithResourceConfigurationGroupId(const Aws::String& value) { SetResourceConfigurationGroupId(value); return *this;} + inline CreateResourceConfigurationResult& WithResourceConfigurationGroupId(Aws::String&& value) { SetResourceConfigurationGroupId(std::move(value)); return *this;} + inline CreateResourceConfigurationResult& WithResourceConfigurationGroupId(const char* value) { SetResourceConfigurationGroupId(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource gateway associated with the resource + * configuration.

        + */ + inline const Aws::String& GetResourceGatewayId() const{ return m_resourceGatewayId; } + inline void SetResourceGatewayId(const Aws::String& value) { m_resourceGatewayId = value; } + inline void SetResourceGatewayId(Aws::String&& value) { m_resourceGatewayId = std::move(value); } + inline void SetResourceGatewayId(const char* value) { m_resourceGatewayId.assign(value); } + inline CreateResourceConfigurationResult& WithResourceGatewayId(const Aws::String& value) { SetResourceGatewayId(value); return *this;} + inline CreateResourceConfigurationResult& WithResourceGatewayId(Aws::String&& value) { SetResourceGatewayId(std::move(value)); return *this;} + inline CreateResourceConfigurationResult& WithResourceGatewayId(const char* value) { SetResourceGatewayId(value); return *this;} + ///@} + + ///@{ + /** + *

        The current status of the resource configuration.

        + */ + inline const ResourceConfigurationStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ResourceConfigurationStatus& value) { m_status = value; } + inline void SetStatus(ResourceConfigurationStatus&& value) { m_status = std::move(value); } + inline CreateResourceConfigurationResult& WithStatus(const ResourceConfigurationStatus& value) { SetStatus(value); return *this;} + inline CreateResourceConfigurationResult& WithStatus(ResourceConfigurationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The type of resource configuration.

        + */ + inline const ResourceConfigurationType& GetType() const{ return m_type; } + inline void SetType(const ResourceConfigurationType& value) { m_type = value; } + inline void SetType(ResourceConfigurationType&& value) { m_type = std::move(value); } + inline CreateResourceConfigurationResult& WithType(const ResourceConfigurationType& value) { SetType(value); return *this;} + inline CreateResourceConfigurationResult& WithType(ResourceConfigurationType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateResourceConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateResourceConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateResourceConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + bool m_allowAssociationToShareableServiceNetwork; + + Aws::String m_arn; + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_failureReason; + + Aws::String m_id; + + Aws::String m_name; + + Aws::Vector m_portRanges; + + ProtocolType m_protocol; + + ResourceConfigurationDefinition m_resourceConfigurationDefinition; + + Aws::String m_resourceConfigurationGroupId; + + Aws::String m_resourceGatewayId; + + ResourceConfigurationStatus m_status; + + ResourceConfigurationType m_type; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceGatewayRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceGatewayRequest.h new file mode 100644 index 00000000000..20413532d68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceGatewayRequest.h @@ -0,0 +1,171 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class CreateResourceGatewayRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API CreateResourceGatewayRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateResourceGateway"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. If you retry a request that completed successfully + * using the same client token and parameters, the retry succeeds without + * performing any actions. If the parameters aren't identical, the retry fails.

        + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateResourceGatewayRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateResourceGatewayRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateResourceGatewayRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of IP address used by the resource gateway.

        + */ + inline const ResourceGatewayIpAddressType& GetIpAddressType() const{ return m_ipAddressType; } + inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; } + inline void SetIpAddressType(const ResourceGatewayIpAddressType& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; } + inline void SetIpAddressType(ResourceGatewayIpAddressType&& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = std::move(value); } + inline CreateResourceGatewayRequest& WithIpAddressType(const ResourceGatewayIpAddressType& value) { SetIpAddressType(value); return *this;} + inline CreateResourceGatewayRequest& WithIpAddressType(ResourceGatewayIpAddressType&& value) { SetIpAddressType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource gateway.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline CreateResourceGatewayRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateResourceGatewayRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateResourceGatewayRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The IDs of the security groups to apply to the resource gateway. The security + * groups must be in the same VPC.

        + */ + inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } + inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } + inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } + inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } + inline CreateResourceGatewayRequest& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} + inline CreateResourceGatewayRequest& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} + inline CreateResourceGatewayRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + inline CreateResourceGatewayRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } + inline CreateResourceGatewayRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The IDs of the VPC subnets in which to create the resource gateway.

        + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline CreateResourceGatewayRequest& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline CreateResourceGatewayRequest& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline CreateResourceGatewayRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline CreateResourceGatewayRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline CreateResourceGatewayRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The tags for the resource gateway.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateResourceGatewayRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateResourceGatewayRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateResourceGatewayRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateResourceGatewayRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateResourceGatewayRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateResourceGatewayRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateResourceGatewayRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateResourceGatewayRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateResourceGatewayRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

        The ID of the VPC for the resource gateway.

        + */ + inline const Aws::String& GetVpcIdentifier() const{ return m_vpcIdentifier; } + inline bool VpcIdentifierHasBeenSet() const { return m_vpcIdentifierHasBeenSet; } + inline void SetVpcIdentifier(const Aws::String& value) { m_vpcIdentifierHasBeenSet = true; m_vpcIdentifier = value; } + inline void SetVpcIdentifier(Aws::String&& value) { m_vpcIdentifierHasBeenSet = true; m_vpcIdentifier = std::move(value); } + inline void SetVpcIdentifier(const char* value) { m_vpcIdentifierHasBeenSet = true; m_vpcIdentifier.assign(value); } + inline CreateResourceGatewayRequest& WithVpcIdentifier(const Aws::String& value) { SetVpcIdentifier(value); return *this;} + inline CreateResourceGatewayRequest& WithVpcIdentifier(Aws::String&& value) { SetVpcIdentifier(std::move(value)); return *this;} + inline CreateResourceGatewayRequest& WithVpcIdentifier(const char* value) { SetVpcIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + ResourceGatewayIpAddressType m_ipAddressType; + bool m_ipAddressTypeHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_securityGroupIds; + bool m_securityGroupIdsHasBeenSet = false; + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_vpcIdentifier; + bool m_vpcIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceGatewayResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceGatewayResult.h new file mode 100644 index 00000000000..361fe062fd8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateResourceGatewayResult.h @@ -0,0 +1,173 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class CreateResourceGatewayResult + { + public: + AWS_VPCLATTICE_API CreateResourceGatewayResult(); + AWS_VPCLATTICE_API CreateResourceGatewayResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API CreateResourceGatewayResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource gateway.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline CreateResourceGatewayResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline CreateResourceGatewayResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline CreateResourceGatewayResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource gateway.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline void SetId(const Aws::String& value) { m_id = value; } + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + inline void SetId(const char* value) { m_id.assign(value); } + inline CreateResourceGatewayResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline CreateResourceGatewayResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline CreateResourceGatewayResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of IP address for the resource gateway.

        + */ + inline const ResourceGatewayIpAddressType& GetIpAddressType() const{ return m_ipAddressType; } + inline void SetIpAddressType(const ResourceGatewayIpAddressType& value) { m_ipAddressType = value; } + inline void SetIpAddressType(ResourceGatewayIpAddressType&& value) { m_ipAddressType = std::move(value); } + inline CreateResourceGatewayResult& WithIpAddressType(const ResourceGatewayIpAddressType& value) { SetIpAddressType(value); return *this;} + inline CreateResourceGatewayResult& WithIpAddressType(ResourceGatewayIpAddressType&& value) { SetIpAddressType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource gateway.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline void SetName(const Aws::String& value) { m_name = value; } + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + inline void SetName(const char* value) { m_name.assign(value); } + inline CreateResourceGatewayResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateResourceGatewayResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateResourceGatewayResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The IDs of the security groups for the resource gateway.

        + */ + inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } + inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIds = value; } + inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIds = std::move(value); } + inline CreateResourceGatewayResult& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} + inline CreateResourceGatewayResult& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} + inline CreateResourceGatewayResult& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIds.push_back(value); return *this; } + inline CreateResourceGatewayResult& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIds.push_back(std::move(value)); return *this; } + inline CreateResourceGatewayResult& AddSecurityGroupIds(const char* value) { m_securityGroupIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The status of the resource gateway.

        + */ + inline const ResourceGatewayStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ResourceGatewayStatus& value) { m_status = value; } + inline void SetStatus(ResourceGatewayStatus&& value) { m_status = std::move(value); } + inline CreateResourceGatewayResult& WithStatus(const ResourceGatewayStatus& value) { SetStatus(value); return *this;} + inline CreateResourceGatewayResult& WithStatus(ResourceGatewayStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The IDs of the resource gateway subnets.

        + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIds = std::move(value); } + inline CreateResourceGatewayResult& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline CreateResourceGatewayResult& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline CreateResourceGatewayResult& AddSubnetIds(const Aws::String& value) { m_subnetIds.push_back(value); return *this; } + inline CreateResourceGatewayResult& AddSubnetIds(Aws::String&& value) { m_subnetIds.push_back(std::move(value)); return *this; } + inline CreateResourceGatewayResult& AddSubnetIds(const char* value) { m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The ID of the VPC.

        + */ + inline const Aws::String& GetVpcIdentifier() const{ return m_vpcIdentifier; } + inline void SetVpcIdentifier(const Aws::String& value) { m_vpcIdentifier = value; } + inline void SetVpcIdentifier(Aws::String&& value) { m_vpcIdentifier = std::move(value); } + inline void SetVpcIdentifier(const char* value) { m_vpcIdentifier.assign(value); } + inline CreateResourceGatewayResult& WithVpcIdentifier(const Aws::String& value) { SetVpcIdentifier(value); return *this;} + inline CreateResourceGatewayResult& WithVpcIdentifier(Aws::String&& value) { SetVpcIdentifier(std::move(value)); return *this;} + inline CreateResourceGatewayResult& WithVpcIdentifier(const char* value) { SetVpcIdentifier(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateResourceGatewayResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateResourceGatewayResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateResourceGatewayResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_arn; + + Aws::String m_id; + + ResourceGatewayIpAddressType m_ipAddressType; + + Aws::String m_name; + + Aws::Vector m_securityGroupIds; + + ResourceGatewayStatus m_status; + + Aws::Vector m_subnetIds; + + Aws::String m_vpcIdentifier; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateRuleRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateRuleRequest.h index 3e0ec55a998..a044d6fcbd2 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateRuleRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateRuleRequest.h @@ -67,7 +67,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the listener.

        + *

        The ID or ARN of the listener.

        */ inline const Aws::String& GetListenerIdentifier() const{ return m_listenerIdentifier; } inline bool ListenerIdentifierHasBeenSet() const { return m_listenerIdentifierHasBeenSet; } @@ -121,7 +121,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkRequest.h index 8db4d4074d5..5a66ebbc749 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -83,6 +84,18 @@ namespace Model inline CreateServiceNetworkRequest& WithName(const char* value) { SetName(value); return *this;} ///@} + ///@{ + /** + *

        Specify if the service network should be enabled for sharing.

        + */ + inline const SharingConfig& GetSharingConfig() const{ return m_sharingConfig; } + inline bool SharingConfigHasBeenSet() const { return m_sharingConfigHasBeenSet; } + inline void SetSharingConfig(const SharingConfig& value) { m_sharingConfigHasBeenSet = true; m_sharingConfig = value; } + inline void SetSharingConfig(SharingConfig&& value) { m_sharingConfigHasBeenSet = true; m_sharingConfig = std::move(value); } + inline CreateServiceNetworkRequest& WithSharingConfig(const SharingConfig& value) { SetSharingConfig(value); return *this;} + inline CreateServiceNetworkRequest& WithSharingConfig(SharingConfig&& value) { SetSharingConfig(std::move(value)); return *this;} + ///@} + ///@{ /** *

        The tags for the service network.

        @@ -112,6 +125,9 @@ namespace Model Aws::String m_name; bool m_nameHasBeenSet = false; + SharingConfig m_sharingConfig; + bool m_sharingConfigHasBeenSet = false; + Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResourceAssociationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResourceAssociationRequest.h new file mode 100644 index 00000000000..7253b3c1f4f --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResourceAssociationRequest.h @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class CreateServiceNetworkResourceAssociationRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API CreateServiceNetworkResourceAssociationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateServiceNetworkResourceAssociation"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. If you retry a request that completed successfully + * using the same client token and parameters, the retry succeeds without + * performing any actions. If the parameters aren't identical, the retry fails.

        + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateServiceNetworkResourceAssociationRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateServiceNetworkResourceAssociationRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateServiceNetworkResourceAssociationRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource configuration to associate with the service + * network.

        + */ + inline const Aws::String& GetResourceConfigurationIdentifier() const{ return m_resourceConfigurationIdentifier; } + inline bool ResourceConfigurationIdentifierHasBeenSet() const { return m_resourceConfigurationIdentifierHasBeenSet; } + inline void SetResourceConfigurationIdentifier(const Aws::String& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = value; } + inline void SetResourceConfigurationIdentifier(Aws::String&& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = std::move(value); } + inline void SetResourceConfigurationIdentifier(const char* value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier.assign(value); } + inline CreateServiceNetworkResourceAssociationRequest& WithResourceConfigurationIdentifier(const Aws::String& value) { SetResourceConfigurationIdentifier(value); return *this;} + inline CreateServiceNetworkResourceAssociationRequest& WithResourceConfigurationIdentifier(Aws::String&& value) { SetResourceConfigurationIdentifier(std::move(value)); return *this;} + inline CreateServiceNetworkResourceAssociationRequest& WithResourceConfigurationIdentifier(const char* value) { SetResourceConfigurationIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the service network to associate with the resource + * configuration.

        + */ + inline const Aws::String& GetServiceNetworkIdentifier() const{ return m_serviceNetworkIdentifier; } + inline bool ServiceNetworkIdentifierHasBeenSet() const { return m_serviceNetworkIdentifierHasBeenSet; } + inline void SetServiceNetworkIdentifier(const Aws::String& value) { m_serviceNetworkIdentifierHasBeenSet = true; m_serviceNetworkIdentifier = value; } + inline void SetServiceNetworkIdentifier(Aws::String&& value) { m_serviceNetworkIdentifierHasBeenSet = true; m_serviceNetworkIdentifier = std::move(value); } + inline void SetServiceNetworkIdentifier(const char* value) { m_serviceNetworkIdentifierHasBeenSet = true; m_serviceNetworkIdentifier.assign(value); } + inline CreateServiceNetworkResourceAssociationRequest& WithServiceNetworkIdentifier(const Aws::String& value) { SetServiceNetworkIdentifier(value); return *this;} + inline CreateServiceNetworkResourceAssociationRequest& WithServiceNetworkIdentifier(Aws::String&& value) { SetServiceNetworkIdentifier(std::move(value)); return *this;} + inline CreateServiceNetworkResourceAssociationRequest& WithServiceNetworkIdentifier(const char* value) { SetServiceNetworkIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

        The tags for the association.

        + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateServiceNetworkResourceAssociationRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateServiceNetworkResourceAssociationRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateServiceNetworkResourceAssociationRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateServiceNetworkResourceAssociationRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateServiceNetworkResourceAssociationRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateServiceNetworkResourceAssociationRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateServiceNetworkResourceAssociationRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateServiceNetworkResourceAssociationRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateServiceNetworkResourceAssociationRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::String m_resourceConfigurationIdentifier; + bool m_resourceConfigurationIdentifierHasBeenSet = false; + + Aws::String m_serviceNetworkIdentifier; + bool m_serviceNetworkIdentifierHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResourceAssociationResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResourceAssociationResult.h new file mode 100644 index 00000000000..7500bd94047 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResourceAssociationResult.h @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class CreateServiceNetworkResourceAssociationResult + { + public: + AWS_VPCLATTICE_API CreateServiceNetworkResourceAssociationResult(); + AWS_VPCLATTICE_API CreateServiceNetworkResourceAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API CreateServiceNetworkResourceAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the association.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline CreateServiceNetworkResourceAssociationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline CreateServiceNetworkResourceAssociationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline CreateServiceNetworkResourceAssociationResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the account that created the association.

        + */ + inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } + inline void SetCreatedBy(const Aws::String& value) { m_createdBy = value; } + inline void SetCreatedBy(Aws::String&& value) { m_createdBy = std::move(value); } + inline void SetCreatedBy(const char* value) { m_createdBy.assign(value); } + inline CreateServiceNetworkResourceAssociationResult& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} + inline CreateServiceNetworkResourceAssociationResult& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} + inline CreateServiceNetworkResourceAssociationResult& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the association.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline void SetId(const Aws::String& value) { m_id = value; } + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + inline void SetId(const char* value) { m_id.assign(value); } + inline CreateServiceNetworkResourceAssociationResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline CreateServiceNetworkResourceAssociationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline CreateServiceNetworkResourceAssociationResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of the association.

        + */ + inline const ServiceNetworkResourceAssociationStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ServiceNetworkResourceAssociationStatus& value) { m_status = value; } + inline void SetStatus(ServiceNetworkResourceAssociationStatus&& value) { m_status = std::move(value); } + inline CreateServiceNetworkResourceAssociationResult& WithStatus(const ServiceNetworkResourceAssociationStatus& value) { SetStatus(value); return *this;} + inline CreateServiceNetworkResourceAssociationResult& WithStatus(ServiceNetworkResourceAssociationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateServiceNetworkResourceAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateServiceNetworkResourceAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateServiceNetworkResourceAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_arn; + + Aws::String m_createdBy; + + Aws::String m_id; + + ServiceNetworkResourceAssociationStatus m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResult.h index b068b15d036..c8df1846be8 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResult.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkResult.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -83,6 +84,17 @@ namespace Model inline CreateServiceNetworkResult& WithName(const char* value) { SetName(value); return *this;} ///@} + ///@{ + /** + *

        Specifies if the service network is enabled for sharing.

        + */ + inline const SharingConfig& GetSharingConfig() const{ return m_sharingConfig; } + inline void SetSharingConfig(const SharingConfig& value) { m_sharingConfig = value; } + inline void SetSharingConfig(SharingConfig&& value) { m_sharingConfig = std::move(value); } + inline CreateServiceNetworkResult& WithSharingConfig(const SharingConfig& value) { SetSharingConfig(value); return *this;} + inline CreateServiceNetworkResult& WithSharingConfig(SharingConfig&& value) { SetSharingConfig(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -103,6 +115,8 @@ namespace Model Aws::String m_name; + SharingConfig m_sharingConfig; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkServiceAssociationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkServiceAssociationRequest.h index 6f04a700083..ca4bb2113f8 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkServiceAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkServiceAssociationRequest.h @@ -53,7 +53,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } @@ -67,8 +67,8 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service network. You must use the - * ARN if the resources specified in the operation are in different accounts.

        + *

        The ID or ARN of the service network. You must use an ARN if the resources + * are in different accounts.

        */ inline const Aws::String& GetServiceNetworkIdentifier() const{ return m_serviceNetworkIdentifier; } inline bool ServiceNetworkIdentifierHasBeenSet() const { return m_serviceNetworkIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkVpcAssociationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkVpcAssociationRequest.h index 3d96bcd85f0..9d90121d3b8 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkVpcAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/CreateServiceNetworkVpcAssociationRequest.h @@ -75,8 +75,8 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service network. You must use the - * ARN when the resources specified in the operation are in different accounts.

        + *

        The ID or ARN of the service network. You must use an ARN if the resources + * are in different accounts.

        */ inline const Aws::String& GetServiceNetworkIdentifier() const{ return m_serviceNetworkIdentifier; } inline bool ServiceNetworkIdentifierHasBeenSet() const { return m_serviceNetworkIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteAccessLogSubscriptionRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteAccessLogSubscriptionRequest.h index 4737bf37a74..820fa1b005b 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteAccessLogSubscriptionRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteAccessLogSubscriptionRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the access log subscription.

        + *

        The ID or ARN of the access log subscription.

        */ inline const Aws::String& GetAccessLogSubscriptionIdentifier() const{ return m_accessLogSubscriptionIdentifier; } inline bool AccessLogSubscriptionIdentifierHasBeenSet() const { return m_accessLogSubscriptionIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteAuthPolicyRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteAuthPolicyRequest.h index 5da23511ba8..2e11b2d9994 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteAuthPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteAuthPolicyRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the resource.

        + *

        The ID or ARN of the resource.

        */ inline const Aws::String& GetResourceIdentifier() const{ return m_resourceIdentifier; } inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteListenerRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteListenerRequest.h index a8239b4384c..c0dd89bedcf 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteListenerRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteListenerRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the listener.

        + *

        The ID or ARN of the listener.

        */ inline const Aws::String& GetListenerIdentifier() const{ return m_listenerIdentifier; } inline bool ListenerIdentifierHasBeenSet() const { return m_listenerIdentifierHasBeenSet; } @@ -48,7 +48,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceConfigurationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceConfigurationRequest.h new file mode 100644 index 00000000000..8044c371d33 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceConfigurationRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class DeleteResourceConfigurationRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API DeleteResourceConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteResourceConfiguration"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The ID or ARN of the resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationIdentifier() const{ return m_resourceConfigurationIdentifier; } + inline bool ResourceConfigurationIdentifierHasBeenSet() const { return m_resourceConfigurationIdentifierHasBeenSet; } + inline void SetResourceConfigurationIdentifier(const Aws::String& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = value; } + inline void SetResourceConfigurationIdentifier(Aws::String&& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = std::move(value); } + inline void SetResourceConfigurationIdentifier(const char* value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier.assign(value); } + inline DeleteResourceConfigurationRequest& WithResourceConfigurationIdentifier(const Aws::String& value) { SetResourceConfigurationIdentifier(value); return *this;} + inline DeleteResourceConfigurationRequest& WithResourceConfigurationIdentifier(Aws::String&& value) { SetResourceConfigurationIdentifier(std::move(value)); return *this;} + inline DeleteResourceConfigurationRequest& WithResourceConfigurationIdentifier(const char* value) { SetResourceConfigurationIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_resourceConfigurationIdentifier; + bool m_resourceConfigurationIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceConfigurationResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceConfigurationResult.h new file mode 100644 index 00000000000..a9cb44a2625 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceConfigurationResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class DeleteResourceConfigurationResult + { + public: + AWS_VPCLATTICE_API DeleteResourceConfigurationResult(); + AWS_VPCLATTICE_API DeleteResourceConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API DeleteResourceConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteResourceConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteResourceConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteResourceConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceEndpointAssociationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceEndpointAssociationRequest.h new file mode 100644 index 00000000000..6bb60700d06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceEndpointAssociationRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class DeleteResourceEndpointAssociationRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API DeleteResourceEndpointAssociationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteResourceEndpointAssociation"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The ID or ARN of the association.

        + */ + inline const Aws::String& GetResourceEndpointAssociationIdentifier() const{ return m_resourceEndpointAssociationIdentifier; } + inline bool ResourceEndpointAssociationIdentifierHasBeenSet() const { return m_resourceEndpointAssociationIdentifierHasBeenSet; } + inline void SetResourceEndpointAssociationIdentifier(const Aws::String& value) { m_resourceEndpointAssociationIdentifierHasBeenSet = true; m_resourceEndpointAssociationIdentifier = value; } + inline void SetResourceEndpointAssociationIdentifier(Aws::String&& value) { m_resourceEndpointAssociationIdentifierHasBeenSet = true; m_resourceEndpointAssociationIdentifier = std::move(value); } + inline void SetResourceEndpointAssociationIdentifier(const char* value) { m_resourceEndpointAssociationIdentifierHasBeenSet = true; m_resourceEndpointAssociationIdentifier.assign(value); } + inline DeleteResourceEndpointAssociationRequest& WithResourceEndpointAssociationIdentifier(const Aws::String& value) { SetResourceEndpointAssociationIdentifier(value); return *this;} + inline DeleteResourceEndpointAssociationRequest& WithResourceEndpointAssociationIdentifier(Aws::String&& value) { SetResourceEndpointAssociationIdentifier(std::move(value)); return *this;} + inline DeleteResourceEndpointAssociationRequest& WithResourceEndpointAssociationIdentifier(const char* value) { SetResourceEndpointAssociationIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_resourceEndpointAssociationIdentifier; + bool m_resourceEndpointAssociationIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceEndpointAssociationResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceEndpointAssociationResult.h new file mode 100644 index 00000000000..e6a7385ee5a --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceEndpointAssociationResult.h @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class DeleteResourceEndpointAssociationResult + { + public: + AWS_VPCLATTICE_API DeleteResourceEndpointAssociationResult(); + AWS_VPCLATTICE_API DeleteResourceEndpointAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API DeleteResourceEndpointAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the association.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline DeleteResourceEndpointAssociationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline DeleteResourceEndpointAssociationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline DeleteResourceEndpointAssociationResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the association.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline void SetId(const Aws::String& value) { m_id = value; } + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + inline void SetId(const char* value) { m_id.assign(value); } + inline DeleteResourceEndpointAssociationResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline DeleteResourceEndpointAssociationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline DeleteResourceEndpointAssociationResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource configuration associated with + * the VPC endpoint of type resource.

        + */ + inline const Aws::String& GetResourceConfigurationArn() const{ return m_resourceConfigurationArn; } + inline void SetResourceConfigurationArn(const Aws::String& value) { m_resourceConfigurationArn = value; } + inline void SetResourceConfigurationArn(Aws::String&& value) { m_resourceConfigurationArn = std::move(value); } + inline void SetResourceConfigurationArn(const char* value) { m_resourceConfigurationArn.assign(value); } + inline DeleteResourceEndpointAssociationResult& WithResourceConfigurationArn(const Aws::String& value) { SetResourceConfigurationArn(value); return *this;} + inline DeleteResourceEndpointAssociationResult& WithResourceConfigurationArn(Aws::String&& value) { SetResourceConfigurationArn(std::move(value)); return *this;} + inline DeleteResourceEndpointAssociationResult& WithResourceConfigurationArn(const char* value) { SetResourceConfigurationArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationId() const{ return m_resourceConfigurationId; } + inline void SetResourceConfigurationId(const Aws::String& value) { m_resourceConfigurationId = value; } + inline void SetResourceConfigurationId(Aws::String&& value) { m_resourceConfigurationId = std::move(value); } + inline void SetResourceConfigurationId(const char* value) { m_resourceConfigurationId.assign(value); } + inline DeleteResourceEndpointAssociationResult& WithResourceConfigurationId(const Aws::String& value) { SetResourceConfigurationId(value); return *this;} + inline DeleteResourceEndpointAssociationResult& WithResourceConfigurationId(Aws::String&& value) { SetResourceConfigurationId(std::move(value)); return *this;} + inline DeleteResourceEndpointAssociationResult& WithResourceConfigurationId(const char* value) { SetResourceConfigurationId(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource VPC endpoint that is associated with the resource + * configuration.

        + */ + inline const Aws::String& GetVpcEndpointId() const{ return m_vpcEndpointId; } + inline void SetVpcEndpointId(const Aws::String& value) { m_vpcEndpointId = value; } + inline void SetVpcEndpointId(Aws::String&& value) { m_vpcEndpointId = std::move(value); } + inline void SetVpcEndpointId(const char* value) { m_vpcEndpointId.assign(value); } + inline DeleteResourceEndpointAssociationResult& WithVpcEndpointId(const Aws::String& value) { SetVpcEndpointId(value); return *this;} + inline DeleteResourceEndpointAssociationResult& WithVpcEndpointId(Aws::String&& value) { SetVpcEndpointId(std::move(value)); return *this;} + inline DeleteResourceEndpointAssociationResult& WithVpcEndpointId(const char* value) { SetVpcEndpointId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteResourceEndpointAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteResourceEndpointAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteResourceEndpointAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_arn; + + Aws::String m_id; + + Aws::String m_resourceConfigurationArn; + + Aws::String m_resourceConfigurationId; + + Aws::String m_vpcEndpointId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceGatewayRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceGatewayRequest.h new file mode 100644 index 00000000000..1de11190d70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceGatewayRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class DeleteResourceGatewayRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API DeleteResourceGatewayRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteResourceGateway"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The ID or ARN of the resource gateway.

        + */ + inline const Aws::String& GetResourceGatewayIdentifier() const{ return m_resourceGatewayIdentifier; } + inline bool ResourceGatewayIdentifierHasBeenSet() const { return m_resourceGatewayIdentifierHasBeenSet; } + inline void SetResourceGatewayIdentifier(const Aws::String& value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier = value; } + inline void SetResourceGatewayIdentifier(Aws::String&& value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier = std::move(value); } + inline void SetResourceGatewayIdentifier(const char* value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier.assign(value); } + inline DeleteResourceGatewayRequest& WithResourceGatewayIdentifier(const Aws::String& value) { SetResourceGatewayIdentifier(value); return *this;} + inline DeleteResourceGatewayRequest& WithResourceGatewayIdentifier(Aws::String&& value) { SetResourceGatewayIdentifier(std::move(value)); return *this;} + inline DeleteResourceGatewayRequest& WithResourceGatewayIdentifier(const char* value) { SetResourceGatewayIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_resourceGatewayIdentifier; + bool m_resourceGatewayIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceGatewayResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceGatewayResult.h new file mode 100644 index 00000000000..ca9e519a65b --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteResourceGatewayResult.h @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class DeleteResourceGatewayResult + { + public: + AWS_VPCLATTICE_API DeleteResourceGatewayResult(); + AWS_VPCLATTICE_API DeleteResourceGatewayResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API DeleteResourceGatewayResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource gateway.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline DeleteResourceGatewayResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline DeleteResourceGatewayResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline DeleteResourceGatewayResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource gateway.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline void SetId(const Aws::String& value) { m_id = value; } + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + inline void SetId(const char* value) { m_id.assign(value); } + inline DeleteResourceGatewayResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline DeleteResourceGatewayResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline DeleteResourceGatewayResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource gateway.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline void SetName(const Aws::String& value) { m_name = value; } + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + inline void SetName(const char* value) { m_name.assign(value); } + inline DeleteResourceGatewayResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline DeleteResourceGatewayResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline DeleteResourceGatewayResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of the resource gateway.

        + */ + inline const ResourceGatewayStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ResourceGatewayStatus& value) { m_status = value; } + inline void SetStatus(ResourceGatewayStatus&& value) { m_status = std::move(value); } + inline DeleteResourceGatewayResult& WithStatus(const ResourceGatewayStatus& value) { SetStatus(value); return *this;} + inline DeleteResourceGatewayResult& WithStatus(ResourceGatewayStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteResourceGatewayResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteResourceGatewayResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteResourceGatewayResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_arn; + + Aws::String m_id; + + Aws::String m_name; + + ResourceGatewayStatus m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteRuleRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteRuleRequest.h index 6d6556fe392..e2779f34597 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteRuleRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteRuleRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the listener.

        + *

        The ID or ARN of the listener.

        */ inline const Aws::String& GetListenerIdentifier() const{ return m_listenerIdentifier; } inline bool ListenerIdentifierHasBeenSet() const { return m_listenerIdentifierHasBeenSet; } @@ -48,7 +48,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the rule.

        + *

        The ID or ARN of the rule.

        */ inline const Aws::String& GetRuleIdentifier() const{ return m_ruleIdentifier; } inline bool RuleIdentifierHasBeenSet() const { return m_ruleIdentifierHasBeenSet; } @@ -62,7 +62,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkRequest.h index 98b10c4b8d1..0619a7e2801 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The Amazon Resource Name (ARN) or ID of the service network.

        + *

        The ID or ARN of the service network.

        */ inline const Aws::String& GetServiceNetworkIdentifier() const{ return m_serviceNetworkIdentifier; } inline bool ServiceNetworkIdentifierHasBeenSet() const { return m_serviceNetworkIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkResourceAssociationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkResourceAssociationRequest.h new file mode 100644 index 00000000000..7573cf1faf8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkResourceAssociationRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class DeleteServiceNetworkResourceAssociationRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API DeleteServiceNetworkResourceAssociationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteServiceNetworkResourceAssociation"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The ID of the association.

        + */ + inline const Aws::String& GetServiceNetworkResourceAssociationIdentifier() const{ return m_serviceNetworkResourceAssociationIdentifier; } + inline bool ServiceNetworkResourceAssociationIdentifierHasBeenSet() const { return m_serviceNetworkResourceAssociationIdentifierHasBeenSet; } + inline void SetServiceNetworkResourceAssociationIdentifier(const Aws::String& value) { m_serviceNetworkResourceAssociationIdentifierHasBeenSet = true; m_serviceNetworkResourceAssociationIdentifier = value; } + inline void SetServiceNetworkResourceAssociationIdentifier(Aws::String&& value) { m_serviceNetworkResourceAssociationIdentifierHasBeenSet = true; m_serviceNetworkResourceAssociationIdentifier = std::move(value); } + inline void SetServiceNetworkResourceAssociationIdentifier(const char* value) { m_serviceNetworkResourceAssociationIdentifierHasBeenSet = true; m_serviceNetworkResourceAssociationIdentifier.assign(value); } + inline DeleteServiceNetworkResourceAssociationRequest& WithServiceNetworkResourceAssociationIdentifier(const Aws::String& value) { SetServiceNetworkResourceAssociationIdentifier(value); return *this;} + inline DeleteServiceNetworkResourceAssociationRequest& WithServiceNetworkResourceAssociationIdentifier(Aws::String&& value) { SetServiceNetworkResourceAssociationIdentifier(std::move(value)); return *this;} + inline DeleteServiceNetworkResourceAssociationRequest& WithServiceNetworkResourceAssociationIdentifier(const char* value) { SetServiceNetworkResourceAssociationIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_serviceNetworkResourceAssociationIdentifier; + bool m_serviceNetworkResourceAssociationIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkResourceAssociationResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkResourceAssociationResult.h new file mode 100644 index 00000000000..ac9fbb074ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkResourceAssociationResult.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class DeleteServiceNetworkResourceAssociationResult + { + public: + AWS_VPCLATTICE_API DeleteServiceNetworkResourceAssociationResult(); + AWS_VPCLATTICE_API DeleteServiceNetworkResourceAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API DeleteServiceNetworkResourceAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the association.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline DeleteServiceNetworkResourceAssociationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline DeleteServiceNetworkResourceAssociationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline DeleteServiceNetworkResourceAssociationResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the association.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline void SetId(const Aws::String& value) { m_id = value; } + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + inline void SetId(const char* value) { m_id.assign(value); } + inline DeleteServiceNetworkResourceAssociationResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline DeleteServiceNetworkResourceAssociationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline DeleteServiceNetworkResourceAssociationResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of the association.

        + */ + inline const ServiceNetworkResourceAssociationStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ServiceNetworkResourceAssociationStatus& value) { m_status = value; } + inline void SetStatus(ServiceNetworkResourceAssociationStatus&& value) { m_status = std::move(value); } + inline DeleteServiceNetworkResourceAssociationResult& WithStatus(const ServiceNetworkResourceAssociationStatus& value) { SetStatus(value); return *this;} + inline DeleteServiceNetworkResourceAssociationResult& WithStatus(ServiceNetworkResourceAssociationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteServiceNetworkResourceAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteServiceNetworkResourceAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteServiceNetworkResourceAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_arn; + + Aws::String m_id; + + ServiceNetworkResourceAssociationStatus m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkServiceAssociationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkServiceAssociationRequest.h index ec39868729d..82b4e76c1e6 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkServiceAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkServiceAssociationRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the association.

        + *

        The ID or ARN of the association.

        */ inline const Aws::String& GetServiceNetworkServiceAssociationIdentifier() const{ return m_serviceNetworkServiceAssociationIdentifier; } inline bool ServiceNetworkServiceAssociationIdentifierHasBeenSet() const { return m_serviceNetworkServiceAssociationIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkVpcAssociationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkVpcAssociationRequest.h index 58689d151ce..e86132553ec 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkVpcAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceNetworkVpcAssociationRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the association.

        + *

        The ID or ARN of the association.

        */ inline const Aws::String& GetServiceNetworkVpcAssociationIdentifier() const{ return m_serviceNetworkVpcAssociationIdentifier; } inline bool ServiceNetworkVpcAssociationIdentifierHasBeenSet() const { return m_serviceNetworkVpcAssociationIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceRequest.h index 75e8e66dc48..baa524f4a1d 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteServiceRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteTargetGroupRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteTargetGroupRequest.h index b1c0bc7e93d..dc8a165f1fb 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteTargetGroupRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeleteTargetGroupRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the target group.

        + *

        The ID or ARN of the target group.

        */ inline const Aws::String& GetTargetGroupIdentifier() const{ return m_targetGroupIdentifier; } inline bool TargetGroupIdentifierHasBeenSet() const { return m_targetGroupIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeregisterTargetsRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeregisterTargetsRequest.h index e9aa2a3e7ec..028e42ffe1a 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeregisterTargetsRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DeregisterTargetsRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the target group.

        + *

        The ID or ARN of the target group.

        */ inline const Aws::String& GetTargetGroupIdentifier() const{ return m_targetGroupIdentifier; } inline bool TargetGroupIdentifierHasBeenSet() const { return m_targetGroupIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DnsResource.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DnsResource.h new file mode 100644 index 00000000000..1dcc2575941 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/DnsResource.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + + /** + *

        The DNS name of the resource.

        See Also:

        AWS + * API Reference

        + */ + class DnsResource + { + public: + AWS_VPCLATTICE_API DnsResource(); + AWS_VPCLATTICE_API DnsResource(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API DnsResource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The domain name of the resource.

        + */ + inline const Aws::String& GetDomainName() const{ return m_domainName; } + inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } + inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } + inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } + inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } + inline DnsResource& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} + inline DnsResource& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} + inline DnsResource& WithDomainName(const char* value) { SetDomainName(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of IP address.

        + */ + inline const ResourceConfigurationIpAddressType& GetIpAddressType() const{ return m_ipAddressType; } + inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; } + inline void SetIpAddressType(const ResourceConfigurationIpAddressType& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; } + inline void SetIpAddressType(ResourceConfigurationIpAddressType&& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = std::move(value); } + inline DnsResource& WithIpAddressType(const ResourceConfigurationIpAddressType& value) { SetIpAddressType(value); return *this;} + inline DnsResource& WithIpAddressType(ResourceConfigurationIpAddressType&& value) { SetIpAddressType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_domainName; + bool m_domainNameHasBeenSet = false; + + ResourceConfigurationIpAddressType m_ipAddressType; + bool m_ipAddressTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAccessLogSubscriptionRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAccessLogSubscriptionRequest.h index b6ade663234..8466e4f4291 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAccessLogSubscriptionRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAccessLogSubscriptionRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the access log subscription.

        + *

        The ID or ARN of the access log subscription.

        */ inline const Aws::String& GetAccessLogSubscriptionIdentifier() const{ return m_accessLogSubscriptionIdentifier; } inline bool AccessLogSubscriptionIdentifierHasBeenSet() const { return m_accessLogSubscriptionIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAccessLogSubscriptionResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAccessLogSubscriptionResult.h index 2d540f5e8ff..54f1df670aa 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAccessLogSubscriptionResult.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAccessLogSubscriptionResult.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -48,8 +49,8 @@ namespace Model ///@{ /** - *

        The date and time that the access log subscription was created, specified in - * ISO-8601 format.

        + *

        The date and time that the access log subscription was created, in ISO-8601 + * format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } @@ -86,8 +87,8 @@ namespace Model ///@{ /** - *

        The date and time that the access log subscription was last updated, - * specified in ISO-8601 format.

        + *

        The date and time that the access log subscription was last updated, in + * ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } @@ -122,6 +123,17 @@ namespace Model inline GetAccessLogSubscriptionResult& WithResourceId(const char* value) { SetResourceId(value); return *this;} ///@} + ///@{ + /** + *

        The log type for the service network.

        + */ + inline const ServiceNetworkLogType& GetServiceNetworkLogType() const{ return m_serviceNetworkLogType; } + inline void SetServiceNetworkLogType(const ServiceNetworkLogType& value) { m_serviceNetworkLogType = value; } + inline void SetServiceNetworkLogType(ServiceNetworkLogType&& value) { m_serviceNetworkLogType = std::move(value); } + inline GetAccessLogSubscriptionResult& WithServiceNetworkLogType(const ServiceNetworkLogType& value) { SetServiceNetworkLogType(value); return *this;} + inline GetAccessLogSubscriptionResult& WithServiceNetworkLogType(ServiceNetworkLogType&& value) { SetServiceNetworkLogType(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -148,6 +160,8 @@ namespace Model Aws::String m_resourceId; + ServiceNetworkLogType m_serviceNetworkLogType; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAuthPolicyRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAuthPolicyRequest.h index 4d4264ab83b..994d66d9046 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAuthPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAuthPolicyRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service network or service.

        + *

        The ID or ARN of the service network or service.

        */ inline const Aws::String& GetResourceIdentifier() const{ return m_resourceIdentifier; } inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAuthPolicyResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAuthPolicyResult.h index bddc713adbe..8e4e2e853fe 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAuthPolicyResult.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetAuthPolicyResult.h @@ -36,8 +36,7 @@ namespace Model ///@{ /** - *

        The date and time that the auth policy was created, specified in ISO-8601 - * format.

        + *

        The date and time that the auth policy was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } @@ -48,8 +47,8 @@ namespace Model ///@{ /** - *

        The date and time that the auth policy was last updated, specified in - * ISO-8601 format.

        + *

        The date and time that the auth policy was last updated, in ISO-8601 + * format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetListenerRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetListenerRequest.h index 00e4bf1f261..ec729fb072b 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetListenerRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetListenerRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the listener.

        + *

        The ID or ARN of the listener.

        */ inline const Aws::String& GetListenerIdentifier() const{ return m_listenerIdentifier; } inline bool ListenerIdentifierHasBeenSet() const { return m_listenerIdentifierHasBeenSet; } @@ -48,7 +48,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetListenerResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetListenerResult.h index e32f302eae0..790bc3d1baa 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetListenerResult.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetListenerResult.h @@ -50,8 +50,7 @@ namespace Model ///@{ /** - *

        The date and time that the listener was created, specified in ISO-8601 - * format.

        + *

        The date and time that the listener was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } @@ -86,8 +85,7 @@ namespace Model ///@{ /** - *

        The date and time that the listener was last updated, specified in ISO-8601 - * format.

        + *

        The date and time that the listener was last updated, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceConfigurationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceConfigurationRequest.h new file mode 100644 index 00000000000..ea38bb6b5c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceConfigurationRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class GetResourceConfigurationRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API GetResourceConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetResourceConfiguration"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The ID of the resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationIdentifier() const{ return m_resourceConfigurationIdentifier; } + inline bool ResourceConfigurationIdentifierHasBeenSet() const { return m_resourceConfigurationIdentifierHasBeenSet; } + inline void SetResourceConfigurationIdentifier(const Aws::String& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = value; } + inline void SetResourceConfigurationIdentifier(Aws::String&& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = std::move(value); } + inline void SetResourceConfigurationIdentifier(const char* value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier.assign(value); } + inline GetResourceConfigurationRequest& WithResourceConfigurationIdentifier(const Aws::String& value) { SetResourceConfigurationIdentifier(value); return *this;} + inline GetResourceConfigurationRequest& WithResourceConfigurationIdentifier(Aws::String&& value) { SetResourceConfigurationIdentifier(std::move(value)); return *this;} + inline GetResourceConfigurationRequest& WithResourceConfigurationIdentifier(const char* value) { SetResourceConfigurationIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_resourceConfigurationIdentifier; + bool m_resourceConfigurationIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceConfigurationResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceConfigurationResult.h new file mode 100644 index 00000000000..0fee6e01d92 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceConfigurationResult.h @@ -0,0 +1,291 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class GetResourceConfigurationResult + { + public: + AWS_VPCLATTICE_API GetResourceConfigurationResult(); + AWS_VPCLATTICE_API GetResourceConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API GetResourceConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Specifies whether the resource configuration is associated with a sharable + * service network.

        + */ + inline bool GetAllowAssociationToShareableServiceNetwork() const{ return m_allowAssociationToShareableServiceNetwork; } + inline void SetAllowAssociationToShareableServiceNetwork(bool value) { m_allowAssociationToShareableServiceNetwork = value; } + inline GetResourceConfigurationResult& WithAllowAssociationToShareableServiceNetwork(bool value) { SetAllowAssociationToShareableServiceNetwork(value); return *this;} + ///@} + + ///@{ + /** + *

        Indicates whether the resource configuration was created and is managed by + * Amazon.

        + */ + inline bool GetAmazonManaged() const{ return m_amazonManaged; } + inline void SetAmazonManaged(bool value) { m_amazonManaged = value; } + inline GetResourceConfigurationResult& WithAmazonManaged(bool value) { SetAmazonManaged(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource configuration.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline GetResourceConfigurationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline GetResourceConfigurationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline GetResourceConfigurationResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The date and time that the resource configuration was created, in ISO-8601 + * format.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline GetResourceConfigurationResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline GetResourceConfigurationResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The custom domain name of the resource configuration.

        + */ + inline const Aws::String& GetCustomDomainName() const{ return m_customDomainName; } + inline void SetCustomDomainName(const Aws::String& value) { m_customDomainName = value; } + inline void SetCustomDomainName(Aws::String&& value) { m_customDomainName = std::move(value); } + inline void SetCustomDomainName(const char* value) { m_customDomainName.assign(value); } + inline GetResourceConfigurationResult& WithCustomDomainName(const Aws::String& value) { SetCustomDomainName(value); return *this;} + inline GetResourceConfigurationResult& WithCustomDomainName(Aws::String&& value) { SetCustomDomainName(std::move(value)); return *this;} + inline GetResourceConfigurationResult& WithCustomDomainName(const char* value) { SetCustomDomainName(value); return *this;} + ///@} + + ///@{ + /** + *

        The reason the create-resource-configuration request failed.

        + */ + inline const Aws::String& GetFailureReason() const{ return m_failureReason; } + inline void SetFailureReason(const Aws::String& value) { m_failureReason = value; } + inline void SetFailureReason(Aws::String&& value) { m_failureReason = std::move(value); } + inline void SetFailureReason(const char* value) { m_failureReason.assign(value); } + inline GetResourceConfigurationResult& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} + inline GetResourceConfigurationResult& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} + inline GetResourceConfigurationResult& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource configuration.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline void SetId(const Aws::String& value) { m_id = value; } + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + inline void SetId(const char* value) { m_id.assign(value); } + inline GetResourceConfigurationResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline GetResourceConfigurationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline GetResourceConfigurationResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The most recent date and time that the resource configuration was updated, in + * ISO-8601 format.

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAt = std::move(value); } + inline GetResourceConfigurationResult& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline GetResourceConfigurationResult& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource configuration.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline void SetName(const Aws::String& value) { m_name = value; } + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + inline void SetName(const char* value) { m_name.assign(value); } + inline GetResourceConfigurationResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline GetResourceConfigurationResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline GetResourceConfigurationResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The TCP port ranges that a consumer can use to access a resource + * configuration. You can separate port ranges with a comma. Example: 1-65535 or + * 1,2,22-30

        + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRanges = std::move(value); } + inline GetResourceConfigurationResult& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline GetResourceConfigurationResult& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline GetResourceConfigurationResult& AddPortRanges(const Aws::String& value) { m_portRanges.push_back(value); return *this; } + inline GetResourceConfigurationResult& AddPortRanges(Aws::String&& value) { m_portRanges.push_back(std::move(value)); return *this; } + inline GetResourceConfigurationResult& AddPortRanges(const char* value) { m_portRanges.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The TCP protocol accepted by the specified resource configuration.

        + */ + inline const ProtocolType& GetProtocol() const{ return m_protocol; } + inline void SetProtocol(const ProtocolType& value) { m_protocol = value; } + inline void SetProtocol(ProtocolType&& value) { m_protocol = std::move(value); } + inline GetResourceConfigurationResult& WithProtocol(const ProtocolType& value) { SetProtocol(value); return *this;} + inline GetResourceConfigurationResult& WithProtocol(ProtocolType&& value) { SetProtocol(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The resource configuration.

        + */ + inline const ResourceConfigurationDefinition& GetResourceConfigurationDefinition() const{ return m_resourceConfigurationDefinition; } + inline void SetResourceConfigurationDefinition(const ResourceConfigurationDefinition& value) { m_resourceConfigurationDefinition = value; } + inline void SetResourceConfigurationDefinition(ResourceConfigurationDefinition&& value) { m_resourceConfigurationDefinition = std::move(value); } + inline GetResourceConfigurationResult& WithResourceConfigurationDefinition(const ResourceConfigurationDefinition& value) { SetResourceConfigurationDefinition(value); return *this;} + inline GetResourceConfigurationResult& WithResourceConfigurationDefinition(ResourceConfigurationDefinition&& value) { SetResourceConfigurationDefinition(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the group resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationGroupId() const{ return m_resourceConfigurationGroupId; } + inline void SetResourceConfigurationGroupId(const Aws::String& value) { m_resourceConfigurationGroupId = value; } + inline void SetResourceConfigurationGroupId(Aws::String&& value) { m_resourceConfigurationGroupId = std::move(value); } + inline void SetResourceConfigurationGroupId(const char* value) { m_resourceConfigurationGroupId.assign(value); } + inline GetResourceConfigurationResult& WithResourceConfigurationGroupId(const Aws::String& value) { SetResourceConfigurationGroupId(value); return *this;} + inline GetResourceConfigurationResult& WithResourceConfigurationGroupId(Aws::String&& value) { SetResourceConfigurationGroupId(std::move(value)); return *this;} + inline GetResourceConfigurationResult& WithResourceConfigurationGroupId(const char* value) { SetResourceConfigurationGroupId(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource gateway used to connect to the resource configuration + * in a given VPC. You can specify the resource gateway identifier only for + * resource configurations with type SINGLE, GROUP, or ARN.

        + */ + inline const Aws::String& GetResourceGatewayId() const{ return m_resourceGatewayId; } + inline void SetResourceGatewayId(const Aws::String& value) { m_resourceGatewayId = value; } + inline void SetResourceGatewayId(Aws::String&& value) { m_resourceGatewayId = std::move(value); } + inline void SetResourceGatewayId(const char* value) { m_resourceGatewayId.assign(value); } + inline GetResourceConfigurationResult& WithResourceGatewayId(const Aws::String& value) { SetResourceGatewayId(value); return *this;} + inline GetResourceConfigurationResult& WithResourceGatewayId(Aws::String&& value) { SetResourceGatewayId(std::move(value)); return *this;} + inline GetResourceConfigurationResult& WithResourceGatewayId(const char* value) { SetResourceGatewayId(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of the resource configuration.

        + */ + inline const ResourceConfigurationStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ResourceConfigurationStatus& value) { m_status = value; } + inline void SetStatus(ResourceConfigurationStatus&& value) { m_status = std::move(value); } + inline GetResourceConfigurationResult& WithStatus(const ResourceConfigurationStatus& value) { SetStatus(value); return *this;} + inline GetResourceConfigurationResult& WithStatus(ResourceConfigurationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The type of resource configuration.

        • SINGLE - A + * single resource.

        • GROUP - A group of + * resources.

        • CHILD - A single resource that is + * part of a group resource configuration.

        • ARN - An + * Amazon Web Services resource.

        + */ + inline const ResourceConfigurationType& GetType() const{ return m_type; } + inline void SetType(const ResourceConfigurationType& value) { m_type = value; } + inline void SetType(ResourceConfigurationType&& value) { m_type = std::move(value); } + inline GetResourceConfigurationResult& WithType(const ResourceConfigurationType& value) { SetType(value); return *this;} + inline GetResourceConfigurationResult& WithType(ResourceConfigurationType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetResourceConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetResourceConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetResourceConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + bool m_allowAssociationToShareableServiceNetwork; + + bool m_amazonManaged; + + Aws::String m_arn; + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_customDomainName; + + Aws::String m_failureReason; + + Aws::String m_id; + + Aws::Utils::DateTime m_lastUpdatedAt; + + Aws::String m_name; + + Aws::Vector m_portRanges; + + ProtocolType m_protocol; + + ResourceConfigurationDefinition m_resourceConfigurationDefinition; + + Aws::String m_resourceConfigurationGroupId; + + Aws::String m_resourceGatewayId; + + ResourceConfigurationStatus m_status; + + ResourceConfigurationType m_type; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceGatewayRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceGatewayRequest.h new file mode 100644 index 00000000000..b6f4f26441b --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceGatewayRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class GetResourceGatewayRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API GetResourceGatewayRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetResourceGateway"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The ID of the resource gateway.

        + */ + inline const Aws::String& GetResourceGatewayIdentifier() const{ return m_resourceGatewayIdentifier; } + inline bool ResourceGatewayIdentifierHasBeenSet() const { return m_resourceGatewayIdentifierHasBeenSet; } + inline void SetResourceGatewayIdentifier(const Aws::String& value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier = value; } + inline void SetResourceGatewayIdentifier(Aws::String&& value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier = std::move(value); } + inline void SetResourceGatewayIdentifier(const char* value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier.assign(value); } + inline GetResourceGatewayRequest& WithResourceGatewayIdentifier(const Aws::String& value) { SetResourceGatewayIdentifier(value); return *this;} + inline GetResourceGatewayRequest& WithResourceGatewayIdentifier(Aws::String&& value) { SetResourceGatewayIdentifier(std::move(value)); return *this;} + inline GetResourceGatewayRequest& WithResourceGatewayIdentifier(const char* value) { SetResourceGatewayIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_resourceGatewayIdentifier; + bool m_resourceGatewayIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceGatewayResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceGatewayResult.h new file mode 100644 index 00000000000..c054d2509ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetResourceGatewayResult.h @@ -0,0 +1,202 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class GetResourceGatewayResult + { + public: + AWS_VPCLATTICE_API GetResourceGatewayResult(); + AWS_VPCLATTICE_API GetResourceGatewayResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API GetResourceGatewayResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource gateway.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline GetResourceGatewayResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline GetResourceGatewayResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline GetResourceGatewayResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The date and time that the resource gateway was created, in ISO-8601 + * format.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline GetResourceGatewayResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline GetResourceGatewayResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource gateway.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline void SetId(const Aws::String& value) { m_id = value; } + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + inline void SetId(const char* value) { m_id.assign(value); } + inline GetResourceGatewayResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline GetResourceGatewayResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline GetResourceGatewayResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of IP address for the resource gateway.

        + */ + inline const ResourceGatewayIpAddressType& GetIpAddressType() const{ return m_ipAddressType; } + inline void SetIpAddressType(const ResourceGatewayIpAddressType& value) { m_ipAddressType = value; } + inline void SetIpAddressType(ResourceGatewayIpAddressType&& value) { m_ipAddressType = std::move(value); } + inline GetResourceGatewayResult& WithIpAddressType(const ResourceGatewayIpAddressType& value) { SetIpAddressType(value); return *this;} + inline GetResourceGatewayResult& WithIpAddressType(ResourceGatewayIpAddressType&& value) { SetIpAddressType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The date and time that the resource gateway was last updated, in ISO-8601 + * format.

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAt = std::move(value); } + inline GetResourceGatewayResult& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline GetResourceGatewayResult& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource gateway.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline void SetName(const Aws::String& value) { m_name = value; } + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + inline void SetName(const char* value) { m_name.assign(value); } + inline GetResourceGatewayResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline GetResourceGatewayResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline GetResourceGatewayResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The security group IDs associated with the resource gateway.

        + */ + inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } + inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIds = value; } + inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIds = std::move(value); } + inline GetResourceGatewayResult& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} + inline GetResourceGatewayResult& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} + inline GetResourceGatewayResult& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIds.push_back(value); return *this; } + inline GetResourceGatewayResult& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIds.push_back(std::move(value)); return *this; } + inline GetResourceGatewayResult& AddSecurityGroupIds(const char* value) { m_securityGroupIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The status for the resource gateway.

        + */ + inline const ResourceGatewayStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ResourceGatewayStatus& value) { m_status = value; } + inline void SetStatus(ResourceGatewayStatus&& value) { m_status = std::move(value); } + inline GetResourceGatewayResult& WithStatus(const ResourceGatewayStatus& value) { SetStatus(value); return *this;} + inline GetResourceGatewayResult& WithStatus(ResourceGatewayStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The IDs of the VPC subnets for resource gateway.

        + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIds = std::move(value); } + inline GetResourceGatewayResult& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline GetResourceGatewayResult& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline GetResourceGatewayResult& AddSubnetIds(const Aws::String& value) { m_subnetIds.push_back(value); return *this; } + inline GetResourceGatewayResult& AddSubnetIds(Aws::String&& value) { m_subnetIds.push_back(std::move(value)); return *this; } + inline GetResourceGatewayResult& AddSubnetIds(const char* value) { m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The ID of the VPC for the resource gateway.

        + */ + inline const Aws::String& GetVpcId() const{ return m_vpcId; } + inline void SetVpcId(const Aws::String& value) { m_vpcId = value; } + inline void SetVpcId(Aws::String&& value) { m_vpcId = std::move(value); } + inline void SetVpcId(const char* value) { m_vpcId.assign(value); } + inline GetResourceGatewayResult& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} + inline GetResourceGatewayResult& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} + inline GetResourceGatewayResult& WithVpcId(const char* value) { SetVpcId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetResourceGatewayResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetResourceGatewayResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetResourceGatewayResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_arn; + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_id; + + ResourceGatewayIpAddressType m_ipAddressType; + + Aws::Utils::DateTime m_lastUpdatedAt; + + Aws::String m_name; + + Aws::Vector m_securityGroupIds; + + ResourceGatewayStatus m_status; + + Aws::Vector m_subnetIds; + + Aws::String m_vpcId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetRuleRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetRuleRequest.h index 5bfd07a03a7..e29b03fdde5 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetRuleRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetRuleRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the listener.

        + *

        The ID or ARN of the listener.

        */ inline const Aws::String& GetListenerIdentifier() const{ return m_listenerIdentifier; } inline bool ListenerIdentifierHasBeenSet() const { return m_listenerIdentifierHasBeenSet; } @@ -48,7 +48,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the listener rule.

        + *

        The ID or ARN of the listener rule.

        */ inline const Aws::String& GetRuleIdentifier() const{ return m_ruleIdentifier; } inline bool RuleIdentifierHasBeenSet() const { return m_ruleIdentifierHasBeenSet; } @@ -62,7 +62,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetRuleResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetRuleResult.h index e67c99a0ead..5105ccc60bd 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetRuleResult.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetRuleResult.h @@ -61,8 +61,7 @@ namespace Model ///@{ /** - *

        The date and time that the listener rule was created, specified in ISO-8601 - * format.

        + *

        The date and time that the listener rule was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } @@ -95,8 +94,8 @@ namespace Model ///@{ /** - *

        The date and time that the listener rule was last updated, specified in - * ISO-8601 format.

        + *

        The date and time that the listener rule was last updated, in ISO-8601 + * format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkRequest.h index 3485d0c7b77..d873f949d9e 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service network.

        + *

        The ID or ARN of the service network.

        */ inline const Aws::String& GetServiceNetworkIdentifier() const{ return m_serviceNetworkIdentifier; } inline bool ServiceNetworkIdentifierHasBeenSet() const { return m_serviceNetworkIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResourceAssociationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResourceAssociationRequest.h new file mode 100644 index 00000000000..6c3b686023c --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResourceAssociationRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class GetServiceNetworkResourceAssociationRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API GetServiceNetworkResourceAssociationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetServiceNetworkResourceAssociation"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The ID of the association.

        + */ + inline const Aws::String& GetServiceNetworkResourceAssociationIdentifier() const{ return m_serviceNetworkResourceAssociationIdentifier; } + inline bool ServiceNetworkResourceAssociationIdentifierHasBeenSet() const { return m_serviceNetworkResourceAssociationIdentifierHasBeenSet; } + inline void SetServiceNetworkResourceAssociationIdentifier(const Aws::String& value) { m_serviceNetworkResourceAssociationIdentifierHasBeenSet = true; m_serviceNetworkResourceAssociationIdentifier = value; } + inline void SetServiceNetworkResourceAssociationIdentifier(Aws::String&& value) { m_serviceNetworkResourceAssociationIdentifierHasBeenSet = true; m_serviceNetworkResourceAssociationIdentifier = std::move(value); } + inline void SetServiceNetworkResourceAssociationIdentifier(const char* value) { m_serviceNetworkResourceAssociationIdentifierHasBeenSet = true; m_serviceNetworkResourceAssociationIdentifier.assign(value); } + inline GetServiceNetworkResourceAssociationRequest& WithServiceNetworkResourceAssociationIdentifier(const Aws::String& value) { SetServiceNetworkResourceAssociationIdentifier(value); return *this;} + inline GetServiceNetworkResourceAssociationRequest& WithServiceNetworkResourceAssociationIdentifier(Aws::String&& value) { SetServiceNetworkResourceAssociationIdentifier(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationRequest& WithServiceNetworkResourceAssociationIdentifier(const char* value) { SetServiceNetworkResourceAssociationIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_serviceNetworkResourceAssociationIdentifier; + bool m_serviceNetworkResourceAssociationIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResourceAssociationResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResourceAssociationResult.h new file mode 100644 index 00000000000..f1657c9ceaf --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResourceAssociationResult.h @@ -0,0 +1,302 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class GetServiceNetworkResourceAssociationResult + { + public: + AWS_VPCLATTICE_API GetServiceNetworkResourceAssociationResult(); + AWS_VPCLATTICE_API GetServiceNetworkResourceAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API GetServiceNetworkResourceAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the association.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The date and time that the association was created, in ISO-8601 format.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline GetServiceNetworkResourceAssociationResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The account that created the association.

        + */ + inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } + inline void SetCreatedBy(const Aws::String& value) { m_createdBy = value; } + inline void SetCreatedBy(Aws::String&& value) { m_createdBy = std::move(value); } + inline void SetCreatedBy(const char* value) { m_createdBy.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

        The DNS entry for the service.

        + */ + inline const DnsEntry& GetDnsEntry() const{ return m_dnsEntry; } + inline void SetDnsEntry(const DnsEntry& value) { m_dnsEntry = value; } + inline void SetDnsEntry(DnsEntry&& value) { m_dnsEntry = std::move(value); } + inline GetServiceNetworkResourceAssociationResult& WithDnsEntry(const DnsEntry& value) { SetDnsEntry(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithDnsEntry(DnsEntry&& value) { SetDnsEntry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The failure code.

        + */ + inline const Aws::String& GetFailureCode() const{ return m_failureCode; } + inline void SetFailureCode(const Aws::String& value) { m_failureCode = value; } + inline void SetFailureCode(Aws::String&& value) { m_failureCode = std::move(value); } + inline void SetFailureCode(const char* value) { m_failureCode.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithFailureCode(const Aws::String& value) { SetFailureCode(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithFailureCode(Aws::String&& value) { SetFailureCode(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithFailureCode(const char* value) { SetFailureCode(value); return *this;} + ///@} + + ///@{ + /** + *

        The reason the association request failed.

        + */ + inline const Aws::String& GetFailureReason() const{ return m_failureReason; } + inline void SetFailureReason(const Aws::String& value) { m_failureReason = value; } + inline void SetFailureReason(Aws::String&& value) { m_failureReason = std::move(value); } + inline void SetFailureReason(const char* value) { m_failureReason.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the association.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline void SetId(const Aws::String& value) { m_id = value; } + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + inline void SetId(const char* value) { m_id.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        Indicates whether the association is managed by Amazon.

        + */ + inline bool GetIsManagedAssociation() const{ return m_isManagedAssociation; } + inline void SetIsManagedAssociation(bool value) { m_isManagedAssociation = value; } + inline GetServiceNetworkResourceAssociationResult& WithIsManagedAssociation(bool value) { SetIsManagedAssociation(value); return *this;} + ///@} + + ///@{ + /** + *

        The most recent date and time that the association was updated, in ISO-8601 + * format.

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAt = std::move(value); } + inline GetServiceNetworkResourceAssociationResult& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The private DNS entry for the service.

        + */ + inline const DnsEntry& GetPrivateDnsEntry() const{ return m_privateDnsEntry; } + inline void SetPrivateDnsEntry(const DnsEntry& value) { m_privateDnsEntry = value; } + inline void SetPrivateDnsEntry(DnsEntry&& value) { m_privateDnsEntry = std::move(value); } + inline GetServiceNetworkResourceAssociationResult& WithPrivateDnsEntry(const DnsEntry& value) { SetPrivateDnsEntry(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithPrivateDnsEntry(DnsEntry&& value) { SetPrivateDnsEntry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the association.

        + */ + inline const Aws::String& GetResourceConfigurationArn() const{ return m_resourceConfigurationArn; } + inline void SetResourceConfigurationArn(const Aws::String& value) { m_resourceConfigurationArn = value; } + inline void SetResourceConfigurationArn(Aws::String&& value) { m_resourceConfigurationArn = std::move(value); } + inline void SetResourceConfigurationArn(const char* value) { m_resourceConfigurationArn.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithResourceConfigurationArn(const Aws::String& value) { SetResourceConfigurationArn(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithResourceConfigurationArn(Aws::String&& value) { SetResourceConfigurationArn(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithResourceConfigurationArn(const char* value) { SetResourceConfigurationArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource configuration that is associated with the service + * network.

        + */ + inline const Aws::String& GetResourceConfigurationId() const{ return m_resourceConfigurationId; } + inline void SetResourceConfigurationId(const Aws::String& value) { m_resourceConfigurationId = value; } + inline void SetResourceConfigurationId(Aws::String&& value) { m_resourceConfigurationId = std::move(value); } + inline void SetResourceConfigurationId(const char* value) { m_resourceConfigurationId.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithResourceConfigurationId(const Aws::String& value) { SetResourceConfigurationId(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithResourceConfigurationId(Aws::String&& value) { SetResourceConfigurationId(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithResourceConfigurationId(const char* value) { SetResourceConfigurationId(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource configuration that is associated with the service + * network.

        + */ + inline const Aws::String& GetResourceConfigurationName() const{ return m_resourceConfigurationName; } + inline void SetResourceConfigurationName(const Aws::String& value) { m_resourceConfigurationName = value; } + inline void SetResourceConfigurationName(Aws::String&& value) { m_resourceConfigurationName = std::move(value); } + inline void SetResourceConfigurationName(const char* value) { m_resourceConfigurationName.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithResourceConfigurationName(const Aws::String& value) { SetResourceConfigurationName(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithResourceConfigurationName(Aws::String&& value) { SetResourceConfigurationName(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithResourceConfigurationName(const char* value) { SetResourceConfigurationName(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the service network that is associated with + * the resource configuration.

        + */ + inline const Aws::String& GetServiceNetworkArn() const{ return m_serviceNetworkArn; } + inline void SetServiceNetworkArn(const Aws::String& value) { m_serviceNetworkArn = value; } + inline void SetServiceNetworkArn(Aws::String&& value) { m_serviceNetworkArn = std::move(value); } + inline void SetServiceNetworkArn(const char* value) { m_serviceNetworkArn.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithServiceNetworkArn(const Aws::String& value) { SetServiceNetworkArn(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithServiceNetworkArn(Aws::String&& value) { SetServiceNetworkArn(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithServiceNetworkArn(const char* value) { SetServiceNetworkArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the service network that is associated with the resource + * configuration.

        + */ + inline const Aws::String& GetServiceNetworkId() const{ return m_serviceNetworkId; } + inline void SetServiceNetworkId(const Aws::String& value) { m_serviceNetworkId = value; } + inline void SetServiceNetworkId(Aws::String&& value) { m_serviceNetworkId = std::move(value); } + inline void SetServiceNetworkId(const char* value) { m_serviceNetworkId.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithServiceNetworkId(const Aws::String& value) { SetServiceNetworkId(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithServiceNetworkId(Aws::String&& value) { SetServiceNetworkId(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithServiceNetworkId(const char* value) { SetServiceNetworkId(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the service network that is associated with the resource + * configuration.

        + */ + inline const Aws::String& GetServiceNetworkName() const{ return m_serviceNetworkName; } + inline void SetServiceNetworkName(const Aws::String& value) { m_serviceNetworkName = value; } + inline void SetServiceNetworkName(Aws::String&& value) { m_serviceNetworkName = std::move(value); } + inline void SetServiceNetworkName(const char* value) { m_serviceNetworkName.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithServiceNetworkName(const Aws::String& value) { SetServiceNetworkName(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithServiceNetworkName(Aws::String&& value) { SetServiceNetworkName(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithServiceNetworkName(const char* value) { SetServiceNetworkName(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of the association.

        + */ + inline const ServiceNetworkResourceAssociationStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ServiceNetworkResourceAssociationStatus& value) { m_status = value; } + inline void SetStatus(ServiceNetworkResourceAssociationStatus&& value) { m_status = std::move(value); } + inline GetServiceNetworkResourceAssociationResult& WithStatus(const ServiceNetworkResourceAssociationStatus& value) { SetStatus(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithStatus(ServiceNetworkResourceAssociationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetServiceNetworkResourceAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetServiceNetworkResourceAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_arn; + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_createdBy; + + DnsEntry m_dnsEntry; + + Aws::String m_failureCode; + + Aws::String m_failureReason; + + Aws::String m_id; + + bool m_isManagedAssociation; + + Aws::Utils::DateTime m_lastUpdatedAt; + + DnsEntry m_privateDnsEntry; + + Aws::String m_resourceConfigurationArn; + + Aws::String m_resourceConfigurationId; + + Aws::String m_resourceConfigurationName; + + Aws::String m_serviceNetworkArn; + + Aws::String m_serviceNetworkId; + + Aws::String m_serviceNetworkName; + + ServiceNetworkResourceAssociationStatus m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResult.h index ff8d926076c..6c6e8030466 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResult.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkResult.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -60,7 +61,7 @@ namespace Model ///@{ /** - *

        The date and time that the service network was created, specified in ISO-8601 + *

        The date and time that the service network was created, in ISO-8601 * format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } @@ -85,7 +86,7 @@ namespace Model ///@{ /** - *

        The date and time of the last update, specified in ISO-8601 format.

        + *

        The date and time of the last update, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } @@ -125,6 +126,17 @@ namespace Model inline GetServiceNetworkResult& WithNumberOfAssociatedVPCs(long long value) { SetNumberOfAssociatedVPCs(value); return *this;} ///@} + ///@{ + /** + *

        Specifies if the service network is enabled for sharing.

        + */ + inline const SharingConfig& GetSharingConfig() const{ return m_sharingConfig; } + inline void SetSharingConfig(const SharingConfig& value) { m_sharingConfig = value; } + inline void SetSharingConfig(SharingConfig&& value) { m_sharingConfig = std::move(value); } + inline GetServiceNetworkResult& WithSharingConfig(const SharingConfig& value) { SetSharingConfig(value); return *this;} + inline GetServiceNetworkResult& WithSharingConfig(SharingConfig&& value) { SetSharingConfig(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -153,6 +165,8 @@ namespace Model long long m_numberOfAssociatedVPCs; + SharingConfig m_sharingConfig; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkServiceAssociationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkServiceAssociationRequest.h index 3d61876dc6a..41ee7c6757c 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkServiceAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkServiceAssociationRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the association.

        + *

        The ID or ARN of the association.

        */ inline const Aws::String& GetServiceNetworkServiceAssociationIdentifier() const{ return m_serviceNetworkServiceAssociationIdentifier; } inline bool ServiceNetworkServiceAssociationIdentifierHasBeenSet() const { return m_serviceNetworkServiceAssociationIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkServiceAssociationResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkServiceAssociationResult.h index ecbcc765fb9..468f250c084 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkServiceAssociationResult.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkServiceAssociationResult.h @@ -50,8 +50,7 @@ namespace Model ///@{ /** - *

        The date and time that the association was created, specified in ISO-8601 - * format.

        + *

        The date and time that the association was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkVpcAssociationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkVpcAssociationRequest.h index 10e0c4c7a3d..2172ae870b5 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkVpcAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkVpcAssociationRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the association.

        + *

        The ID or ARN of the association.

        */ inline const Aws::String& GetServiceNetworkVpcAssociationIdentifier() const{ return m_serviceNetworkVpcAssociationIdentifier; } inline bool ServiceNetworkVpcAssociationIdentifierHasBeenSet() const { return m_serviceNetworkVpcAssociationIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkVpcAssociationResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkVpcAssociationResult.h index 415a3f8fce9..81b8ae62a0c 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkVpcAssociationResult.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceNetworkVpcAssociationResult.h @@ -50,8 +50,7 @@ namespace Model ///@{ /** - *

        The date and time that the association was created, specified in ISO-8601 - * format.

        + *

        The date and time that the association was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } @@ -101,8 +100,7 @@ namespace Model ///@{ /** - *

        The ID of the specified association between the service network and the - * VPC.

        + *

        The ID of the association.

        */ inline const Aws::String& GetId() const{ return m_id; } inline void SetId(const Aws::String& value) { m_id = value; } @@ -115,8 +113,8 @@ namespace Model ///@{ /** - *

        The date and time that the association was last updated, specified in - * ISO-8601 format.

        + *

        The date and time that the association was last updated, in ISO-8601 + * format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceRequest.h index f0d63ff940b..e54c21c85e0 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceResult.h index 80e3666f6b4..065156a44b4 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceResult.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetServiceResult.h @@ -75,8 +75,7 @@ namespace Model ///@{ /** - *

        The date and time that the service was created, specified in ISO-8601 - * format.

        + *

        The date and time that the service was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } @@ -150,8 +149,7 @@ namespace Model ///@{ /** - *

        The date and time that the service was last updated, specified in ISO-8601 - * format.

        + *

        The date and time that the service was last updated, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetTargetGroupRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetTargetGroupRequest.h index b37e11599c3..822ade270ea 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetTargetGroupRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetTargetGroupRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the target group.

        + *

        The ID or ARN of the target group.

        */ inline const Aws::String& GetTargetGroupIdentifier() const{ return m_targetGroupIdentifier; } inline bool TargetGroupIdentifierHasBeenSet() const { return m_targetGroupIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetTargetGroupResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetTargetGroupResult.h index f975b961c06..0e131bf935a 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetTargetGroupResult.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/GetTargetGroupResult.h @@ -63,8 +63,7 @@ namespace Model ///@{ /** - *

        The date and time that the target group was created, specified in ISO-8601 - * format.

        + *

        The date and time that the target group was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } @@ -114,8 +113,8 @@ namespace Model ///@{ /** - *

        The date and time that the target group was last updated, specified in - * ISO-8601 format.

        + *

        The date and time that the target group was last updated, in ISO-8601 + * format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/IpResource.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/IpResource.h new file mode 100644 index 00000000000..678656eaeb7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/IpResource.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + + /** + *

        Describes an IP resource.

        See Also:

        AWS + * API Reference

        + */ + class IpResource + { + public: + AWS_VPCLATTICE_API IpResource(); + AWS_VPCLATTICE_API IpResource(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API IpResource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The IP address of the IP resource.

        + */ + inline const Aws::String& GetIpAddress() const{ return m_ipAddress; } + inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; } + inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; } + inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); } + inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); } + inline IpResource& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;} + inline IpResource& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;} + inline IpResource& WithIpAddress(const char* value) { SetIpAddress(value); return *this;} + ///@} + private: + + Aws::String m_ipAddress; + bool m_ipAddressHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListAccessLogSubscriptionsRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListAccessLogSubscriptionsRequest.h index 069ec6b073f..3e8568a764a 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListAccessLogSubscriptionsRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListAccessLogSubscriptionsRequest.h @@ -64,7 +64,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service network or service.

        + *

        The ID or ARN of the service network or service.

        */ inline const Aws::String& GetResourceIdentifier() const{ return m_resourceIdentifier; } inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListListenersRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListListenersRequest.h index c29036e92a9..55ceb0a172c 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListListenersRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListListenersRequest.h @@ -64,7 +64,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceConfigurationsRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceConfigurationsRequest.h new file mode 100644 index 00000000000..04abf382ec6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceConfigurationsRequest.h @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class ListResourceConfigurationsRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API ListResourceConfigurationsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListResourceConfigurations"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + AWS_VPCLATTICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The maximum page size.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListResourceConfigurationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

        A pagination token for the next page of results.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListResourceConfigurationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListResourceConfigurationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListResourceConfigurationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the group resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationGroupIdentifier() const{ return m_resourceConfigurationGroupIdentifier; } + inline bool ResourceConfigurationGroupIdentifierHasBeenSet() const { return m_resourceConfigurationGroupIdentifierHasBeenSet; } + inline void SetResourceConfigurationGroupIdentifier(const Aws::String& value) { m_resourceConfigurationGroupIdentifierHasBeenSet = true; m_resourceConfigurationGroupIdentifier = value; } + inline void SetResourceConfigurationGroupIdentifier(Aws::String&& value) { m_resourceConfigurationGroupIdentifierHasBeenSet = true; m_resourceConfigurationGroupIdentifier = std::move(value); } + inline void SetResourceConfigurationGroupIdentifier(const char* value) { m_resourceConfigurationGroupIdentifierHasBeenSet = true; m_resourceConfigurationGroupIdentifier.assign(value); } + inline ListResourceConfigurationsRequest& WithResourceConfigurationGroupIdentifier(const Aws::String& value) { SetResourceConfigurationGroupIdentifier(value); return *this;} + inline ListResourceConfigurationsRequest& WithResourceConfigurationGroupIdentifier(Aws::String&& value) { SetResourceConfigurationGroupIdentifier(std::move(value)); return *this;} + inline ListResourceConfigurationsRequest& WithResourceConfigurationGroupIdentifier(const char* value) { SetResourceConfigurationGroupIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource gateway for the resource configuration.

        + */ + inline const Aws::String& GetResourceGatewayIdentifier() const{ return m_resourceGatewayIdentifier; } + inline bool ResourceGatewayIdentifierHasBeenSet() const { return m_resourceGatewayIdentifierHasBeenSet; } + inline void SetResourceGatewayIdentifier(const Aws::String& value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier = value; } + inline void SetResourceGatewayIdentifier(Aws::String&& value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier = std::move(value); } + inline void SetResourceGatewayIdentifier(const char* value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier.assign(value); } + inline ListResourceConfigurationsRequest& WithResourceGatewayIdentifier(const Aws::String& value) { SetResourceGatewayIdentifier(value); return *this;} + inline ListResourceConfigurationsRequest& WithResourceGatewayIdentifier(Aws::String&& value) { SetResourceGatewayIdentifier(std::move(value)); return *this;} + inline ListResourceConfigurationsRequest& WithResourceGatewayIdentifier(const char* value) { SetResourceGatewayIdentifier(value); return *this;} + ///@} + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_resourceConfigurationGroupIdentifier; + bool m_resourceConfigurationGroupIdentifierHasBeenSet = false; + + Aws::String m_resourceGatewayIdentifier; + bool m_resourceGatewayIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceConfigurationsResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceConfigurationsResult.h new file mode 100644 index 00000000000..7b5aa0d07a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceConfigurationsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class ListResourceConfigurationsResult + { + public: + AWS_VPCLATTICE_API ListResourceConfigurationsResult(); + AWS_VPCLATTICE_API ListResourceConfigurationsResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API ListResourceConfigurationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Information about the resource configurations.

        + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline void SetItems(const Aws::Vector& value) { m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + inline ListResourceConfigurationsResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline ListResourceConfigurationsResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline ListResourceConfigurationsResult& AddItems(const ResourceConfigurationSummary& value) { m_items.push_back(value); return *this; } + inline ListResourceConfigurationsResult& AddItems(ResourceConfigurationSummary&& value) { m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        If there are additional results, a pagination token for the next page of + * results.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListResourceConfigurationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListResourceConfigurationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListResourceConfigurationsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListResourceConfigurationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListResourceConfigurationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListResourceConfigurationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_items; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceEndpointAssociationsRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceEndpointAssociationsRequest.h new file mode 100644 index 00000000000..9ffa1acc975 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceEndpointAssociationsRequest.h @@ -0,0 +1,143 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class ListResourceEndpointAssociationsRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API ListResourceEndpointAssociationsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListResourceEndpointAssociations"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + AWS_VPCLATTICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The maximum page size.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListResourceEndpointAssociationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

        A pagination token for the next page of results.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListResourceEndpointAssociationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListResourceEndpointAssociationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListResourceEndpointAssociationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID for the resource configuration associated with the VPC endpoint.

        + */ + inline const Aws::String& GetResourceConfigurationIdentifier() const{ return m_resourceConfigurationIdentifier; } + inline bool ResourceConfigurationIdentifierHasBeenSet() const { return m_resourceConfigurationIdentifierHasBeenSet; } + inline void SetResourceConfigurationIdentifier(const Aws::String& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = value; } + inline void SetResourceConfigurationIdentifier(Aws::String&& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = std::move(value); } + inline void SetResourceConfigurationIdentifier(const char* value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier.assign(value); } + inline ListResourceEndpointAssociationsRequest& WithResourceConfigurationIdentifier(const Aws::String& value) { SetResourceConfigurationIdentifier(value); return *this;} + inline ListResourceEndpointAssociationsRequest& WithResourceConfigurationIdentifier(Aws::String&& value) { SetResourceConfigurationIdentifier(std::move(value)); return *this;} + inline ListResourceEndpointAssociationsRequest& WithResourceConfigurationIdentifier(const char* value) { SetResourceConfigurationIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the association.

        + */ + inline const Aws::String& GetResourceEndpointAssociationIdentifier() const{ return m_resourceEndpointAssociationIdentifier; } + inline bool ResourceEndpointAssociationIdentifierHasBeenSet() const { return m_resourceEndpointAssociationIdentifierHasBeenSet; } + inline void SetResourceEndpointAssociationIdentifier(const Aws::String& value) { m_resourceEndpointAssociationIdentifierHasBeenSet = true; m_resourceEndpointAssociationIdentifier = value; } + inline void SetResourceEndpointAssociationIdentifier(Aws::String&& value) { m_resourceEndpointAssociationIdentifierHasBeenSet = true; m_resourceEndpointAssociationIdentifier = std::move(value); } + inline void SetResourceEndpointAssociationIdentifier(const char* value) { m_resourceEndpointAssociationIdentifierHasBeenSet = true; m_resourceEndpointAssociationIdentifier.assign(value); } + inline ListResourceEndpointAssociationsRequest& WithResourceEndpointAssociationIdentifier(const Aws::String& value) { SetResourceEndpointAssociationIdentifier(value); return *this;} + inline ListResourceEndpointAssociationsRequest& WithResourceEndpointAssociationIdentifier(Aws::String&& value) { SetResourceEndpointAssociationIdentifier(std::move(value)); return *this;} + inline ListResourceEndpointAssociationsRequest& WithResourceEndpointAssociationIdentifier(const char* value) { SetResourceEndpointAssociationIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the VPC endpoint in the association.

        + */ + inline const Aws::String& GetVpcEndpointId() const{ return m_vpcEndpointId; } + inline bool VpcEndpointIdHasBeenSet() const { return m_vpcEndpointIdHasBeenSet; } + inline void SetVpcEndpointId(const Aws::String& value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId = value; } + inline void SetVpcEndpointId(Aws::String&& value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId = std::move(value); } + inline void SetVpcEndpointId(const char* value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId.assign(value); } + inline ListResourceEndpointAssociationsRequest& WithVpcEndpointId(const Aws::String& value) { SetVpcEndpointId(value); return *this;} + inline ListResourceEndpointAssociationsRequest& WithVpcEndpointId(Aws::String&& value) { SetVpcEndpointId(std::move(value)); return *this;} + inline ListResourceEndpointAssociationsRequest& WithVpcEndpointId(const char* value) { SetVpcEndpointId(value); return *this;} + ///@} + + ///@{ + /** + *

        The owner of the VPC endpoint in the association.

        + */ + inline const Aws::String& GetVpcEndpointOwner() const{ return m_vpcEndpointOwner; } + inline bool VpcEndpointOwnerHasBeenSet() const { return m_vpcEndpointOwnerHasBeenSet; } + inline void SetVpcEndpointOwner(const Aws::String& value) { m_vpcEndpointOwnerHasBeenSet = true; m_vpcEndpointOwner = value; } + inline void SetVpcEndpointOwner(Aws::String&& value) { m_vpcEndpointOwnerHasBeenSet = true; m_vpcEndpointOwner = std::move(value); } + inline void SetVpcEndpointOwner(const char* value) { m_vpcEndpointOwnerHasBeenSet = true; m_vpcEndpointOwner.assign(value); } + inline ListResourceEndpointAssociationsRequest& WithVpcEndpointOwner(const Aws::String& value) { SetVpcEndpointOwner(value); return *this;} + inline ListResourceEndpointAssociationsRequest& WithVpcEndpointOwner(Aws::String&& value) { SetVpcEndpointOwner(std::move(value)); return *this;} + inline ListResourceEndpointAssociationsRequest& WithVpcEndpointOwner(const char* value) { SetVpcEndpointOwner(value); return *this;} + ///@} + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_resourceConfigurationIdentifier; + bool m_resourceConfigurationIdentifierHasBeenSet = false; + + Aws::String m_resourceEndpointAssociationIdentifier; + bool m_resourceEndpointAssociationIdentifierHasBeenSet = false; + + Aws::String m_vpcEndpointId; + bool m_vpcEndpointIdHasBeenSet = false; + + Aws::String m_vpcEndpointOwner; + bool m_vpcEndpointOwnerHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceEndpointAssociationsResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceEndpointAssociationsResult.h new file mode 100644 index 00000000000..5d2628ddda5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceEndpointAssociationsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class ListResourceEndpointAssociationsResult + { + public: + AWS_VPCLATTICE_API ListResourceEndpointAssociationsResult(); + AWS_VPCLATTICE_API ListResourceEndpointAssociationsResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API ListResourceEndpointAssociationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Information about the VPC endpoint associations.

        + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline void SetItems(const Aws::Vector& value) { m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + inline ListResourceEndpointAssociationsResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline ListResourceEndpointAssociationsResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline ListResourceEndpointAssociationsResult& AddItems(const ResourceEndpointAssociationSummary& value) { m_items.push_back(value); return *this; } + inline ListResourceEndpointAssociationsResult& AddItems(ResourceEndpointAssociationSummary&& value) { m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        If there are additional results, a pagination token for the next page of + * results.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListResourceEndpointAssociationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListResourceEndpointAssociationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListResourceEndpointAssociationsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListResourceEndpointAssociationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListResourceEndpointAssociationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListResourceEndpointAssociationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_items; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceGatewaysRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceGatewaysRequest.h new file mode 100644 index 00000000000..f934fa718f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceGatewaysRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class ListResourceGatewaysRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API ListResourceGatewaysRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListResourceGateways"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + AWS_VPCLATTICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The maximum page size.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListResourceGatewaysRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

        If there are additional results, a pagination token for the next page of + * results.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListResourceGatewaysRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListResourceGatewaysRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListResourceGatewaysRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceGatewaysResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceGatewaysResult.h new file mode 100644 index 00000000000..b946f9eff01 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListResourceGatewaysResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class ListResourceGatewaysResult + { + public: + AWS_VPCLATTICE_API ListResourceGatewaysResult(); + AWS_VPCLATTICE_API ListResourceGatewaysResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API ListResourceGatewaysResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Information about the resource gateways.

        + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline void SetItems(const Aws::Vector& value) { m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + inline ListResourceGatewaysResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline ListResourceGatewaysResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline ListResourceGatewaysResult& AddItems(const ResourceGatewaySummary& value) { m_items.push_back(value); return *this; } + inline ListResourceGatewaysResult& AddItems(ResourceGatewaySummary&& value) { m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        If there are additional results, a pagination token for the next page of + * results.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListResourceGatewaysResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListResourceGatewaysResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListResourceGatewaysResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListResourceGatewaysResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListResourceGatewaysResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListResourceGatewaysResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_items; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListRulesRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListRulesRequest.h index 68290059656..298005cf901 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListRulesRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListRulesRequest.h @@ -40,7 +40,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the listener.

        + *

        The ID or ARN of the listener.

        */ inline const Aws::String& GetListenerIdentifier() const{ return m_listenerIdentifier; } inline bool ListenerIdentifierHasBeenSet() const { return m_listenerIdentifierHasBeenSet; } @@ -78,7 +78,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkResourceAssociationsRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkResourceAssociationsRequest.h new file mode 100644 index 00000000000..055ab19bead --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkResourceAssociationsRequest.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class ListServiceNetworkResourceAssociationsRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API ListServiceNetworkResourceAssociationsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListServiceNetworkResourceAssociations"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + AWS_VPCLATTICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The maximum page size.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListServiceNetworkResourceAssociationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

        If there are additional results, a pagination token for the next page of + * results.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListServiceNetworkResourceAssociationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListServiceNetworkResourceAssociationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListServiceNetworkResourceAssociationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource configurationk.

        + */ + inline const Aws::String& GetResourceConfigurationIdentifier() const{ return m_resourceConfigurationIdentifier; } + inline bool ResourceConfigurationIdentifierHasBeenSet() const { return m_resourceConfigurationIdentifierHasBeenSet; } + inline void SetResourceConfigurationIdentifier(const Aws::String& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = value; } + inline void SetResourceConfigurationIdentifier(Aws::String&& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = std::move(value); } + inline void SetResourceConfigurationIdentifier(const char* value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier.assign(value); } + inline ListServiceNetworkResourceAssociationsRequest& WithResourceConfigurationIdentifier(const Aws::String& value) { SetResourceConfigurationIdentifier(value); return *this;} + inline ListServiceNetworkResourceAssociationsRequest& WithResourceConfigurationIdentifier(Aws::String&& value) { SetResourceConfigurationIdentifier(std::move(value)); return *this;} + inline ListServiceNetworkResourceAssociationsRequest& WithResourceConfigurationIdentifier(const char* value) { SetResourceConfigurationIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the service network.

        + */ + inline const Aws::String& GetServiceNetworkIdentifier() const{ return m_serviceNetworkIdentifier; } + inline bool ServiceNetworkIdentifierHasBeenSet() const { return m_serviceNetworkIdentifierHasBeenSet; } + inline void SetServiceNetworkIdentifier(const Aws::String& value) { m_serviceNetworkIdentifierHasBeenSet = true; m_serviceNetworkIdentifier = value; } + inline void SetServiceNetworkIdentifier(Aws::String&& value) { m_serviceNetworkIdentifierHasBeenSet = true; m_serviceNetworkIdentifier = std::move(value); } + inline void SetServiceNetworkIdentifier(const char* value) { m_serviceNetworkIdentifierHasBeenSet = true; m_serviceNetworkIdentifier.assign(value); } + inline ListServiceNetworkResourceAssociationsRequest& WithServiceNetworkIdentifier(const Aws::String& value) { SetServiceNetworkIdentifier(value); return *this;} + inline ListServiceNetworkResourceAssociationsRequest& WithServiceNetworkIdentifier(Aws::String&& value) { SetServiceNetworkIdentifier(std::move(value)); return *this;} + inline ListServiceNetworkResourceAssociationsRequest& WithServiceNetworkIdentifier(const char* value) { SetServiceNetworkIdentifier(value); return *this;} + ///@} + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_resourceConfigurationIdentifier; + bool m_resourceConfigurationIdentifierHasBeenSet = false; + + Aws::String m_serviceNetworkIdentifier; + bool m_serviceNetworkIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkResourceAssociationsResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkResourceAssociationsResult.h new file mode 100644 index 00000000000..51098c40a17 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkResourceAssociationsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class ListServiceNetworkResourceAssociationsResult + { + public: + AWS_VPCLATTICE_API ListServiceNetworkResourceAssociationsResult(); + AWS_VPCLATTICE_API ListServiceNetworkResourceAssociationsResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API ListServiceNetworkResourceAssociationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Information about the associations.

        + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline void SetItems(const Aws::Vector& value) { m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + inline ListServiceNetworkResourceAssociationsResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline ListServiceNetworkResourceAssociationsResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline ListServiceNetworkResourceAssociationsResult& AddItems(const ServiceNetworkResourceAssociationSummary& value) { m_items.push_back(value); return *this; } + inline ListServiceNetworkResourceAssociationsResult& AddItems(ServiceNetworkResourceAssociationSummary&& value) { m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        If there are additional results, a pagination token for the next page of + * results.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListServiceNetworkResourceAssociationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListServiceNetworkResourceAssociationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListServiceNetworkResourceAssociationsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListServiceNetworkResourceAssociationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListServiceNetworkResourceAssociationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListServiceNetworkResourceAssociationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_items; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkServiceAssociationsRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkServiceAssociationsRequest.h index 0a8785de405..c63225ff801 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkServiceAssociationsRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkServiceAssociationsRequest.h @@ -64,7 +64,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } @@ -78,7 +78,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service network.

        + *

        The ID or ARN of the service network.

        */ inline const Aws::String& GetServiceNetworkIdentifier() const{ return m_serviceNetworkIdentifier; } inline bool ServiceNetworkIdentifierHasBeenSet() const { return m_serviceNetworkIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcAssociationsRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcAssociationsRequest.h index 0c287e5779b..79ce7cb7ffd 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcAssociationsRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcAssociationsRequest.h @@ -64,7 +64,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service network.

        + *

        The ID or ARN of the service network.

        */ inline const Aws::String& GetServiceNetworkIdentifier() const{ return m_serviceNetworkIdentifier; } inline bool ServiceNetworkIdentifierHasBeenSet() const { return m_serviceNetworkIdentifierHasBeenSet; } @@ -78,7 +78,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the VPC.

        + *

        The ID or ARN of the VPC.

        */ inline const Aws::String& GetVpcIdentifier() const{ return m_vpcIdentifier; } inline bool VpcIdentifierHasBeenSet() const { return m_vpcIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcEndpointAssociationsRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcEndpointAssociationsRequest.h new file mode 100644 index 00000000000..607034cd6bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcEndpointAssociationsRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class ListServiceNetworkVpcEndpointAssociationsRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API ListServiceNetworkVpcEndpointAssociationsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListServiceNetworkVpcEndpointAssociations"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + AWS_VPCLATTICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The maximum page size.

        + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListServiceNetworkVpcEndpointAssociationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

        If there are additional results, a pagination token for the next page of + * results.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListServiceNetworkVpcEndpointAssociationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListServiceNetworkVpcEndpointAssociationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListServiceNetworkVpcEndpointAssociationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the service network associated with the VPC endpoint.

        + */ + inline const Aws::String& GetServiceNetworkIdentifier() const{ return m_serviceNetworkIdentifier; } + inline bool ServiceNetworkIdentifierHasBeenSet() const { return m_serviceNetworkIdentifierHasBeenSet; } + inline void SetServiceNetworkIdentifier(const Aws::String& value) { m_serviceNetworkIdentifierHasBeenSet = true; m_serviceNetworkIdentifier = value; } + inline void SetServiceNetworkIdentifier(Aws::String&& value) { m_serviceNetworkIdentifierHasBeenSet = true; m_serviceNetworkIdentifier = std::move(value); } + inline void SetServiceNetworkIdentifier(const char* value) { m_serviceNetworkIdentifierHasBeenSet = true; m_serviceNetworkIdentifier.assign(value); } + inline ListServiceNetworkVpcEndpointAssociationsRequest& WithServiceNetworkIdentifier(const Aws::String& value) { SetServiceNetworkIdentifier(value); return *this;} + inline ListServiceNetworkVpcEndpointAssociationsRequest& WithServiceNetworkIdentifier(Aws::String&& value) { SetServiceNetworkIdentifier(std::move(value)); return *this;} + inline ListServiceNetworkVpcEndpointAssociationsRequest& WithServiceNetworkIdentifier(const char* value) { SetServiceNetworkIdentifier(value); return *this;} + ///@} + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_serviceNetworkIdentifier; + bool m_serviceNetworkIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcEndpointAssociationsResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcEndpointAssociationsResult.h new file mode 100644 index 00000000000..e2721db93b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListServiceNetworkVpcEndpointAssociationsResult.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class ListServiceNetworkVpcEndpointAssociationsResult + { + public: + AWS_VPCLATTICE_API ListServiceNetworkVpcEndpointAssociationsResult(); + AWS_VPCLATTICE_API ListServiceNetworkVpcEndpointAssociationsResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API ListServiceNetworkVpcEndpointAssociationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Information about the association between the VPC endpoint and service + * network.

        + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline void SetItems(const Aws::Vector& value) { m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + inline ListServiceNetworkVpcEndpointAssociationsResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline ListServiceNetworkVpcEndpointAssociationsResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline ListServiceNetworkVpcEndpointAssociationsResult& AddItems(const ServiceNetworkEndpointAssociation& value) { m_items.push_back(value); return *this; } + inline ListServiceNetworkVpcEndpointAssociationsResult& AddItems(ServiceNetworkEndpointAssociation&& value) { m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        If there are additional results, a pagination token for the next page of + * results.

        + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListServiceNetworkVpcEndpointAssociationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListServiceNetworkVpcEndpointAssociationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListServiceNetworkVpcEndpointAssociationsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListServiceNetworkVpcEndpointAssociationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListServiceNetworkVpcEndpointAssociationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListServiceNetworkVpcEndpointAssociationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_items; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListTargetGroupsRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListTargetGroupsRequest.h index 3baaa9e0b42..0cc5c4cea77 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListTargetGroupsRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListTargetGroupsRequest.h @@ -77,7 +77,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the VPC.

        + *

        The ID or ARN of the VPC.

        */ inline const Aws::String& GetVpcIdentifier() const{ return m_vpcIdentifier; } inline bool VpcIdentifierHasBeenSet() const { return m_vpcIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListTargetsRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListTargetsRequest.h index 82c3c197ca6..1bbb26cbe1e 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListTargetsRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListTargetsRequest.h @@ -66,7 +66,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the target group.

        + *

        The ID or ARN of the target group.

        */ inline const Aws::String& GetTargetGroupIdentifier() const{ return m_targetGroupIdentifier; } inline bool TargetGroupIdentifierHasBeenSet() const { return m_targetGroupIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListenerSummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListenerSummary.h index f1f502abbe3..5e7ed595e5d 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListenerSummary.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ListenerSummary.h @@ -55,8 +55,7 @@ namespace Model ///@{ /** - *

        The date and time that the listener was created, specified in ISO-8601 - * format.

        + *

        The date and time that the listener was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } @@ -82,8 +81,7 @@ namespace Model ///@{ /** - *

        The date and time that the listener was last updated, specified in ISO-8601 - * format.

        + *

        The date and time that the listener was last updated, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ProtocolType.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ProtocolType.h new file mode 100644 index 00000000000..a5381e5c723 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ProtocolType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + enum class ProtocolType + { + NOT_SET, + TCP + }; + +namespace ProtocolTypeMapper +{ +AWS_VPCLATTICE_API ProtocolType GetProtocolTypeForName(const Aws::String& name); + +AWS_VPCLATTICE_API Aws::String GetNameForProtocolType(ProtocolType value); +} // namespace ProtocolTypeMapper +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/PutAuthPolicyRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/PutAuthPolicyRequest.h index 1cda888f52b..4a92b5c0b1d 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/PutAuthPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/PutAuthPolicyRequest.h @@ -49,8 +49,8 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service network or service for - * which the policy is created.

        + *

        The ID or ARN of the service network or service for which the policy is + * created.

        */ inline const Aws::String& GetResourceIdentifier() const{ return m_resourceIdentifier; } inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/PutResourcePolicyRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/PutResourcePolicyRequest.h index 88b4c7ee8e9..fdc8284dd22 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/PutResourcePolicyRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/PutResourcePolicyRequest.h @@ -49,8 +49,8 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service network or service for - * which the policy is created.

        + *

        The ID or ARN of the service network or service for which the policy is + * created.

        */ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RegisterTargetsRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RegisterTargetsRequest.h index e7a0c5ea70b..ba8840b4764 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RegisterTargetsRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RegisterTargetsRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the target group.

        + *

        The ID or ARN of the target group.

        */ inline const Aws::String& GetTargetGroupIdentifier() const{ return m_targetGroupIdentifier; } inline bool TargetGroupIdentifierHasBeenSet() const { return m_targetGroupIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationDefinition.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationDefinition.h new file mode 100644 index 00000000000..3661100e30a --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationDefinition.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + + /** + *

        Describes a resource configuration.

        See Also:

        AWS + * API Reference

        + */ + class ResourceConfigurationDefinition + { + public: + AWS_VPCLATTICE_API ResourceConfigurationDefinition(); + AWS_VPCLATTICE_API ResourceConfigurationDefinition(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API ResourceConfigurationDefinition& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource.

        + */ + inline const ArnResource& GetArnResource() const{ return m_arnResource; } + inline bool ArnResourceHasBeenSet() const { return m_arnResourceHasBeenSet; } + inline void SetArnResource(const ArnResource& value) { m_arnResourceHasBeenSet = true; m_arnResource = value; } + inline void SetArnResource(ArnResource&& value) { m_arnResourceHasBeenSet = true; m_arnResource = std::move(value); } + inline ResourceConfigurationDefinition& WithArnResource(const ArnResource& value) { SetArnResource(value); return *this;} + inline ResourceConfigurationDefinition& WithArnResource(ArnResource&& value) { SetArnResource(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The DNS name of the resource.

        + */ + inline const DnsResource& GetDnsResource() const{ return m_dnsResource; } + inline bool DnsResourceHasBeenSet() const { return m_dnsResourceHasBeenSet; } + inline void SetDnsResource(const DnsResource& value) { m_dnsResourceHasBeenSet = true; m_dnsResource = value; } + inline void SetDnsResource(DnsResource&& value) { m_dnsResourceHasBeenSet = true; m_dnsResource = std::move(value); } + inline ResourceConfigurationDefinition& WithDnsResource(const DnsResource& value) { SetDnsResource(value); return *this;} + inline ResourceConfigurationDefinition& WithDnsResource(DnsResource&& value) { SetDnsResource(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The IP resource.

        + */ + inline const IpResource& GetIpResource() const{ return m_ipResource; } + inline bool IpResourceHasBeenSet() const { return m_ipResourceHasBeenSet; } + inline void SetIpResource(const IpResource& value) { m_ipResourceHasBeenSet = true; m_ipResource = value; } + inline void SetIpResource(IpResource&& value) { m_ipResourceHasBeenSet = true; m_ipResource = std::move(value); } + inline ResourceConfigurationDefinition& WithIpResource(const IpResource& value) { SetIpResource(value); return *this;} + inline ResourceConfigurationDefinition& WithIpResource(IpResource&& value) { SetIpResource(std::move(value)); return *this;} + ///@} + private: + + ArnResource m_arnResource; + bool m_arnResourceHasBeenSet = false; + + DnsResource m_dnsResource; + bool m_dnsResourceHasBeenSet = false; + + IpResource m_ipResource; + bool m_ipResourceHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationIpAddressType.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationIpAddressType.h new file mode 100644 index 00000000000..699a6a804f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationIpAddressType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + enum class ResourceConfigurationIpAddressType + { + NOT_SET, + IPV4, + IPV6, + DUALSTACK + }; + +namespace ResourceConfigurationIpAddressTypeMapper +{ +AWS_VPCLATTICE_API ResourceConfigurationIpAddressType GetResourceConfigurationIpAddressTypeForName(const Aws::String& name); + +AWS_VPCLATTICE_API Aws::String GetNameForResourceConfigurationIpAddressType(ResourceConfigurationIpAddressType value); +} // namespace ResourceConfigurationIpAddressTypeMapper +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationStatus.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationStatus.h new file mode 100644 index 00000000000..a2453cfcf02 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationStatus.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + enum class ResourceConfigurationStatus + { + NOT_SET, + ACTIVE, + CREATE_IN_PROGRESS, + UPDATE_IN_PROGRESS, + DELETE_IN_PROGRESS, + CREATE_FAILED, + UPDATE_FAILED, + DELETE_FAILED + }; + +namespace ResourceConfigurationStatusMapper +{ +AWS_VPCLATTICE_API ResourceConfigurationStatus GetResourceConfigurationStatusForName(const Aws::String& name); + +AWS_VPCLATTICE_API Aws::String GetNameForResourceConfigurationStatus(ResourceConfigurationStatus value); +} // namespace ResourceConfigurationStatusMapper +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationSummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationSummary.h new file mode 100644 index 00000000000..2cd94db5ff2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationSummary.h @@ -0,0 +1,213 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + + /** + *

        Summary information about a resource configuration.

        See Also:

        + * AWS + * API Reference

        + */ + class ResourceConfigurationSummary + { + public: + AWS_VPCLATTICE_API ResourceConfigurationSummary(); + AWS_VPCLATTICE_API ResourceConfigurationSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API ResourceConfigurationSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Indicates whether the resource configuration was created and is managed by + * Amazon.

        + */ + inline bool GetAmazonManaged() const{ return m_amazonManaged; } + inline bool AmazonManagedHasBeenSet() const { return m_amazonManagedHasBeenSet; } + inline void SetAmazonManaged(bool value) { m_amazonManagedHasBeenSet = true; m_amazonManaged = value; } + inline ResourceConfigurationSummary& WithAmazonManaged(bool value) { SetAmazonManaged(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource configuration.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline ResourceConfigurationSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline ResourceConfigurationSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline ResourceConfigurationSummary& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The date and time that the resource configuration was created, in ISO-8601 + * format.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ResourceConfigurationSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ResourceConfigurationSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource configuration.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline ResourceConfigurationSummary& WithId(const Aws::String& value) { SetId(value); return *this;} + inline ResourceConfigurationSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline ResourceConfigurationSummary& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The most recent date and time that the resource configuration was updated, in + * ISO-8601 format.

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); } + inline ResourceConfigurationSummary& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline ResourceConfigurationSummary& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource configuration.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline ResourceConfigurationSummary& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ResourceConfigurationSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ResourceConfigurationSummary& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the group resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationGroupId() const{ return m_resourceConfigurationGroupId; } + inline bool ResourceConfigurationGroupIdHasBeenSet() const { return m_resourceConfigurationGroupIdHasBeenSet; } + inline void SetResourceConfigurationGroupId(const Aws::String& value) { m_resourceConfigurationGroupIdHasBeenSet = true; m_resourceConfigurationGroupId = value; } + inline void SetResourceConfigurationGroupId(Aws::String&& value) { m_resourceConfigurationGroupIdHasBeenSet = true; m_resourceConfigurationGroupId = std::move(value); } + inline void SetResourceConfigurationGroupId(const char* value) { m_resourceConfigurationGroupIdHasBeenSet = true; m_resourceConfigurationGroupId.assign(value); } + inline ResourceConfigurationSummary& WithResourceConfigurationGroupId(const Aws::String& value) { SetResourceConfigurationGroupId(value); return *this;} + inline ResourceConfigurationSummary& WithResourceConfigurationGroupId(Aws::String&& value) { SetResourceConfigurationGroupId(std::move(value)); return *this;} + inline ResourceConfigurationSummary& WithResourceConfigurationGroupId(const char* value) { SetResourceConfigurationGroupId(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource gateway.

        + */ + inline const Aws::String& GetResourceGatewayId() const{ return m_resourceGatewayId; } + inline bool ResourceGatewayIdHasBeenSet() const { return m_resourceGatewayIdHasBeenSet; } + inline void SetResourceGatewayId(const Aws::String& value) { m_resourceGatewayIdHasBeenSet = true; m_resourceGatewayId = value; } + inline void SetResourceGatewayId(Aws::String&& value) { m_resourceGatewayIdHasBeenSet = true; m_resourceGatewayId = std::move(value); } + inline void SetResourceGatewayId(const char* value) { m_resourceGatewayIdHasBeenSet = true; m_resourceGatewayId.assign(value); } + inline ResourceConfigurationSummary& WithResourceGatewayId(const Aws::String& value) { SetResourceGatewayId(value); return *this;} + inline ResourceConfigurationSummary& WithResourceGatewayId(Aws::String&& value) { SetResourceGatewayId(std::move(value)); return *this;} + inline ResourceConfigurationSummary& WithResourceGatewayId(const char* value) { SetResourceGatewayId(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of the resource configuration.

        + */ + inline const ResourceConfigurationStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ResourceConfigurationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ResourceConfigurationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ResourceConfigurationSummary& WithStatus(const ResourceConfigurationStatus& value) { SetStatus(value); return *this;} + inline ResourceConfigurationSummary& WithStatus(ResourceConfigurationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The type of resource configuration.

        • SINGLE - A + * single resource.

        • GROUP - A group of + * resources.

        • CHILD - A single resource that is + * part of a group resource configuration.

        • ARN - An + * Amazon Web Services resource.

        + */ + inline const ResourceConfigurationType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const ResourceConfigurationType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(ResourceConfigurationType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline ResourceConfigurationSummary& WithType(const ResourceConfigurationType& value) { SetType(value); return *this;} + inline ResourceConfigurationSummary& WithType(ResourceConfigurationType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + bool m_amazonManaged; + bool m_amazonManagedHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt; + bool m_lastUpdatedAtHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_resourceConfigurationGroupId; + bool m_resourceConfigurationGroupIdHasBeenSet = false; + + Aws::String m_resourceGatewayId; + bool m_resourceGatewayIdHasBeenSet = false; + + ResourceConfigurationStatus m_status; + bool m_statusHasBeenSet = false; + + ResourceConfigurationType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationType.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationType.h new file mode 100644 index 00000000000..9fd3321a808 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceConfigurationType.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + enum class ResourceConfigurationType + { + NOT_SET, + GROUP, + CHILD, + SINGLE, + ARN + }; + +namespace ResourceConfigurationTypeMapper +{ +AWS_VPCLATTICE_API ResourceConfigurationType GetResourceConfigurationTypeForName(const Aws::String& name); + +AWS_VPCLATTICE_API Aws::String GetNameForResourceConfigurationType(ResourceConfigurationType value); +} // namespace ResourceConfigurationTypeMapper +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceEndpointAssociationSummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceEndpointAssociationSummary.h new file mode 100644 index 00000000000..a86d91c97a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceEndpointAssociationSummary.h @@ -0,0 +1,198 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + + /** + *

        Summary information about a VPC endpoint association.

        See + * Also:

        AWS + * API Reference

        + */ + class ResourceEndpointAssociationSummary + { + public: + AWS_VPCLATTICE_API ResourceEndpointAssociationSummary(); + AWS_VPCLATTICE_API ResourceEndpointAssociationSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API ResourceEndpointAssociationSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the VPC endpoint association.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline ResourceEndpointAssociationSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline ResourceEndpointAssociationSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline ResourceEndpointAssociationSummary& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The date and time that the VPC endpoint association was created, in ISO-8601 + * format.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ResourceEndpointAssociationSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ResourceEndpointAssociationSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The account that created the association.

        + */ + inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } + inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } + inline void SetCreatedBy(const Aws::String& value) { m_createdByHasBeenSet = true; m_createdBy = value; } + inline void SetCreatedBy(Aws::String&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } + inline void SetCreatedBy(const char* value) { m_createdByHasBeenSet = true; m_createdBy.assign(value); } + inline ResourceEndpointAssociationSummary& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} + inline ResourceEndpointAssociationSummary& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} + inline ResourceEndpointAssociationSummary& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the VPC endpoint association.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline ResourceEndpointAssociationSummary& WithId(const Aws::String& value) { SetId(value); return *this;} + inline ResourceEndpointAssociationSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline ResourceEndpointAssociationSummary& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationArn() const{ return m_resourceConfigurationArn; } + inline bool ResourceConfigurationArnHasBeenSet() const { return m_resourceConfigurationArnHasBeenSet; } + inline void SetResourceConfigurationArn(const Aws::String& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = value; } + inline void SetResourceConfigurationArn(Aws::String&& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = std::move(value); } + inline void SetResourceConfigurationArn(const char* value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn.assign(value); } + inline ResourceEndpointAssociationSummary& WithResourceConfigurationArn(const Aws::String& value) { SetResourceConfigurationArn(value); return *this;} + inline ResourceEndpointAssociationSummary& WithResourceConfigurationArn(Aws::String&& value) { SetResourceConfigurationArn(std::move(value)); return *this;} + inline ResourceEndpointAssociationSummary& WithResourceConfigurationArn(const char* value) { SetResourceConfigurationArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationId() const{ return m_resourceConfigurationId; } + inline bool ResourceConfigurationIdHasBeenSet() const { return m_resourceConfigurationIdHasBeenSet; } + inline void SetResourceConfigurationId(const Aws::String& value) { m_resourceConfigurationIdHasBeenSet = true; m_resourceConfigurationId = value; } + inline void SetResourceConfigurationId(Aws::String&& value) { m_resourceConfigurationIdHasBeenSet = true; m_resourceConfigurationId = std::move(value); } + inline void SetResourceConfigurationId(const char* value) { m_resourceConfigurationIdHasBeenSet = true; m_resourceConfigurationId.assign(value); } + inline ResourceEndpointAssociationSummary& WithResourceConfigurationId(const Aws::String& value) { SetResourceConfigurationId(value); return *this;} + inline ResourceEndpointAssociationSummary& WithResourceConfigurationId(Aws::String&& value) { SetResourceConfigurationId(std::move(value)); return *this;} + inline ResourceEndpointAssociationSummary& WithResourceConfigurationId(const char* value) { SetResourceConfigurationId(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationName() const{ return m_resourceConfigurationName; } + inline bool ResourceConfigurationNameHasBeenSet() const { return m_resourceConfigurationNameHasBeenSet; } + inline void SetResourceConfigurationName(const Aws::String& value) { m_resourceConfigurationNameHasBeenSet = true; m_resourceConfigurationName = value; } + inline void SetResourceConfigurationName(Aws::String&& value) { m_resourceConfigurationNameHasBeenSet = true; m_resourceConfigurationName = std::move(value); } + inline void SetResourceConfigurationName(const char* value) { m_resourceConfigurationNameHasBeenSet = true; m_resourceConfigurationName.assign(value); } + inline ResourceEndpointAssociationSummary& WithResourceConfigurationName(const Aws::String& value) { SetResourceConfigurationName(value); return *this;} + inline ResourceEndpointAssociationSummary& WithResourceConfigurationName(Aws::String&& value) { SetResourceConfigurationName(std::move(value)); return *this;} + inline ResourceEndpointAssociationSummary& WithResourceConfigurationName(const char* value) { SetResourceConfigurationName(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the VPC endpoint.

        + */ + inline const Aws::String& GetVpcEndpointId() const{ return m_vpcEndpointId; } + inline bool VpcEndpointIdHasBeenSet() const { return m_vpcEndpointIdHasBeenSet; } + inline void SetVpcEndpointId(const Aws::String& value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId = value; } + inline void SetVpcEndpointId(Aws::String&& value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId = std::move(value); } + inline void SetVpcEndpointId(const char* value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId.assign(value); } + inline ResourceEndpointAssociationSummary& WithVpcEndpointId(const Aws::String& value) { SetVpcEndpointId(value); return *this;} + inline ResourceEndpointAssociationSummary& WithVpcEndpointId(Aws::String&& value) { SetVpcEndpointId(std::move(value)); return *this;} + inline ResourceEndpointAssociationSummary& WithVpcEndpointId(const char* value) { SetVpcEndpointId(value); return *this;} + ///@} + + ///@{ + /** + *

        The owner of the VPC endpoint.

        + */ + inline const Aws::String& GetVpcEndpointOwner() const{ return m_vpcEndpointOwner; } + inline bool VpcEndpointOwnerHasBeenSet() const { return m_vpcEndpointOwnerHasBeenSet; } + inline void SetVpcEndpointOwner(const Aws::String& value) { m_vpcEndpointOwnerHasBeenSet = true; m_vpcEndpointOwner = value; } + inline void SetVpcEndpointOwner(Aws::String&& value) { m_vpcEndpointOwnerHasBeenSet = true; m_vpcEndpointOwner = std::move(value); } + inline void SetVpcEndpointOwner(const char* value) { m_vpcEndpointOwnerHasBeenSet = true; m_vpcEndpointOwner.assign(value); } + inline ResourceEndpointAssociationSummary& WithVpcEndpointOwner(const Aws::String& value) { SetVpcEndpointOwner(value); return *this;} + inline ResourceEndpointAssociationSummary& WithVpcEndpointOwner(Aws::String&& value) { SetVpcEndpointOwner(std::move(value)); return *this;} + inline ResourceEndpointAssociationSummary& WithVpcEndpointOwner(const char* value) { SetVpcEndpointOwner(value); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_createdBy; + bool m_createdByHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_resourceConfigurationArn; + bool m_resourceConfigurationArnHasBeenSet = false; + + Aws::String m_resourceConfigurationId; + bool m_resourceConfigurationIdHasBeenSet = false; + + Aws::String m_resourceConfigurationName; + bool m_resourceConfigurationNameHasBeenSet = false; + + Aws::String m_vpcEndpointId; + bool m_vpcEndpointIdHasBeenSet = false; + + Aws::String m_vpcEndpointOwner; + bool m_vpcEndpointOwnerHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewayIpAddressType.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewayIpAddressType.h new file mode 100644 index 00000000000..6e7d4b0d300 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewayIpAddressType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + enum class ResourceGatewayIpAddressType + { + NOT_SET, + IPV4, + IPV6, + DUALSTACK + }; + +namespace ResourceGatewayIpAddressTypeMapper +{ +AWS_VPCLATTICE_API ResourceGatewayIpAddressType GetResourceGatewayIpAddressTypeForName(const Aws::String& name); + +AWS_VPCLATTICE_API Aws::String GetNameForResourceGatewayIpAddressType(ResourceGatewayIpAddressType value); +} // namespace ResourceGatewayIpAddressTypeMapper +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewayStatus.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewayStatus.h new file mode 100644 index 00000000000..5ca1eb1395b --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewayStatus.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + enum class ResourceGatewayStatus + { + NOT_SET, + ACTIVE, + CREATE_IN_PROGRESS, + UPDATE_IN_PROGRESS, + DELETE_IN_PROGRESS, + CREATE_FAILED, + UPDATE_FAILED, + DELETE_FAILED + }; + +namespace ResourceGatewayStatusMapper +{ +AWS_VPCLATTICE_API ResourceGatewayStatus GetResourceGatewayStatusForName(const Aws::String& name); + +AWS_VPCLATTICE_API Aws::String GetNameForResourceGatewayStatus(ResourceGatewayStatus value); +} // namespace ResourceGatewayStatusMapper +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewaySummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewaySummary.h new file mode 100644 index 00000000000..0c133e678a4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ResourceGatewaySummary.h @@ -0,0 +1,214 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + + /** + *

        Summary information about a resource gateway.

        See Also:

        AWS + * API Reference

        + */ + class ResourceGatewaySummary + { + public: + AWS_VPCLATTICE_API ResourceGatewaySummary(); + AWS_VPCLATTICE_API ResourceGatewaySummary(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API ResourceGatewaySummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource gateway.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline ResourceGatewaySummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline ResourceGatewaySummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline ResourceGatewaySummary& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The date and time that the VPC endpoint association was created, in ISO-8601 + * format.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ResourceGatewaySummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ResourceGatewaySummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource gateway.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline ResourceGatewaySummary& WithId(const Aws::String& value) { SetId(value); return *this;} + inline ResourceGatewaySummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline ResourceGatewaySummary& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of IP address used by the resource gateway.

        + */ + inline const ResourceGatewayIpAddressType& GetIpAddressType() const{ return m_ipAddressType; } + inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; } + inline void SetIpAddressType(const ResourceGatewayIpAddressType& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; } + inline void SetIpAddressType(ResourceGatewayIpAddressType&& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = std::move(value); } + inline ResourceGatewaySummary& WithIpAddressType(const ResourceGatewayIpAddressType& value) { SetIpAddressType(value); return *this;} + inline ResourceGatewaySummary& WithIpAddressType(ResourceGatewayIpAddressType&& value) { SetIpAddressType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The most recent date and time that the resource gateway was updated, in + * ISO-8601 format.

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); } + inline ResourceGatewaySummary& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline ResourceGatewaySummary& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource gateway.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline ResourceGatewaySummary& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ResourceGatewaySummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ResourceGatewaySummary& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The IDs of the security groups applied to the resource gateway.

        + */ + inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } + inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } + inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } + inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } + inline ResourceGatewaySummary& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} + inline ResourceGatewaySummary& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} + inline ResourceGatewaySummary& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + inline ResourceGatewaySummary& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } + inline ResourceGatewaySummary& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The name of the resource gateway.

        + */ + inline const ResourceGatewayStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ResourceGatewayStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ResourceGatewayStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ResourceGatewaySummary& WithStatus(const ResourceGatewayStatus& value) { SetStatus(value); return *this;} + inline ResourceGatewaySummary& WithStatus(ResourceGatewayStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The IDs of the VPC subnets for the resource gateway.

        + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline ResourceGatewaySummary& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline ResourceGatewaySummary& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline ResourceGatewaySummary& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline ResourceGatewaySummary& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline ResourceGatewaySummary& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The ID of the VPC for the resource gateway.

        + */ + inline const Aws::String& GetVpcIdentifier() const{ return m_vpcIdentifier; } + inline bool VpcIdentifierHasBeenSet() const { return m_vpcIdentifierHasBeenSet; } + inline void SetVpcIdentifier(const Aws::String& value) { m_vpcIdentifierHasBeenSet = true; m_vpcIdentifier = value; } + inline void SetVpcIdentifier(Aws::String&& value) { m_vpcIdentifierHasBeenSet = true; m_vpcIdentifier = std::move(value); } + inline void SetVpcIdentifier(const char* value) { m_vpcIdentifierHasBeenSet = true; m_vpcIdentifier.assign(value); } + inline ResourceGatewaySummary& WithVpcIdentifier(const Aws::String& value) { SetVpcIdentifier(value); return *this;} + inline ResourceGatewaySummary& WithVpcIdentifier(Aws::String&& value) { SetVpcIdentifier(std::move(value)); return *this;} + inline ResourceGatewaySummary& WithVpcIdentifier(const char* value) { SetVpcIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + ResourceGatewayIpAddressType m_ipAddressType; + bool m_ipAddressTypeHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt; + bool m_lastUpdatedAtHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_securityGroupIds; + bool m_securityGroupIdsHasBeenSet = false; + + ResourceGatewayStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + + Aws::String m_vpcIdentifier; + bool m_vpcIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleSummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleSummary.h index cdc7a6f4fad..8fc5aa6e683 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleSummary.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleSummary.h @@ -25,7 +25,7 @@ namespace Model { /** - *

        Summary information about the listener rule.

        See Also:

        Summary information about a listener rule.

        See Also:

        AWS * API Reference

        */ @@ -54,8 +54,7 @@ namespace Model ///@{ /** - *

        The date and time that the listener rule was created, specified in ISO-8601 - * format.

        + *

        The date and time that the listener rule was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } @@ -91,8 +90,8 @@ namespace Model ///@{ /** - *

        The date and time that the listener rule was last updated, specified in - * ISO-8601 format.

        + *

        The date and time that the listener rule was last updated, in ISO-8601 + * format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleUpdate.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleUpdate.h index f49dfa21760..145ed516b6e 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleUpdate.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleUpdate.h @@ -76,7 +76,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the rule.

        + *

        The ID or ARN of the rule.

        */ inline const Aws::String& GetRuleIdentifier() const{ return m_ruleIdentifier; } inline bool RuleIdentifierHasBeenSet() const { return m_ruleIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleUpdateFailure.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleUpdateFailure.h index 8bb8ddbe64c..fd723aa4c9b 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleUpdateFailure.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/RuleUpdateFailure.h @@ -67,7 +67,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the rule.

        + *

        The ID or ARN of the rule.

        */ inline const Aws::String& GetRuleIdentifier() const{ return m_ruleIdentifier; } inline bool RuleIdentifierHasBeenSet() const { return m_ruleIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkEndpointAssociation.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkEndpointAssociation.h new file mode 100644 index 00000000000..1cccb0eac50 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkEndpointAssociation.h @@ -0,0 +1,163 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + + /** + *

        Describes the association between a service network and a VPC + * endpoint.

        See Also:

        AWS + * API Reference

        + */ + class ServiceNetworkEndpointAssociation + { + public: + AWS_VPCLATTICE_API ServiceNetworkEndpointAssociation(); + AWS_VPCLATTICE_API ServiceNetworkEndpointAssociation(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API ServiceNetworkEndpointAssociation& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The date and time that the association was created, in ISO-8601 format.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ServiceNetworkEndpointAssociation& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ServiceNetworkEndpointAssociation& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the association.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline ServiceNetworkEndpointAssociation& WithId(const Aws::String& value) { SetId(value); return *this;} + inline ServiceNetworkEndpointAssociation& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline ServiceNetworkEndpointAssociation& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the service network.

        + */ + inline const Aws::String& GetServiceNetworkArn() const{ return m_serviceNetworkArn; } + inline bool ServiceNetworkArnHasBeenSet() const { return m_serviceNetworkArnHasBeenSet; } + inline void SetServiceNetworkArn(const Aws::String& value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn = value; } + inline void SetServiceNetworkArn(Aws::String&& value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn = std::move(value); } + inline void SetServiceNetworkArn(const char* value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn.assign(value); } + inline ServiceNetworkEndpointAssociation& WithServiceNetworkArn(const Aws::String& value) { SetServiceNetworkArn(value); return *this;} + inline ServiceNetworkEndpointAssociation& WithServiceNetworkArn(Aws::String&& value) { SetServiceNetworkArn(std::move(value)); return *this;} + inline ServiceNetworkEndpointAssociation& WithServiceNetworkArn(const char* value) { SetServiceNetworkArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The state of the association.

        + */ + inline const Aws::String& GetState() const{ return m_state; } + inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } + inline void SetState(const Aws::String& value) { m_stateHasBeenSet = true; m_state = value; } + inline void SetState(Aws::String&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } + inline void SetState(const char* value) { m_stateHasBeenSet = true; m_state.assign(value); } + inline ServiceNetworkEndpointAssociation& WithState(const Aws::String& value) { SetState(value); return *this;} + inline ServiceNetworkEndpointAssociation& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;} + inline ServiceNetworkEndpointAssociation& WithState(const char* value) { SetState(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the VPC endpoint associated with the service network.

        + */ + inline const Aws::String& GetVpcEndpointId() const{ return m_vpcEndpointId; } + inline bool VpcEndpointIdHasBeenSet() const { return m_vpcEndpointIdHasBeenSet; } + inline void SetVpcEndpointId(const Aws::String& value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId = value; } + inline void SetVpcEndpointId(Aws::String&& value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId = std::move(value); } + inline void SetVpcEndpointId(const char* value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId.assign(value); } + inline ServiceNetworkEndpointAssociation& WithVpcEndpointId(const Aws::String& value) { SetVpcEndpointId(value); return *this;} + inline ServiceNetworkEndpointAssociation& WithVpcEndpointId(Aws::String&& value) { SetVpcEndpointId(std::move(value)); return *this;} + inline ServiceNetworkEndpointAssociation& WithVpcEndpointId(const char* value) { SetVpcEndpointId(value); return *this;} + ///@} + + ///@{ + /** + *

        The owner of the VPC endpoint associated with the service network.

        + */ + inline const Aws::String& GetVpcEndpointOwnerId() const{ return m_vpcEndpointOwnerId; } + inline bool VpcEndpointOwnerIdHasBeenSet() const { return m_vpcEndpointOwnerIdHasBeenSet; } + inline void SetVpcEndpointOwnerId(const Aws::String& value) { m_vpcEndpointOwnerIdHasBeenSet = true; m_vpcEndpointOwnerId = value; } + inline void SetVpcEndpointOwnerId(Aws::String&& value) { m_vpcEndpointOwnerIdHasBeenSet = true; m_vpcEndpointOwnerId = std::move(value); } + inline void SetVpcEndpointOwnerId(const char* value) { m_vpcEndpointOwnerIdHasBeenSet = true; m_vpcEndpointOwnerId.assign(value); } + inline ServiceNetworkEndpointAssociation& WithVpcEndpointOwnerId(const Aws::String& value) { SetVpcEndpointOwnerId(value); return *this;} + inline ServiceNetworkEndpointAssociation& WithVpcEndpointOwnerId(Aws::String&& value) { SetVpcEndpointOwnerId(std::move(value)); return *this;} + inline ServiceNetworkEndpointAssociation& WithVpcEndpointOwnerId(const char* value) { SetVpcEndpointOwnerId(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the VPC for the association.

        + */ + inline const Aws::String& GetVpcId() const{ return m_vpcId; } + inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } + inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } + inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } + inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } + inline ServiceNetworkEndpointAssociation& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} + inline ServiceNetworkEndpointAssociation& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} + inline ServiceNetworkEndpointAssociation& WithVpcId(const char* value) { SetVpcId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_serviceNetworkArn; + bool m_serviceNetworkArnHasBeenSet = false; + + Aws::String m_state; + bool m_stateHasBeenSet = false; + + Aws::String m_vpcEndpointId; + bool m_vpcEndpointIdHasBeenSet = false; + + Aws::String m_vpcEndpointOwnerId; + bool m_vpcEndpointOwnerIdHasBeenSet = false; + + Aws::String m_vpcId; + bool m_vpcIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkLogType.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkLogType.h new file mode 100644 index 00000000000..4501326b95b --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkLogType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + enum class ServiceNetworkLogType + { + NOT_SET, + SERVICE, + RESOURCE + }; + +namespace ServiceNetworkLogTypeMapper +{ +AWS_VPCLATTICE_API ServiceNetworkLogType GetServiceNetworkLogTypeForName(const Aws::String& name); + +AWS_VPCLATTICE_API Aws::String GetNameForServiceNetworkLogType(ServiceNetworkLogType value); +} // namespace ServiceNetworkLogTypeMapper +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkResourceAssociationStatus.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkResourceAssociationStatus.h new file mode 100644 index 00000000000..55d4e317905 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkResourceAssociationStatus.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + enum class ServiceNetworkResourceAssociationStatus + { + NOT_SET, + CREATE_IN_PROGRESS, + ACTIVE, + PARTIAL, + DELETE_IN_PROGRESS, + CREATE_FAILED, + DELETE_FAILED + }; + +namespace ServiceNetworkResourceAssociationStatusMapper +{ +AWS_VPCLATTICE_API ServiceNetworkResourceAssociationStatus GetServiceNetworkResourceAssociationStatusForName(const Aws::String& name); + +AWS_VPCLATTICE_API Aws::String GetNameForServiceNetworkResourceAssociationStatus(ServiceNetworkResourceAssociationStatus value); +} // namespace ServiceNetworkResourceAssociationStatusMapper +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkResourceAssociationSummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkResourceAssociationSummary.h new file mode 100644 index 00000000000..20eb2582685 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkResourceAssociationSummary.h @@ -0,0 +1,296 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + + /** + *

        Summary information about an association between a service network and a + * resource configuration.

        See Also:

        AWS + * API Reference

        + */ + class ServiceNetworkResourceAssociationSummary + { + public: + AWS_VPCLATTICE_API ServiceNetworkResourceAssociationSummary(); + AWS_VPCLATTICE_API ServiceNetworkResourceAssociationSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API ServiceNetworkResourceAssociationSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the association.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline ServiceNetworkResourceAssociationSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The date and time that the association was created, in ISO-8601 format.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ServiceNetworkResourceAssociationSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The account that created the association.

        + */ + inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } + inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } + inline void SetCreatedBy(const Aws::String& value) { m_createdByHasBeenSet = true; m_createdBy = value; } + inline void SetCreatedBy(Aws::String&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } + inline void SetCreatedBy(const char* value) { m_createdByHasBeenSet = true; m_createdBy.assign(value); } + inline ServiceNetworkResourceAssociationSummary& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

        The DNS entry for the service.

        + */ + inline const DnsEntry& GetDnsEntry() const{ return m_dnsEntry; } + inline bool DnsEntryHasBeenSet() const { return m_dnsEntryHasBeenSet; } + inline void SetDnsEntry(const DnsEntry& value) { m_dnsEntryHasBeenSet = true; m_dnsEntry = value; } + inline void SetDnsEntry(DnsEntry&& value) { m_dnsEntryHasBeenSet = true; m_dnsEntry = std::move(value); } + inline ServiceNetworkResourceAssociationSummary& WithDnsEntry(const DnsEntry& value) { SetDnsEntry(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithDnsEntry(DnsEntry&& value) { SetDnsEntry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The failure code.

        + */ + inline const Aws::String& GetFailureCode() const{ return m_failureCode; } + inline bool FailureCodeHasBeenSet() const { return m_failureCodeHasBeenSet; } + inline void SetFailureCode(const Aws::String& value) { m_failureCodeHasBeenSet = true; m_failureCode = value; } + inline void SetFailureCode(Aws::String&& value) { m_failureCodeHasBeenSet = true; m_failureCode = std::move(value); } + inline void SetFailureCode(const char* value) { m_failureCodeHasBeenSet = true; m_failureCode.assign(value); } + inline ServiceNetworkResourceAssociationSummary& WithFailureCode(const Aws::String& value) { SetFailureCode(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithFailureCode(Aws::String&& value) { SetFailureCode(std::move(value)); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithFailureCode(const char* value) { SetFailureCode(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the association between the service network and resource + * configuration.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline ServiceNetworkResourceAssociationSummary& WithId(const Aws::String& value) { SetId(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        Specifies whether the association is managed by Amazon.

        + */ + inline bool GetIsManagedAssociation() const{ return m_isManagedAssociation; } + inline bool IsManagedAssociationHasBeenSet() const { return m_isManagedAssociationHasBeenSet; } + inline void SetIsManagedAssociation(bool value) { m_isManagedAssociationHasBeenSet = true; m_isManagedAssociation = value; } + inline ServiceNetworkResourceAssociationSummary& WithIsManagedAssociation(bool value) { SetIsManagedAssociation(value); return *this;} + ///@} + + ///@{ + /** + *

        The private DNS entry for the service.

        + */ + inline const DnsEntry& GetPrivateDnsEntry() const{ return m_privateDnsEntry; } + inline bool PrivateDnsEntryHasBeenSet() const { return m_privateDnsEntryHasBeenSet; } + inline void SetPrivateDnsEntry(const DnsEntry& value) { m_privateDnsEntryHasBeenSet = true; m_privateDnsEntry = value; } + inline void SetPrivateDnsEntry(DnsEntry&& value) { m_privateDnsEntryHasBeenSet = true; m_privateDnsEntry = std::move(value); } + inline ServiceNetworkResourceAssociationSummary& WithPrivateDnsEntry(const DnsEntry& value) { SetPrivateDnsEntry(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithPrivateDnsEntry(DnsEntry&& value) { SetPrivateDnsEntry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the association.

        + */ + inline const Aws::String& GetResourceConfigurationArn() const{ return m_resourceConfigurationArn; } + inline bool ResourceConfigurationArnHasBeenSet() const { return m_resourceConfigurationArnHasBeenSet; } + inline void SetResourceConfigurationArn(const Aws::String& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = value; } + inline void SetResourceConfigurationArn(Aws::String&& value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn = std::move(value); } + inline void SetResourceConfigurationArn(const char* value) { m_resourceConfigurationArnHasBeenSet = true; m_resourceConfigurationArn.assign(value); } + inline ServiceNetworkResourceAssociationSummary& WithResourceConfigurationArn(const Aws::String& value) { SetResourceConfigurationArn(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithResourceConfigurationArn(Aws::String&& value) { SetResourceConfigurationArn(std::move(value)); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithResourceConfigurationArn(const char* value) { SetResourceConfigurationArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource configuration associated with the service network.

        + */ + inline const Aws::String& GetResourceConfigurationId() const{ return m_resourceConfigurationId; } + inline bool ResourceConfigurationIdHasBeenSet() const { return m_resourceConfigurationIdHasBeenSet; } + inline void SetResourceConfigurationId(const Aws::String& value) { m_resourceConfigurationIdHasBeenSet = true; m_resourceConfigurationId = value; } + inline void SetResourceConfigurationId(Aws::String&& value) { m_resourceConfigurationIdHasBeenSet = true; m_resourceConfigurationId = std::move(value); } + inline void SetResourceConfigurationId(const char* value) { m_resourceConfigurationIdHasBeenSet = true; m_resourceConfigurationId.assign(value); } + inline ServiceNetworkResourceAssociationSummary& WithResourceConfigurationId(const Aws::String& value) { SetResourceConfigurationId(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithResourceConfigurationId(Aws::String&& value) { SetResourceConfigurationId(std::move(value)); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithResourceConfigurationId(const char* value) { SetResourceConfigurationId(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource configuration associated with the service + * network.

        + */ + inline const Aws::String& GetResourceConfigurationName() const{ return m_resourceConfigurationName; } + inline bool ResourceConfigurationNameHasBeenSet() const { return m_resourceConfigurationNameHasBeenSet; } + inline void SetResourceConfigurationName(const Aws::String& value) { m_resourceConfigurationNameHasBeenSet = true; m_resourceConfigurationName = value; } + inline void SetResourceConfigurationName(Aws::String&& value) { m_resourceConfigurationNameHasBeenSet = true; m_resourceConfigurationName = std::move(value); } + inline void SetResourceConfigurationName(const char* value) { m_resourceConfigurationNameHasBeenSet = true; m_resourceConfigurationName.assign(value); } + inline ServiceNetworkResourceAssociationSummary& WithResourceConfigurationName(const Aws::String& value) { SetResourceConfigurationName(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithResourceConfigurationName(Aws::String&& value) { SetResourceConfigurationName(std::move(value)); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithResourceConfigurationName(const char* value) { SetResourceConfigurationName(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the service network associated with the + * resource configuration.

        + */ + inline const Aws::String& GetServiceNetworkArn() const{ return m_serviceNetworkArn; } + inline bool ServiceNetworkArnHasBeenSet() const { return m_serviceNetworkArnHasBeenSet; } + inline void SetServiceNetworkArn(const Aws::String& value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn = value; } + inline void SetServiceNetworkArn(Aws::String&& value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn = std::move(value); } + inline void SetServiceNetworkArn(const char* value) { m_serviceNetworkArnHasBeenSet = true; m_serviceNetworkArn.assign(value); } + inline ServiceNetworkResourceAssociationSummary& WithServiceNetworkArn(const Aws::String& value) { SetServiceNetworkArn(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithServiceNetworkArn(Aws::String&& value) { SetServiceNetworkArn(std::move(value)); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithServiceNetworkArn(const char* value) { SetServiceNetworkArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the service network associated with the resource configuration.

        + */ + inline const Aws::String& GetServiceNetworkId() const{ return m_serviceNetworkId; } + inline bool ServiceNetworkIdHasBeenSet() const { return m_serviceNetworkIdHasBeenSet; } + inline void SetServiceNetworkId(const Aws::String& value) { m_serviceNetworkIdHasBeenSet = true; m_serviceNetworkId = value; } + inline void SetServiceNetworkId(Aws::String&& value) { m_serviceNetworkIdHasBeenSet = true; m_serviceNetworkId = std::move(value); } + inline void SetServiceNetworkId(const char* value) { m_serviceNetworkIdHasBeenSet = true; m_serviceNetworkId.assign(value); } + inline ServiceNetworkResourceAssociationSummary& WithServiceNetworkId(const Aws::String& value) { SetServiceNetworkId(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithServiceNetworkId(Aws::String&& value) { SetServiceNetworkId(std::move(value)); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithServiceNetworkId(const char* value) { SetServiceNetworkId(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the service network associated with the resource + * configuration.

        + */ + inline const Aws::String& GetServiceNetworkName() const{ return m_serviceNetworkName; } + inline bool ServiceNetworkNameHasBeenSet() const { return m_serviceNetworkNameHasBeenSet; } + inline void SetServiceNetworkName(const Aws::String& value) { m_serviceNetworkNameHasBeenSet = true; m_serviceNetworkName = value; } + inline void SetServiceNetworkName(Aws::String&& value) { m_serviceNetworkNameHasBeenSet = true; m_serviceNetworkName = std::move(value); } + inline void SetServiceNetworkName(const char* value) { m_serviceNetworkNameHasBeenSet = true; m_serviceNetworkName.assign(value); } + inline ServiceNetworkResourceAssociationSummary& WithServiceNetworkName(const Aws::String& value) { SetServiceNetworkName(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithServiceNetworkName(Aws::String&& value) { SetServiceNetworkName(std::move(value)); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithServiceNetworkName(const char* value) { SetServiceNetworkName(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of the service network associated with the resource + * configuration.

        + */ + inline const ServiceNetworkResourceAssociationStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ServiceNetworkResourceAssociationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ServiceNetworkResourceAssociationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ServiceNetworkResourceAssociationSummary& WithStatus(const ServiceNetworkResourceAssociationStatus& value) { SetStatus(value); return *this;} + inline ServiceNetworkResourceAssociationSummary& WithStatus(ServiceNetworkResourceAssociationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_createdBy; + bool m_createdByHasBeenSet = false; + + DnsEntry m_dnsEntry; + bool m_dnsEntryHasBeenSet = false; + + Aws::String m_failureCode; + bool m_failureCodeHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + bool m_isManagedAssociation; + bool m_isManagedAssociationHasBeenSet = false; + + DnsEntry m_privateDnsEntry; + bool m_privateDnsEntryHasBeenSet = false; + + Aws::String m_resourceConfigurationArn; + bool m_resourceConfigurationArnHasBeenSet = false; + + Aws::String m_resourceConfigurationId; + bool m_resourceConfigurationIdHasBeenSet = false; + + Aws::String m_resourceConfigurationName; + bool m_resourceConfigurationNameHasBeenSet = false; + + Aws::String m_serviceNetworkArn; + bool m_serviceNetworkArnHasBeenSet = false; + + Aws::String m_serviceNetworkId; + bool m_serviceNetworkIdHasBeenSet = false; + + Aws::String m_serviceNetworkName; + bool m_serviceNetworkNameHasBeenSet = false; + + ServiceNetworkResourceAssociationStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkServiceAssociationSummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkServiceAssociationSummary.h index 08cbdf407ca..42a3722263a 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkServiceAssociationSummary.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkServiceAssociationSummary.h @@ -27,7 +27,7 @@ namespace Model { /** - *

        Summary information about the association between a service network and a + *

        Summary information about an association between a service network and a * service.

        See Also:

        AWS * API Reference

        @@ -57,8 +57,7 @@ namespace Model ///@{ /** - *

        The date and time that the association was created, specified in ISO-8601 - * format.

        + *

        The date and time that the association was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkSummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkSummary.h index 62cebca3d4c..d3d1013ad66 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkSummary.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkSummary.h @@ -54,7 +54,7 @@ namespace Model ///@{ /** - *

        The date and time that the service network was created, specified in ISO-8601 + *

        The date and time that the service network was created, in ISO-8601 * format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } @@ -81,8 +81,8 @@ namespace Model ///@{ /** - *

        The date and time that the service network was last updated, specified in - * ISO-8601 format.

        + *

        The date and time that the service network was last updated, in ISO-8601 + * format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } @@ -106,6 +106,16 @@ namespace Model inline ServiceNetworkSummary& WithName(const char* value) { SetName(value); return *this;} ///@} + ///@{ + /** + *

        The number of resource configurations associated with a service network.

        + */ + inline long long GetNumberOfAssociatedResourceConfigurations() const{ return m_numberOfAssociatedResourceConfigurations; } + inline bool NumberOfAssociatedResourceConfigurationsHasBeenSet() const { return m_numberOfAssociatedResourceConfigurationsHasBeenSet; } + inline void SetNumberOfAssociatedResourceConfigurations(long long value) { m_numberOfAssociatedResourceConfigurationsHasBeenSet = true; m_numberOfAssociatedResourceConfigurations = value; } + inline ServiceNetworkSummary& WithNumberOfAssociatedResourceConfigurations(long long value) { SetNumberOfAssociatedResourceConfigurations(value); return *this;} + ///@} + ///@{ /** *

        The number of services associated with the service network.

        @@ -142,6 +152,9 @@ namespace Model Aws::String m_name; bool m_nameHasBeenSet = false; + long long m_numberOfAssociatedResourceConfigurations; + bool m_numberOfAssociatedResourceConfigurationsHasBeenSet = false; + long long m_numberOfAssociatedServices; bool m_numberOfAssociatedServicesHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkVpcAssociationSummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkVpcAssociationSummary.h index 64239c1bf39..10d076236b5 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkVpcAssociationSummary.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceNetworkVpcAssociationSummary.h @@ -56,8 +56,7 @@ namespace Model ///@{ /** - *

        The date and time that the association was created, specified in ISO-8601 - * format.

        + *

        The date and time that the association was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } @@ -97,8 +96,8 @@ namespace Model ///@{ /** - *

        The date and time that the association was last updated, specified in - * ISO-8601 format.

        + *

        The date and time that the association was last updated, in ISO-8601 + * format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceSummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceSummary.h index 00c8c1d2460..2abe3b6aa8e 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceSummary.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/ServiceSummary.h @@ -56,8 +56,7 @@ namespace Model ///@{ /** - *

        The date and time that the service was created, specified in ISO-8601 - * format.

        + *

        The date and time that the service was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } @@ -109,8 +108,7 @@ namespace Model ///@{ /** - *

        The date and time that the service was last updated. The format is - * ISO-8601.

        + *

        The date and time that the service was last updated, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/SharingConfig.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/SharingConfig.h new file mode 100644 index 00000000000..884d1bcd48a --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/SharingConfig.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + + /** + *

        Specifies if the service network should be enabled for sharing.

        See + * Also:

        AWS + * API Reference

        + */ + class SharingConfig + { + public: + AWS_VPCLATTICE_API SharingConfig(); + AWS_VPCLATTICE_API SharingConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API SharingConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Specifies if the service network is enabled for sharing.

        + */ + inline bool GetEnabled() const{ return m_enabled; } + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + inline SharingConfig& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + private: + + bool m_enabled; + bool m_enabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/TargetGroupSummary.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/TargetGroupSummary.h index 2b226324972..13f8b89db0d 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/TargetGroupSummary.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/TargetGroupSummary.h @@ -63,8 +63,7 @@ namespace Model ///@{ /** - *

        The date and time that the target group was created, specified in ISO-8601 - * format.

        + *

        The date and time that the target group was created, in ISO-8601 format.

        */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } @@ -117,8 +116,8 @@ namespace Model ///@{ /** - *

        The date and time that the target group was last updated, specified in - * ISO-8601 format.

        + *

        The date and time that the target group was last updated, in ISO-8601 + * format.

        */ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateAccessLogSubscriptionRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateAccessLogSubscriptionRequest.h index e0e681119c9..66a2686982a 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateAccessLogSubscriptionRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateAccessLogSubscriptionRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the access log subscription.

        + *

        The ID or ARN of the access log subscription.

        */ inline const Aws::String& GetAccessLogSubscriptionIdentifier() const{ return m_accessLogSubscriptionIdentifier; } inline bool AccessLogSubscriptionIdentifierHasBeenSet() const { return m_accessLogSubscriptionIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateListenerRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateListenerRequest.h index e37b4550185..a1bf153ee60 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateListenerRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateListenerRequest.h @@ -47,7 +47,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the listener.

        + *

        The ID or ARN of the listener.

        */ inline const Aws::String& GetListenerIdentifier() const{ return m_listenerIdentifier; } inline bool ListenerIdentifierHasBeenSet() const { return m_listenerIdentifierHasBeenSet; } @@ -61,7 +61,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceConfigurationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceConfigurationRequest.h new file mode 100644 index 00000000000..2a7c21bbe09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceConfigurationRequest.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class UpdateResourceConfigurationRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API UpdateResourceConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateResourceConfiguration"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        Indicates whether to add the resource configuration to service networks that + * are shared with other accounts.

        + */ + inline bool GetAllowAssociationToShareableServiceNetwork() const{ return m_allowAssociationToShareableServiceNetwork; } + inline bool AllowAssociationToShareableServiceNetworkHasBeenSet() const { return m_allowAssociationToShareableServiceNetworkHasBeenSet; } + inline void SetAllowAssociationToShareableServiceNetwork(bool value) { m_allowAssociationToShareableServiceNetworkHasBeenSet = true; m_allowAssociationToShareableServiceNetwork = value; } + inline UpdateResourceConfigurationRequest& WithAllowAssociationToShareableServiceNetwork(bool value) { SetAllowAssociationToShareableServiceNetwork(value); return *this;} + ///@} + + ///@{ + /** + *

        The TCP port ranges that a consumer can use to access a resource + * configuration. You can separate port ranges with a comma. Example: 1-65535 or + * 1,2,22-30

        + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } + inline UpdateResourceConfigurationRequest& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline UpdateResourceConfigurationRequest& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline UpdateResourceConfigurationRequest& AddPortRanges(const Aws::String& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + inline UpdateResourceConfigurationRequest& AddPortRanges(Aws::String&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } + inline UpdateResourceConfigurationRequest& AddPortRanges(const char* value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The resource configuration.

        + */ + inline const ResourceConfigurationDefinition& GetResourceConfigurationDefinition() const{ return m_resourceConfigurationDefinition; } + inline bool ResourceConfigurationDefinitionHasBeenSet() const { return m_resourceConfigurationDefinitionHasBeenSet; } + inline void SetResourceConfigurationDefinition(const ResourceConfigurationDefinition& value) { m_resourceConfigurationDefinitionHasBeenSet = true; m_resourceConfigurationDefinition = value; } + inline void SetResourceConfigurationDefinition(ResourceConfigurationDefinition&& value) { m_resourceConfigurationDefinitionHasBeenSet = true; m_resourceConfigurationDefinition = std::move(value); } + inline UpdateResourceConfigurationRequest& WithResourceConfigurationDefinition(const ResourceConfigurationDefinition& value) { SetResourceConfigurationDefinition(value); return *this;} + inline UpdateResourceConfigurationRequest& WithResourceConfigurationDefinition(ResourceConfigurationDefinition&& value) { SetResourceConfigurationDefinition(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationIdentifier() const{ return m_resourceConfigurationIdentifier; } + inline bool ResourceConfigurationIdentifierHasBeenSet() const { return m_resourceConfigurationIdentifierHasBeenSet; } + inline void SetResourceConfigurationIdentifier(const Aws::String& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = value; } + inline void SetResourceConfigurationIdentifier(Aws::String&& value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier = std::move(value); } + inline void SetResourceConfigurationIdentifier(const char* value) { m_resourceConfigurationIdentifierHasBeenSet = true; m_resourceConfigurationIdentifier.assign(value); } + inline UpdateResourceConfigurationRequest& WithResourceConfigurationIdentifier(const Aws::String& value) { SetResourceConfigurationIdentifier(value); return *this;} + inline UpdateResourceConfigurationRequest& WithResourceConfigurationIdentifier(Aws::String&& value) { SetResourceConfigurationIdentifier(std::move(value)); return *this;} + inline UpdateResourceConfigurationRequest& WithResourceConfigurationIdentifier(const char* value) { SetResourceConfigurationIdentifier(value); return *this;} + ///@} + private: + + bool m_allowAssociationToShareableServiceNetwork; + bool m_allowAssociationToShareableServiceNetworkHasBeenSet = false; + + Aws::Vector m_portRanges; + bool m_portRangesHasBeenSet = false; + + ResourceConfigurationDefinition m_resourceConfigurationDefinition; + bool m_resourceConfigurationDefinitionHasBeenSet = false; + + Aws::String m_resourceConfigurationIdentifier; + bool m_resourceConfigurationIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceConfigurationResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceConfigurationResult.h new file mode 100644 index 00000000000..05ca404b359 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceConfigurationResult.h @@ -0,0 +1,219 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class UpdateResourceConfigurationResult + { + public: + AWS_VPCLATTICE_API UpdateResourceConfigurationResult(); + AWS_VPCLATTICE_API UpdateResourceConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API UpdateResourceConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Indicates whether to add the resource configuration to service networks that + * are shared with other accounts.

        + */ + inline bool GetAllowAssociationToShareableServiceNetwork() const{ return m_allowAssociationToShareableServiceNetwork; } + inline void SetAllowAssociationToShareableServiceNetwork(bool value) { m_allowAssociationToShareableServiceNetwork = value; } + inline UpdateResourceConfigurationResult& WithAllowAssociationToShareableServiceNetwork(bool value) { SetAllowAssociationToShareableServiceNetwork(value); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource configuration.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline UpdateResourceConfigurationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline UpdateResourceConfigurationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline UpdateResourceConfigurationResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource configuration.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline void SetId(const Aws::String& value) { m_id = value; } + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + inline void SetId(const char* value) { m_id.assign(value); } + inline UpdateResourceConfigurationResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline UpdateResourceConfigurationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline UpdateResourceConfigurationResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource configuration.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline void SetName(const Aws::String& value) { m_name = value; } + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + inline void SetName(const char* value) { m_name.assign(value); } + inline UpdateResourceConfigurationResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline UpdateResourceConfigurationResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline UpdateResourceConfigurationResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The TCP port ranges that a consumer can use to access a resource + * configuration. You can separate port ranges with a comma. Example: 1-65535 or + * 1,2,22-30

        + */ + inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } + inline void SetPortRanges(const Aws::Vector& value) { m_portRanges = value; } + inline void SetPortRanges(Aws::Vector&& value) { m_portRanges = std::move(value); } + inline UpdateResourceConfigurationResult& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} + inline UpdateResourceConfigurationResult& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} + inline UpdateResourceConfigurationResult& AddPortRanges(const Aws::String& value) { m_portRanges.push_back(value); return *this; } + inline UpdateResourceConfigurationResult& AddPortRanges(Aws::String&& value) { m_portRanges.push_back(std::move(value)); return *this; } + inline UpdateResourceConfigurationResult& AddPortRanges(const char* value) { m_portRanges.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The TCP protocol accepted by the specified resource configuration.

        + */ + inline const ProtocolType& GetProtocol() const{ return m_protocol; } + inline void SetProtocol(const ProtocolType& value) { m_protocol = value; } + inline void SetProtocol(ProtocolType&& value) { m_protocol = std::move(value); } + inline UpdateResourceConfigurationResult& WithProtocol(const ProtocolType& value) { SetProtocol(value); return *this;} + inline UpdateResourceConfigurationResult& WithProtocol(ProtocolType&& value) { SetProtocol(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The resource configuration.

        + */ + inline const ResourceConfigurationDefinition& GetResourceConfigurationDefinition() const{ return m_resourceConfigurationDefinition; } + inline void SetResourceConfigurationDefinition(const ResourceConfigurationDefinition& value) { m_resourceConfigurationDefinition = value; } + inline void SetResourceConfigurationDefinition(ResourceConfigurationDefinition&& value) { m_resourceConfigurationDefinition = std::move(value); } + inline UpdateResourceConfigurationResult& WithResourceConfigurationDefinition(const ResourceConfigurationDefinition& value) { SetResourceConfigurationDefinition(value); return *this;} + inline UpdateResourceConfigurationResult& WithResourceConfigurationDefinition(ResourceConfigurationDefinition&& value) { SetResourceConfigurationDefinition(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the group resource configuration.

        + */ + inline const Aws::String& GetResourceConfigurationGroupId() const{ return m_resourceConfigurationGroupId; } + inline void SetResourceConfigurationGroupId(const Aws::String& value) { m_resourceConfigurationGroupId = value; } + inline void SetResourceConfigurationGroupId(Aws::String&& value) { m_resourceConfigurationGroupId = std::move(value); } + inline void SetResourceConfigurationGroupId(const char* value) { m_resourceConfigurationGroupId.assign(value); } + inline UpdateResourceConfigurationResult& WithResourceConfigurationGroupId(const Aws::String& value) { SetResourceConfigurationGroupId(value); return *this;} + inline UpdateResourceConfigurationResult& WithResourceConfigurationGroupId(Aws::String&& value) { SetResourceConfigurationGroupId(std::move(value)); return *this;} + inline UpdateResourceConfigurationResult& WithResourceConfigurationGroupId(const char* value) { SetResourceConfigurationGroupId(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource gateway associated with the resource + * configuration.

        + */ + inline const Aws::String& GetResourceGatewayId() const{ return m_resourceGatewayId; } + inline void SetResourceGatewayId(const Aws::String& value) { m_resourceGatewayId = value; } + inline void SetResourceGatewayId(Aws::String&& value) { m_resourceGatewayId = std::move(value); } + inline void SetResourceGatewayId(const char* value) { m_resourceGatewayId.assign(value); } + inline UpdateResourceConfigurationResult& WithResourceGatewayId(const Aws::String& value) { SetResourceGatewayId(value); return *this;} + inline UpdateResourceConfigurationResult& WithResourceGatewayId(Aws::String&& value) { SetResourceGatewayId(std::move(value)); return *this;} + inline UpdateResourceConfigurationResult& WithResourceGatewayId(const char* value) { SetResourceGatewayId(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of the resource configuration.

        + */ + inline const ResourceConfigurationStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ResourceConfigurationStatus& value) { m_status = value; } + inline void SetStatus(ResourceConfigurationStatus&& value) { m_status = std::move(value); } + inline UpdateResourceConfigurationResult& WithStatus(const ResourceConfigurationStatus& value) { SetStatus(value); return *this;} + inline UpdateResourceConfigurationResult& WithStatus(ResourceConfigurationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The type of resource configuration.

        • SINGLE - A + * single resource.

        • GROUP - A group of + * resources.

        • CHILD - A single resource that is + * part of a group resource configuration.

        • ARN - An + * Amazon Web Services resource.

        + */ + inline const ResourceConfigurationType& GetType() const{ return m_type; } + inline void SetType(const ResourceConfigurationType& value) { m_type = value; } + inline void SetType(ResourceConfigurationType&& value) { m_type = std::move(value); } + inline UpdateResourceConfigurationResult& WithType(const ResourceConfigurationType& value) { SetType(value); return *this;} + inline UpdateResourceConfigurationResult& WithType(ResourceConfigurationType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateResourceConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateResourceConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateResourceConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + bool m_allowAssociationToShareableServiceNetwork; + + Aws::String m_arn; + + Aws::String m_id; + + Aws::String m_name; + + Aws::Vector m_portRanges; + + ProtocolType m_protocol; + + ResourceConfigurationDefinition m_resourceConfigurationDefinition; + + Aws::String m_resourceConfigurationGroupId; + + Aws::String m_resourceGatewayId; + + ResourceConfigurationStatus m_status; + + ResourceConfigurationType m_type; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceGatewayRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceGatewayRequest.h new file mode 100644 index 00000000000..49f3c1a7c68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceGatewayRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + + /** + */ + class UpdateResourceGatewayRequest : public VPCLatticeRequest + { + public: + AWS_VPCLATTICE_API UpdateResourceGatewayRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateResourceGateway"; } + + AWS_VPCLATTICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The ID or ARN of the resource gateway.

        + */ + inline const Aws::String& GetResourceGatewayIdentifier() const{ return m_resourceGatewayIdentifier; } + inline bool ResourceGatewayIdentifierHasBeenSet() const { return m_resourceGatewayIdentifierHasBeenSet; } + inline void SetResourceGatewayIdentifier(const Aws::String& value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier = value; } + inline void SetResourceGatewayIdentifier(Aws::String&& value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier = std::move(value); } + inline void SetResourceGatewayIdentifier(const char* value) { m_resourceGatewayIdentifierHasBeenSet = true; m_resourceGatewayIdentifier.assign(value); } + inline UpdateResourceGatewayRequest& WithResourceGatewayIdentifier(const Aws::String& value) { SetResourceGatewayIdentifier(value); return *this;} + inline UpdateResourceGatewayRequest& WithResourceGatewayIdentifier(Aws::String&& value) { SetResourceGatewayIdentifier(std::move(value)); return *this;} + inline UpdateResourceGatewayRequest& WithResourceGatewayIdentifier(const char* value) { SetResourceGatewayIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

        The IDs of the security groups associated with the resource gateway.

        + */ + inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } + inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } + inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } + inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } + inline UpdateResourceGatewayRequest& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} + inline UpdateResourceGatewayRequest& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} + inline UpdateResourceGatewayRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + inline UpdateResourceGatewayRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } + inline UpdateResourceGatewayRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + ///@} + private: + + Aws::String m_resourceGatewayIdentifier; + bool m_resourceGatewayIdentifierHasBeenSet = false; + + Aws::Vector m_securityGroupIds; + bool m_securityGroupIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceGatewayResult.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceGatewayResult.h new file mode 100644 index 00000000000..2be85005474 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateResourceGatewayResult.h @@ -0,0 +1,173 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace VPCLattice +{ +namespace Model +{ + class UpdateResourceGatewayResult + { + public: + AWS_VPCLATTICE_API UpdateResourceGatewayResult(); + AWS_VPCLATTICE_API UpdateResourceGatewayResult(const Aws::AmazonWebServiceResult& result); + AWS_VPCLATTICE_API UpdateResourceGatewayResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the resource gateway.

        + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline UpdateResourceGatewayResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline UpdateResourceGatewayResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline UpdateResourceGatewayResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The ID of the resource gateway.

        + */ + inline const Aws::String& GetId() const{ return m_id; } + inline void SetId(const Aws::String& value) { m_id = value; } + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + inline void SetId(const char* value) { m_id.assign(value); } + inline UpdateResourceGatewayResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline UpdateResourceGatewayResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline UpdateResourceGatewayResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of IP address used by the resource gateway.

        + */ + inline const IpAddressType& GetIpAddressType() const{ return m_ipAddressType; } + inline void SetIpAddressType(const IpAddressType& value) { m_ipAddressType = value; } + inline void SetIpAddressType(IpAddressType&& value) { m_ipAddressType = std::move(value); } + inline UpdateResourceGatewayResult& WithIpAddressType(const IpAddressType& value) { SetIpAddressType(value); return *this;} + inline UpdateResourceGatewayResult& WithIpAddressType(IpAddressType&& value) { SetIpAddressType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The name of the resource gateway.

        + */ + inline const Aws::String& GetName() const{ return m_name; } + inline void SetName(const Aws::String& value) { m_name = value; } + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + inline void SetName(const char* value) { m_name.assign(value); } + inline UpdateResourceGatewayResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline UpdateResourceGatewayResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline UpdateResourceGatewayResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

        The IDs of the security groups associated with the resource gateway.

        + */ + inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } + inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIds = value; } + inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIds = std::move(value); } + inline UpdateResourceGatewayResult& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} + inline UpdateResourceGatewayResult& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} + inline UpdateResourceGatewayResult& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIds.push_back(value); return *this; } + inline UpdateResourceGatewayResult& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIds.push_back(std::move(value)); return *this; } + inline UpdateResourceGatewayResult& AddSecurityGroupIds(const char* value) { m_securityGroupIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The status of the resource gateway.

        + */ + inline const ResourceGatewayStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ResourceGatewayStatus& value) { m_status = value; } + inline void SetStatus(ResourceGatewayStatus&& value) { m_status = std::move(value); } + inline UpdateResourceGatewayResult& WithStatus(const ResourceGatewayStatus& value) { SetStatus(value); return *this;} + inline UpdateResourceGatewayResult& WithStatus(ResourceGatewayStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The IDs of the VPC subnets for the resource gateway.

        + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIds = std::move(value); } + inline UpdateResourceGatewayResult& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline UpdateResourceGatewayResult& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline UpdateResourceGatewayResult& AddSubnetIds(const Aws::String& value) { m_subnetIds.push_back(value); return *this; } + inline UpdateResourceGatewayResult& AddSubnetIds(Aws::String&& value) { m_subnetIds.push_back(std::move(value)); return *this; } + inline UpdateResourceGatewayResult& AddSubnetIds(const char* value) { m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

        The ID of the VPC for the resource gateway.

        + */ + inline const Aws::String& GetVpcId() const{ return m_vpcId; } + inline void SetVpcId(const Aws::String& value) { m_vpcId = value; } + inline void SetVpcId(Aws::String&& value) { m_vpcId = std::move(value); } + inline void SetVpcId(const char* value) { m_vpcId.assign(value); } + inline UpdateResourceGatewayResult& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} + inline UpdateResourceGatewayResult& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} + inline UpdateResourceGatewayResult& WithVpcId(const char* value) { SetVpcId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateResourceGatewayResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateResourceGatewayResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateResourceGatewayResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_arn; + + Aws::String m_id; + + IpAddressType m_ipAddressType; + + Aws::String m_name; + + Aws::Vector m_securityGroupIds; + + ResourceGatewayStatus m_status; + + Aws::Vector m_subnetIds; + + Aws::String m_vpcId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateRuleRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateRuleRequest.h index 2fd10dd47b5..c2d96388b90 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateRuleRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateRuleRequest.h @@ -48,7 +48,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the listener.

        + *

        The ID or ARN of the listener.

        */ inline const Aws::String& GetListenerIdentifier() const{ return m_listenerIdentifier; } inline bool ListenerIdentifierHasBeenSet() const { return m_listenerIdentifierHasBeenSet; } @@ -85,7 +85,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the rule.

        + *

        The ID or ARN of the rule.

        */ inline const Aws::String& GetRuleIdentifier() const{ return m_ruleIdentifier; } inline bool RuleIdentifierHasBeenSet() const { return m_ruleIdentifierHasBeenSet; } @@ -99,7 +99,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceNetworkRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceNetworkRequest.h index 8b509547787..a0b08da5bea 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceNetworkRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceNetworkRequest.h @@ -50,7 +50,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service network.

        + *

        The ID or ARN of the service network.

        */ inline const Aws::String& GetServiceNetworkIdentifier() const{ return m_serviceNetworkIdentifier; } inline bool ServiceNetworkIdentifierHasBeenSet() const { return m_serviceNetworkIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceNetworkVpcAssociationRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceNetworkVpcAssociationRequest.h index 34b3ecb63a6..3f094f5e706 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceNetworkVpcAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceNetworkVpcAssociationRequest.h @@ -50,7 +50,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the association.

        + *

        The ID or ARN of the association.

        */ inline const Aws::String& GetServiceNetworkVpcAssociationIdentifier() const{ return m_serviceNetworkVpcAssociationIdentifier; } inline bool ServiceNetworkVpcAssociationIdentifierHasBeenSet() const { return m_serviceNetworkVpcAssociationIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceRequest.h index 17b2781b98c..12bb7489831 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateServiceRequest.h @@ -64,7 +64,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the service.

        + *

        The ID or ARN of the service.

        */ inline const Aws::String& GetServiceIdentifier() const{ return m_serviceIdentifier; } inline bool ServiceIdentifierHasBeenSet() const { return m_serviceIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateTargetGroupRequest.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateTargetGroupRequest.h index cacebc0d489..5db3e90ecf6 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateTargetGroupRequest.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/UpdateTargetGroupRequest.h @@ -47,7 +47,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the target group.

        + *

        The ID or ARN of the target group.

        */ inline const Aws::String& GetTargetGroupIdentifier() const{ return m_targetGroupIdentifier; } inline bool TargetGroupIdentifierHasBeenSet() const { return m_targetGroupIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/WeightedTargetGroup.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/WeightedTargetGroup.h index 5571f7b4858..84fb48c6abb 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/WeightedTargetGroup.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/model/WeightedTargetGroup.h @@ -39,7 +39,7 @@ namespace Model ///@{ /** - *

        The ID or Amazon Resource Name (ARN) of the target group.

        + *

        The ID or ARN of the target group.

        */ inline const Aws::String& GetTargetGroupIdentifier() const{ return m_targetGroupIdentifier; } inline bool TargetGroupIdentifierHasBeenSet() const { return m_targetGroupIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClient.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClient.cpp index 285824cced3..6b1bc7c2013 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClient.cpp +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClient.cpp @@ -24,19 +24,26 @@ #include #include #include +#include +#include #include #include #include +#include #include #include #include #include #include #include +#include +#include +#include #include #include #include #include +#include #include #include #include @@ -44,18 +51,26 @@ #include #include #include +#include +#include #include #include #include #include +#include #include #include #include #include #include +#include +#include +#include #include +#include #include #include +#include #include #include #include @@ -68,6 +83,8 @@ #include #include #include +#include +#include #include #include #include @@ -318,6 +335,60 @@ CreateListenerOutcome VPCLatticeClient::CreateListener(const CreateListenerReque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateResourceConfigurationOutcome VPCLatticeClient::CreateResourceConfiguration(const CreateResourceConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(CreateResourceConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateResourceConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateResourceConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateResourceConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateResourceConfiguration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateResourceConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateResourceConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourceconfigurations"); + return CreateResourceConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateResourceGatewayOutcome VPCLatticeClient::CreateResourceGateway(const CreateResourceGatewayRequest& request) const +{ + AWS_OPERATION_GUARD(CreateResourceGateway); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateResourceGateway, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateResourceGateway, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateResourceGateway, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateResourceGateway", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateResourceGatewayOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateResourceGateway, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourcegateways"); + return CreateResourceGatewayOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateRuleOutcome VPCLatticeClient::CreateRule(const CreateRuleRequest& request) const { AWS_OPERATION_GUARD(CreateRule); @@ -413,6 +484,33 @@ CreateServiceNetworkOutcome VPCLatticeClient::CreateServiceNetwork(const CreateS {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateServiceNetworkResourceAssociationOutcome VPCLatticeClient::CreateServiceNetworkResourceAssociation(const CreateServiceNetworkResourceAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(CreateServiceNetworkResourceAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateServiceNetworkResourceAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateServiceNetworkResourceAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateServiceNetworkResourceAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateServiceNetworkResourceAssociation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateServiceNetworkResourceAssociationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateServiceNetworkResourceAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/servicenetworkresourceassociations"); + return CreateServiceNetworkResourceAssociationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateServiceNetworkServiceAssociationOutcome VPCLatticeClient::CreateServiceNetworkServiceAssociation(const CreateServiceNetworkServiceAssociationRequest& request) const { AWS_OPERATION_GUARD(CreateServiceNetworkServiceAssociation); @@ -600,6 +698,105 @@ DeleteListenerOutcome VPCLatticeClient::DeleteListener(const DeleteListenerReque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteResourceConfigurationOutcome VPCLatticeClient::DeleteResourceConfiguration(const DeleteResourceConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteResourceConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteResourceConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceConfigurationIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteResourceConfiguration", "Required field: ResourceConfigurationIdentifier, is not set"); + return DeleteResourceConfigurationOutcome(Aws::Client::AWSError(VPCLatticeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceConfigurationIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteResourceConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteResourceConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteResourceConfiguration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteResourceConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteResourceConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourceconfigurations/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceConfigurationIdentifier()); + return DeleteResourceConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteResourceEndpointAssociationOutcome VPCLatticeClient::DeleteResourceEndpointAssociation(const DeleteResourceEndpointAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteResourceEndpointAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteResourceEndpointAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceEndpointAssociationIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteResourceEndpointAssociation", "Required field: ResourceEndpointAssociationIdentifier, is not set"); + return DeleteResourceEndpointAssociationOutcome(Aws::Client::AWSError(VPCLatticeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceEndpointAssociationIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteResourceEndpointAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteResourceEndpointAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteResourceEndpointAssociation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteResourceEndpointAssociationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteResourceEndpointAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourceendpointassociations/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceEndpointAssociationIdentifier()); + return DeleteResourceEndpointAssociationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteResourceGatewayOutcome VPCLatticeClient::DeleteResourceGateway(const DeleteResourceGatewayRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteResourceGateway); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteResourceGateway, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceGatewayIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteResourceGateway", "Required field: ResourceGatewayIdentifier, is not set"); + return DeleteResourceGatewayOutcome(Aws::Client::AWSError(VPCLatticeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceGatewayIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteResourceGateway, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteResourceGateway, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteResourceGateway", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteResourceGatewayOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteResourceGateway, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourcegateways/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceGatewayIdentifier()); + return DeleteResourceGatewayOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteResourcePolicyOutcome VPCLatticeClient::DeleteResourcePolicy(const DeleteResourcePolicyRequest& request) const { AWS_OPERATION_GUARD(DeleteResourcePolicy); @@ -746,6 +943,39 @@ DeleteServiceNetworkOutcome VPCLatticeClient::DeleteServiceNetwork(const DeleteS {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteServiceNetworkResourceAssociationOutcome VPCLatticeClient::DeleteServiceNetworkResourceAssociation(const DeleteServiceNetworkResourceAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteServiceNetworkResourceAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteServiceNetworkResourceAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ServiceNetworkResourceAssociationIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteServiceNetworkResourceAssociation", "Required field: ServiceNetworkResourceAssociationIdentifier, is not set"); + return DeleteServiceNetworkResourceAssociationOutcome(Aws::Client::AWSError(VPCLatticeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ServiceNetworkResourceAssociationIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteServiceNetworkResourceAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteServiceNetworkResourceAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteServiceNetworkResourceAssociation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteServiceNetworkResourceAssociationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteServiceNetworkResourceAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/servicenetworkresourceassociations/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetServiceNetworkResourceAssociationIdentifier()); + return DeleteServiceNetworkResourceAssociationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteServiceNetworkServiceAssociationOutcome VPCLatticeClient::DeleteServiceNetworkServiceAssociation(const DeleteServiceNetworkServiceAssociationRequest& request) const { AWS_OPERATION_GUARD(DeleteServiceNetworkServiceAssociation); @@ -985,6 +1215,72 @@ GetListenerOutcome VPCLatticeClient::GetListener(const GetListenerRequest& reque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetResourceConfigurationOutcome VPCLatticeClient::GetResourceConfiguration(const GetResourceConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(GetResourceConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetResourceConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceConfigurationIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetResourceConfiguration", "Required field: ResourceConfigurationIdentifier, is not set"); + return GetResourceConfigurationOutcome(Aws::Client::AWSError(VPCLatticeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceConfigurationIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetResourceConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetResourceConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetResourceConfiguration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetResourceConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetResourceConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourceconfigurations/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceConfigurationIdentifier()); + return GetResourceConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetResourceGatewayOutcome VPCLatticeClient::GetResourceGateway(const GetResourceGatewayRequest& request) const +{ + AWS_OPERATION_GUARD(GetResourceGateway); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetResourceGateway, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceGatewayIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetResourceGateway", "Required field: ResourceGatewayIdentifier, is not set"); + return GetResourceGatewayOutcome(Aws::Client::AWSError(VPCLatticeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceGatewayIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetResourceGateway, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetResourceGateway, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetResourceGateway", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetResourceGatewayOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetResourceGateway, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourcegateways/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceGatewayIdentifier()); + return GetResourceGatewayOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetResourcePolicyOutcome VPCLatticeClient::GetResourcePolicy(const GetResourcePolicyRequest& request) const { AWS_OPERATION_GUARD(GetResourcePolicy); @@ -1131,6 +1427,39 @@ GetServiceNetworkOutcome VPCLatticeClient::GetServiceNetwork(const GetServiceNet {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetServiceNetworkResourceAssociationOutcome VPCLatticeClient::GetServiceNetworkResourceAssociation(const GetServiceNetworkResourceAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(GetServiceNetworkResourceAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetServiceNetworkResourceAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ServiceNetworkResourceAssociationIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetServiceNetworkResourceAssociation", "Required field: ServiceNetworkResourceAssociationIdentifier, is not set"); + return GetServiceNetworkResourceAssociationOutcome(Aws::Client::AWSError(VPCLatticeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ServiceNetworkResourceAssociationIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetServiceNetworkResourceAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetServiceNetworkResourceAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetServiceNetworkResourceAssociation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetServiceNetworkResourceAssociationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetServiceNetworkResourceAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/servicenetworkresourceassociations/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetServiceNetworkResourceAssociationIdentifier()); + return GetServiceNetworkResourceAssociationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetServiceNetworkServiceAssociationOutcome VPCLatticeClient::GetServiceNetworkServiceAssociation(const GetServiceNetworkServiceAssociationRequest& request) const { AWS_OPERATION_GUARD(GetServiceNetworkServiceAssociation); @@ -1296,6 +1625,92 @@ ListListenersOutcome VPCLatticeClient::ListListeners(const ListListenersRequest& {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListResourceConfigurationsOutcome VPCLatticeClient::ListResourceConfigurations(const ListResourceConfigurationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListResourceConfigurations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListResourceConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListResourceConfigurations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListResourceConfigurations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListResourceConfigurations", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListResourceConfigurationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListResourceConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourceconfigurations"); + return ListResourceConfigurationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListResourceEndpointAssociationsOutcome VPCLatticeClient::ListResourceEndpointAssociations(const ListResourceEndpointAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListResourceEndpointAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListResourceEndpointAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceConfigurationIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListResourceEndpointAssociations", "Required field: ResourceConfigurationIdentifier, is not set"); + return ListResourceEndpointAssociationsOutcome(Aws::Client::AWSError(VPCLatticeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceConfigurationIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListResourceEndpointAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListResourceEndpointAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListResourceEndpointAssociations", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListResourceEndpointAssociationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListResourceEndpointAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourceendpointassociations"); + return ListResourceEndpointAssociationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListResourceGatewaysOutcome VPCLatticeClient::ListResourceGateways(const ListResourceGatewaysRequest& request) const +{ + AWS_OPERATION_GUARD(ListResourceGateways); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListResourceGateways, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListResourceGateways, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListResourceGateways, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListResourceGateways", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListResourceGatewaysOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListResourceGateways, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourcegateways"); + return ListResourceGatewaysOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListRulesOutcome VPCLatticeClient::ListRules(const ListRulesRequest& request) const { AWS_OPERATION_GUARD(ListRules); @@ -1337,6 +1752,33 @@ ListRulesOutcome VPCLatticeClient::ListRules(const ListRulesRequest& request) co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListServiceNetworkResourceAssociationsOutcome VPCLatticeClient::ListServiceNetworkResourceAssociations(const ListServiceNetworkResourceAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListServiceNetworkResourceAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListServiceNetworkResourceAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListServiceNetworkResourceAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListServiceNetworkResourceAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListServiceNetworkResourceAssociations", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListServiceNetworkResourceAssociationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListServiceNetworkResourceAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/servicenetworkresourceassociations"); + return ListServiceNetworkResourceAssociationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListServiceNetworkServiceAssociationsOutcome VPCLatticeClient::ListServiceNetworkServiceAssociations(const ListServiceNetworkServiceAssociationsRequest& request) const { AWS_OPERATION_GUARD(ListServiceNetworkServiceAssociations); @@ -1391,6 +1833,38 @@ ListServiceNetworkVpcAssociationsOutcome VPCLatticeClient::ListServiceNetworkVpc {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListServiceNetworkVpcEndpointAssociationsOutcome VPCLatticeClient::ListServiceNetworkVpcEndpointAssociations(const ListServiceNetworkVpcEndpointAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListServiceNetworkVpcEndpointAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListServiceNetworkVpcEndpointAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ServiceNetworkIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListServiceNetworkVpcEndpointAssociations", "Required field: ServiceNetworkIdentifier, is not set"); + return ListServiceNetworkVpcEndpointAssociationsOutcome(Aws::Client::AWSError(VPCLatticeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ServiceNetworkIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListServiceNetworkVpcEndpointAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListServiceNetworkVpcEndpointAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListServiceNetworkVpcEndpointAssociations", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListServiceNetworkVpcEndpointAssociationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListServiceNetworkVpcEndpointAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/servicenetworkvpcendpointassociations"); + return ListServiceNetworkVpcEndpointAssociationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListServiceNetworksOutcome VPCLatticeClient::ListServiceNetworks(const ListServiceNetworksRequest& request) const { AWS_OPERATION_GUARD(ListServiceNetworks); @@ -1783,6 +2257,72 @@ UpdateListenerOutcome VPCLatticeClient::UpdateListener(const UpdateListenerReque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateResourceConfigurationOutcome VPCLatticeClient::UpdateResourceConfiguration(const UpdateResourceConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateResourceConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateResourceConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceConfigurationIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateResourceConfiguration", "Required field: ResourceConfigurationIdentifier, is not set"); + return UpdateResourceConfigurationOutcome(Aws::Client::AWSError(VPCLatticeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceConfigurationIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateResourceConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateResourceConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateResourceConfiguration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateResourceConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateResourceConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourceconfigurations/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceConfigurationIdentifier()); + return UpdateResourceConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateResourceGatewayOutcome VPCLatticeClient::UpdateResourceGateway(const UpdateResourceGatewayRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateResourceGateway); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateResourceGateway, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceGatewayIdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateResourceGateway", "Required field: ResourceGatewayIdentifier, is not set"); + return UpdateResourceGatewayOutcome(Aws::Client::AWSError(VPCLatticeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceGatewayIdentifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateResourceGateway, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateResourceGateway, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateResourceGateway", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateResourceGatewayOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateResourceGateway, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourcegateways/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceGatewayIdentifier()); + return UpdateResourceGatewayOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateRuleOutcome VPCLatticeClient::UpdateRule(const UpdateRuleRequest& request) const { AWS_OPERATION_GUARD(UpdateRule); diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/AccessLogSubscriptionSummary.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/AccessLogSubscriptionSummary.cpp index 73cd5a6d4fc..7ec10826679 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/AccessLogSubscriptionSummary.cpp +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/AccessLogSubscriptionSummary.cpp @@ -25,7 +25,9 @@ AccessLogSubscriptionSummary::AccessLogSubscriptionSummary() : m_idHasBeenSet(false), m_lastUpdatedAtHasBeenSet(false), m_resourceArnHasBeenSet(false), - m_resourceIdHasBeenSet(false) + m_resourceIdHasBeenSet(false), + m_serviceNetworkLogType(ServiceNetworkLogType::NOT_SET), + m_serviceNetworkLogTypeHasBeenSet(false) { } @@ -86,6 +88,13 @@ AccessLogSubscriptionSummary& AccessLogSubscriptionSummary::operator =(JsonView m_resourceIdHasBeenSet = true; } + if(jsonValue.ValueExists("serviceNetworkLogType")) + { + m_serviceNetworkLogType = ServiceNetworkLogTypeMapper::GetServiceNetworkLogTypeForName(jsonValue.GetString("serviceNetworkLogType")); + + m_serviceNetworkLogTypeHasBeenSet = true; + } + return *this; } @@ -133,6 +142,11 @@ JsonValue AccessLogSubscriptionSummary::Jsonize() const } + if(m_serviceNetworkLogTypeHasBeenSet) + { + payload.WithString("serviceNetworkLogType", ServiceNetworkLogTypeMapper::GetNameForServiceNetworkLogType(m_serviceNetworkLogType)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ArnResource.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ArnResource.cpp new file mode 100644 index 00000000000..411cf2e8e6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ArnResource.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + +ArnResource::ArnResource() : + m_arnHasBeenSet(false) +{ +} + +ArnResource::ArnResource(JsonView jsonValue) + : ArnResource() +{ + *this = jsonValue; +} + +ArnResource& ArnResource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + return *this; +} + +JsonValue ArnResource::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + return payload; +} + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateAccessLogSubscriptionRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateAccessLogSubscriptionRequest.cpp index 0c2d1afbdd5..8bbf2d2041e 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateAccessLogSubscriptionRequest.cpp +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateAccessLogSubscriptionRequest.cpp @@ -17,6 +17,8 @@ CreateAccessLogSubscriptionRequest::CreateAccessLogSubscriptionRequest() : m_clientTokenHasBeenSet(true), m_destinationArnHasBeenSet(false), m_resourceIdentifierHasBeenSet(false), + m_serviceNetworkLogType(ServiceNetworkLogType::NOT_SET), + m_serviceNetworkLogTypeHasBeenSet(false), m_tagsHasBeenSet(false) { } @@ -43,6 +45,11 @@ Aws::String CreateAccessLogSubscriptionRequest::SerializePayload() const } + if(m_serviceNetworkLogTypeHasBeenSet) + { + payload.WithString("serviceNetworkLogType", ServiceNetworkLogTypeMapper::GetNameForServiceNetworkLogType(m_serviceNetworkLogType)); + } + if(m_tagsHasBeenSet) { JsonValue tagsJsonMap; diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateAccessLogSubscriptionResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateAccessLogSubscriptionResult.cpp index c4d88f4f972..24dd372ac51 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateAccessLogSubscriptionResult.cpp +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateAccessLogSubscriptionResult.cpp @@ -17,11 +17,13 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; using namespace Aws; -CreateAccessLogSubscriptionResult::CreateAccessLogSubscriptionResult() +CreateAccessLogSubscriptionResult::CreateAccessLogSubscriptionResult() : + m_serviceNetworkLogType(ServiceNetworkLogType::NOT_SET) { } CreateAccessLogSubscriptionResult::CreateAccessLogSubscriptionResult(const Aws::AmazonWebServiceResult& result) + : CreateAccessLogSubscriptionResult() { *this = result; } @@ -59,6 +61,12 @@ CreateAccessLogSubscriptionResult& CreateAccessLogSubscriptionResult::operator = } + if(jsonValue.ValueExists("serviceNetworkLogType")) + { + m_serviceNetworkLogType = ServiceNetworkLogTypeMapper::GetServiceNetworkLogTypeForName(jsonValue.GetString("serviceNetworkLogType")); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceConfigurationRequest.cpp new file mode 100644 index 00000000000..8fa513c3eb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceConfigurationRequest.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateResourceConfigurationRequest::CreateResourceConfigurationRequest() : + m_allowAssociationToShareableServiceNetwork(false), + m_allowAssociationToShareableServiceNetworkHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_nameHasBeenSet(false), + m_portRangesHasBeenSet(false), + m_protocol(ProtocolType::NOT_SET), + m_protocolHasBeenSet(false), + m_resourceConfigurationDefinitionHasBeenSet(false), + m_resourceConfigurationGroupIdentifierHasBeenSet(false), + m_resourceGatewayIdentifierHasBeenSet(false), + m_tagsHasBeenSet(false), + m_type(ResourceConfigurationType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +Aws::String CreateResourceConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_allowAssociationToShareableServiceNetworkHasBeenSet) + { + payload.WithBool("allowAssociationToShareableServiceNetwork", m_allowAssociationToShareableServiceNetwork); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_portRangesHasBeenSet) + { + Aws::Utils::Array portRangesJsonList(m_portRanges.size()); + for(unsigned portRangesIndex = 0; portRangesIndex < portRangesJsonList.GetLength(); ++portRangesIndex) + { + portRangesJsonList[portRangesIndex].AsString(m_portRanges[portRangesIndex]); + } + payload.WithArray("portRanges", std::move(portRangesJsonList)); + + } + + if(m_protocolHasBeenSet) + { + payload.WithString("protocol", ProtocolTypeMapper::GetNameForProtocolType(m_protocol)); + } + + if(m_resourceConfigurationDefinitionHasBeenSet) + { + payload.WithObject("resourceConfigurationDefinition", m_resourceConfigurationDefinition.Jsonize()); + + } + + if(m_resourceConfigurationGroupIdentifierHasBeenSet) + { + payload.WithString("resourceConfigurationGroupIdentifier", m_resourceConfigurationGroupIdentifier); + + } + + if(m_resourceGatewayIdentifierHasBeenSet) + { + payload.WithString("resourceGatewayIdentifier", m_resourceGatewayIdentifier); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", ResourceConfigurationTypeMapper::GetNameForResourceConfigurationType(m_type)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceConfigurationResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceConfigurationResult.cpp new file mode 100644 index 00000000000..fad3e58841a --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceConfigurationResult.cpp @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateResourceConfigurationResult::CreateResourceConfigurationResult() : + m_allowAssociationToShareableServiceNetwork(false), + m_protocol(ProtocolType::NOT_SET), + m_status(ResourceConfigurationStatus::NOT_SET), + m_type(ResourceConfigurationType::NOT_SET) +{ +} + +CreateResourceConfigurationResult::CreateResourceConfigurationResult(const Aws::AmazonWebServiceResult& result) + : CreateResourceConfigurationResult() +{ + *this = result; +} + +CreateResourceConfigurationResult& CreateResourceConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("allowAssociationToShareableServiceNetwork")) + { + m_allowAssociationToShareableServiceNetwork = jsonValue.GetBool("allowAssociationToShareableServiceNetwork"); + + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + } + + if(jsonValue.ValueExists("failureReason")) + { + m_failureReason = jsonValue.GetString("failureReason"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("portRanges")) + { + Aws::Utils::Array portRangesJsonList = jsonValue.GetArray("portRanges"); + for(unsigned portRangesIndex = 0; portRangesIndex < portRangesJsonList.GetLength(); ++portRangesIndex) + { + m_portRanges.push_back(portRangesJsonList[portRangesIndex].AsString()); + } + } + + if(jsonValue.ValueExists("protocol")) + { + m_protocol = ProtocolTypeMapper::GetProtocolTypeForName(jsonValue.GetString("protocol")); + + } + + if(jsonValue.ValueExists("resourceConfigurationDefinition")) + { + m_resourceConfigurationDefinition = jsonValue.GetObject("resourceConfigurationDefinition"); + + } + + if(jsonValue.ValueExists("resourceConfigurationGroupId")) + { + m_resourceConfigurationGroupId = jsonValue.GetString("resourceConfigurationGroupId"); + + } + + if(jsonValue.ValueExists("resourceGatewayId")) + { + m_resourceGatewayId = jsonValue.GetString("resourceGatewayId"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = ResourceConfigurationStatusMapper::GetResourceConfigurationStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("type")) + { + m_type = ResourceConfigurationTypeMapper::GetResourceConfigurationTypeForName(jsonValue.GetString("type")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceGatewayRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceGatewayRequest.cpp new file mode 100644 index 00000000000..da7f7d8d35b --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceGatewayRequest.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateResourceGatewayRequest::CreateResourceGatewayRequest() : + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_ipAddressType(ResourceGatewayIpAddressType::NOT_SET), + m_ipAddressTypeHasBeenSet(false), + m_nameHasBeenSet(false), + m_securityGroupIdsHasBeenSet(false), + m_subnetIdsHasBeenSet(false), + m_tagsHasBeenSet(false), + m_vpcIdentifierHasBeenSet(false) +{ +} + +Aws::String CreateResourceGatewayRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_ipAddressTypeHasBeenSet) + { + payload.WithString("ipAddressType", ResourceGatewayIpAddressTypeMapper::GetNameForResourceGatewayIpAddressType(m_ipAddressType)); + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_securityGroupIdsHasBeenSet) + { + Aws::Utils::Array securityGroupIdsJsonList(m_securityGroupIds.size()); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + securityGroupIdsJsonList[securityGroupIdsIndex].AsString(m_securityGroupIds[securityGroupIdsIndex]); + } + payload.WithArray("securityGroupIds", std::move(securityGroupIdsJsonList)); + + } + + if(m_subnetIdsHasBeenSet) + { + Aws::Utils::Array subnetIdsJsonList(m_subnetIds.size()); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + subnetIdsJsonList[subnetIdsIndex].AsString(m_subnetIds[subnetIdsIndex]); + } + payload.WithArray("subnetIds", std::move(subnetIdsJsonList)); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_vpcIdentifierHasBeenSet) + { + payload.WithString("vpcIdentifier", m_vpcIdentifier); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceGatewayResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceGatewayResult.cpp new file mode 100644 index 00000000000..198ed608400 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateResourceGatewayResult.cpp @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateResourceGatewayResult::CreateResourceGatewayResult() : + m_ipAddressType(ResourceGatewayIpAddressType::NOT_SET), + m_status(ResourceGatewayStatus::NOT_SET) +{ +} + +CreateResourceGatewayResult::CreateResourceGatewayResult(const Aws::AmazonWebServiceResult& result) + : CreateResourceGatewayResult() +{ + *this = result; +} + +CreateResourceGatewayResult& CreateResourceGatewayResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("ipAddressType")) + { + m_ipAddressType = ResourceGatewayIpAddressTypeMapper::GetResourceGatewayIpAddressTypeForName(jsonValue.GetString("ipAddressType")); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("securityGroupIds")) + { + Aws::Utils::Array securityGroupIdsJsonList = jsonValue.GetArray("securityGroupIds"); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + m_securityGroupIds.push_back(securityGroupIdsJsonList[securityGroupIdsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("status")) + { + m_status = ResourceGatewayStatusMapper::GetResourceGatewayStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("subnetIds")) + { + Aws::Utils::Array subnetIdsJsonList = jsonValue.GetArray("subnetIds"); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + m_subnetIds.push_back(subnetIdsJsonList[subnetIdsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("vpcIdentifier")) + { + m_vpcIdentifier = jsonValue.GetString("vpcIdentifier"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkRequest.cpp index a4817a2deca..4d404138d3b 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkRequest.cpp +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkRequest.cpp @@ -18,6 +18,7 @@ CreateServiceNetworkRequest::CreateServiceNetworkRequest() : m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), m_clientTokenHasBeenSet(true), m_nameHasBeenSet(false), + m_sharingConfigHasBeenSet(false), m_tagsHasBeenSet(false) { } @@ -43,6 +44,12 @@ Aws::String CreateServiceNetworkRequest::SerializePayload() const } + if(m_sharingConfigHasBeenSet) + { + payload.WithObject("sharingConfig", m_sharingConfig.Jsonize()); + + } + if(m_tagsHasBeenSet) { JsonValue tagsJsonMap; diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResourceAssociationRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResourceAssociationRequest.cpp new file mode 100644 index 00000000000..5e84955cb6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResourceAssociationRequest.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateServiceNetworkResourceAssociationRequest::CreateServiceNetworkResourceAssociationRequest() : + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_resourceConfigurationIdentifierHasBeenSet(false), + m_serviceNetworkIdentifierHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateServiceNetworkResourceAssociationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_resourceConfigurationIdentifierHasBeenSet) + { + payload.WithString("resourceConfigurationIdentifier", m_resourceConfigurationIdentifier); + + } + + if(m_serviceNetworkIdentifierHasBeenSet) + { + payload.WithString("serviceNetworkIdentifier", m_serviceNetworkIdentifier); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResourceAssociationResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResourceAssociationResult.cpp new file mode 100644 index 00000000000..8b1b6f69aef --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResourceAssociationResult.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateServiceNetworkResourceAssociationResult::CreateServiceNetworkResourceAssociationResult() : + m_status(ServiceNetworkResourceAssociationStatus::NOT_SET) +{ +} + +CreateServiceNetworkResourceAssociationResult::CreateServiceNetworkResourceAssociationResult(const Aws::AmazonWebServiceResult& result) + : CreateServiceNetworkResourceAssociationResult() +{ + *this = result; +} + +CreateServiceNetworkResourceAssociationResult& CreateServiceNetworkResourceAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("createdBy")) + { + m_createdBy = jsonValue.GetString("createdBy"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = ServiceNetworkResourceAssociationStatusMapper::GetServiceNetworkResourceAssociationStatusForName(jsonValue.GetString("status")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResult.cpp index 9caa4560d8d..47e12d3a566 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResult.cpp +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/CreateServiceNetworkResult.cpp @@ -55,6 +55,12 @@ CreateServiceNetworkResult& CreateServiceNetworkResult::operator =(const Aws::Am } + if(jsonValue.ValueExists("sharingConfig")) + { + m_sharingConfig = jsonValue.GetObject("sharingConfig"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceConfigurationRequest.cpp new file mode 100644 index 00000000000..91c12ae8062 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceConfigurationRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteResourceConfigurationRequest::DeleteResourceConfigurationRequest() : + m_resourceConfigurationIdentifierHasBeenSet(false) +{ +} + +Aws::String DeleteResourceConfigurationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceConfigurationResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceConfigurationResult.cpp new file mode 100644 index 00000000000..2adcf178250 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceConfigurationResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteResourceConfigurationResult::DeleteResourceConfigurationResult() +{ +} + +DeleteResourceConfigurationResult::DeleteResourceConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteResourceConfigurationResult& DeleteResourceConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceEndpointAssociationRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceEndpointAssociationRequest.cpp new file mode 100644 index 00000000000..08dbb1d16f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceEndpointAssociationRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteResourceEndpointAssociationRequest::DeleteResourceEndpointAssociationRequest() : + m_resourceEndpointAssociationIdentifierHasBeenSet(false) +{ +} + +Aws::String DeleteResourceEndpointAssociationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceEndpointAssociationResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceEndpointAssociationResult.cpp new file mode 100644 index 00000000000..dccafda7e07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceEndpointAssociationResult.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteResourceEndpointAssociationResult::DeleteResourceEndpointAssociationResult() +{ +} + +DeleteResourceEndpointAssociationResult::DeleteResourceEndpointAssociationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteResourceEndpointAssociationResult& DeleteResourceEndpointAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("resourceConfigurationArn")) + { + m_resourceConfigurationArn = jsonValue.GetString("resourceConfigurationArn"); + + } + + if(jsonValue.ValueExists("resourceConfigurationId")) + { + m_resourceConfigurationId = jsonValue.GetString("resourceConfigurationId"); + + } + + if(jsonValue.ValueExists("vpcEndpointId")) + { + m_vpcEndpointId = jsonValue.GetString("vpcEndpointId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceGatewayRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceGatewayRequest.cpp new file mode 100644 index 00000000000..4cc0f56d76b --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceGatewayRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteResourceGatewayRequest::DeleteResourceGatewayRequest() : + m_resourceGatewayIdentifierHasBeenSet(false) +{ +} + +Aws::String DeleteResourceGatewayRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceGatewayResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceGatewayResult.cpp new file mode 100644 index 00000000000..2445e6fee50 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteResourceGatewayResult.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteResourceGatewayResult::DeleteResourceGatewayResult() : + m_status(ResourceGatewayStatus::NOT_SET) +{ +} + +DeleteResourceGatewayResult::DeleteResourceGatewayResult(const Aws::AmazonWebServiceResult& result) + : DeleteResourceGatewayResult() +{ + *this = result; +} + +DeleteResourceGatewayResult& DeleteResourceGatewayResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = ResourceGatewayStatusMapper::GetResourceGatewayStatusForName(jsonValue.GetString("status")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteServiceNetworkResourceAssociationRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteServiceNetworkResourceAssociationRequest.cpp new file mode 100644 index 00000000000..8f55a969268 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteServiceNetworkResourceAssociationRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteServiceNetworkResourceAssociationRequest::DeleteServiceNetworkResourceAssociationRequest() : + m_serviceNetworkResourceAssociationIdentifierHasBeenSet(false) +{ +} + +Aws::String DeleteServiceNetworkResourceAssociationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteServiceNetworkResourceAssociationResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteServiceNetworkResourceAssociationResult.cpp new file mode 100644 index 00000000000..acdd31d54d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DeleteServiceNetworkResourceAssociationResult.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteServiceNetworkResourceAssociationResult::DeleteServiceNetworkResourceAssociationResult() : + m_status(ServiceNetworkResourceAssociationStatus::NOT_SET) +{ +} + +DeleteServiceNetworkResourceAssociationResult::DeleteServiceNetworkResourceAssociationResult(const Aws::AmazonWebServiceResult& result) + : DeleteServiceNetworkResourceAssociationResult() +{ + *this = result; +} + +DeleteServiceNetworkResourceAssociationResult& DeleteServiceNetworkResourceAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = ServiceNetworkResourceAssociationStatusMapper::GetServiceNetworkResourceAssociationStatusForName(jsonValue.GetString("status")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DnsResource.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DnsResource.cpp new file mode 100644 index 00000000000..d4e05d5c053 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/DnsResource.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + +DnsResource::DnsResource() : + m_domainNameHasBeenSet(false), + m_ipAddressType(ResourceConfigurationIpAddressType::NOT_SET), + m_ipAddressTypeHasBeenSet(false) +{ +} + +DnsResource::DnsResource(JsonView jsonValue) + : DnsResource() +{ + *this = jsonValue; +} + +DnsResource& DnsResource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("domainName")) + { + m_domainName = jsonValue.GetString("domainName"); + + m_domainNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("ipAddressType")) + { + m_ipAddressType = ResourceConfigurationIpAddressTypeMapper::GetResourceConfigurationIpAddressTypeForName(jsonValue.GetString("ipAddressType")); + + m_ipAddressTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue DnsResource::Jsonize() const +{ + JsonValue payload; + + if(m_domainNameHasBeenSet) + { + payload.WithString("domainName", m_domainName); + + } + + if(m_ipAddressTypeHasBeenSet) + { + payload.WithString("ipAddressType", ResourceConfigurationIpAddressTypeMapper::GetNameForResourceConfigurationIpAddressType(m_ipAddressType)); + } + + return payload; +} + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetAccessLogSubscriptionResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetAccessLogSubscriptionResult.cpp index 2b0bd76dbda..0f58ba76f8a 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetAccessLogSubscriptionResult.cpp +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetAccessLogSubscriptionResult.cpp @@ -17,11 +17,13 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; using namespace Aws; -GetAccessLogSubscriptionResult::GetAccessLogSubscriptionResult() +GetAccessLogSubscriptionResult::GetAccessLogSubscriptionResult() : + m_serviceNetworkLogType(ServiceNetworkLogType::NOT_SET) { } GetAccessLogSubscriptionResult::GetAccessLogSubscriptionResult(const Aws::AmazonWebServiceResult& result) + : GetAccessLogSubscriptionResult() { *this = result; } @@ -71,6 +73,12 @@ GetAccessLogSubscriptionResult& GetAccessLogSubscriptionResult::operator =(const } + if(jsonValue.ValueExists("serviceNetworkLogType")) + { + m_serviceNetworkLogType = ServiceNetworkLogTypeMapper::GetServiceNetworkLogTypeForName(jsonValue.GetString("serviceNetworkLogType")); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceConfigurationRequest.cpp new file mode 100644 index 00000000000..6cb37d4cc71 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceConfigurationRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetResourceConfigurationRequest::GetResourceConfigurationRequest() : + m_resourceConfigurationIdentifierHasBeenSet(false) +{ +} + +Aws::String GetResourceConfigurationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceConfigurationResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceConfigurationResult.cpp new file mode 100644 index 00000000000..3fefdc608b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceConfigurationResult.cpp @@ -0,0 +1,147 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetResourceConfigurationResult::GetResourceConfigurationResult() : + m_allowAssociationToShareableServiceNetwork(false), + m_amazonManaged(false), + m_protocol(ProtocolType::NOT_SET), + m_status(ResourceConfigurationStatus::NOT_SET), + m_type(ResourceConfigurationType::NOT_SET) +{ +} + +GetResourceConfigurationResult::GetResourceConfigurationResult(const Aws::AmazonWebServiceResult& result) + : GetResourceConfigurationResult() +{ + *this = result; +} + +GetResourceConfigurationResult& GetResourceConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("allowAssociationToShareableServiceNetwork")) + { + m_allowAssociationToShareableServiceNetwork = jsonValue.GetBool("allowAssociationToShareableServiceNetwork"); + + } + + if(jsonValue.ValueExists("amazonManaged")) + { + m_amazonManaged = jsonValue.GetBool("amazonManaged"); + + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + } + + if(jsonValue.ValueExists("customDomainName")) + { + m_customDomainName = jsonValue.GetString("customDomainName"); + + } + + if(jsonValue.ValueExists("failureReason")) + { + m_failureReason = jsonValue.GetString("failureReason"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("lastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetString("lastUpdatedAt"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("portRanges")) + { + Aws::Utils::Array portRangesJsonList = jsonValue.GetArray("portRanges"); + for(unsigned portRangesIndex = 0; portRangesIndex < portRangesJsonList.GetLength(); ++portRangesIndex) + { + m_portRanges.push_back(portRangesJsonList[portRangesIndex].AsString()); + } + } + + if(jsonValue.ValueExists("protocol")) + { + m_protocol = ProtocolTypeMapper::GetProtocolTypeForName(jsonValue.GetString("protocol")); + + } + + if(jsonValue.ValueExists("resourceConfigurationDefinition")) + { + m_resourceConfigurationDefinition = jsonValue.GetObject("resourceConfigurationDefinition"); + + } + + if(jsonValue.ValueExists("resourceConfigurationGroupId")) + { + m_resourceConfigurationGroupId = jsonValue.GetString("resourceConfigurationGroupId"); + + } + + if(jsonValue.ValueExists("resourceGatewayId")) + { + m_resourceGatewayId = jsonValue.GetString("resourceGatewayId"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = ResourceConfigurationStatusMapper::GetResourceConfigurationStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("type")) + { + m_type = ResourceConfigurationTypeMapper::GetResourceConfigurationTypeForName(jsonValue.GetString("type")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceGatewayRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceGatewayRequest.cpp new file mode 100644 index 00000000000..0e02fac6682 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceGatewayRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetResourceGatewayRequest::GetResourceGatewayRequest() : + m_resourceGatewayIdentifierHasBeenSet(false) +{ +} + +Aws::String GetResourceGatewayRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceGatewayResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceGatewayResult.cpp new file mode 100644 index 00000000000..1a39349ad91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetResourceGatewayResult.cpp @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetResourceGatewayResult::GetResourceGatewayResult() : + m_ipAddressType(ResourceGatewayIpAddressType::NOT_SET), + m_status(ResourceGatewayStatus::NOT_SET) +{ +} + +GetResourceGatewayResult::GetResourceGatewayResult(const Aws::AmazonWebServiceResult& result) + : GetResourceGatewayResult() +{ + *this = result; +} + +GetResourceGatewayResult& GetResourceGatewayResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("ipAddressType")) + { + m_ipAddressType = ResourceGatewayIpAddressTypeMapper::GetResourceGatewayIpAddressTypeForName(jsonValue.GetString("ipAddressType")); + + } + + if(jsonValue.ValueExists("lastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetString("lastUpdatedAt"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("securityGroupIds")) + { + Aws::Utils::Array securityGroupIdsJsonList = jsonValue.GetArray("securityGroupIds"); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + m_securityGroupIds.push_back(securityGroupIdsJsonList[securityGroupIdsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("status")) + { + m_status = ResourceGatewayStatusMapper::GetResourceGatewayStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("subnetIds")) + { + Aws::Utils::Array subnetIdsJsonList = jsonValue.GetArray("subnetIds"); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + m_subnetIds.push_back(subnetIdsJsonList[subnetIdsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("vpcId")) + { + m_vpcId = jsonValue.GetString("vpcId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResourceAssociationRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResourceAssociationRequest.cpp new file mode 100644 index 00000000000..fadf996ac7c --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResourceAssociationRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetServiceNetworkResourceAssociationRequest::GetServiceNetworkResourceAssociationRequest() : + m_serviceNetworkResourceAssociationIdentifierHasBeenSet(false) +{ +} + +Aws::String GetServiceNetworkResourceAssociationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResourceAssociationResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResourceAssociationResult.cpp new file mode 100644 index 00000000000..e004e7faae1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResourceAssociationResult.cpp @@ -0,0 +1,147 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetServiceNetworkResourceAssociationResult::GetServiceNetworkResourceAssociationResult() : + m_isManagedAssociation(false), + m_status(ServiceNetworkResourceAssociationStatus::NOT_SET) +{ +} + +GetServiceNetworkResourceAssociationResult::GetServiceNetworkResourceAssociationResult(const Aws::AmazonWebServiceResult& result) + : GetServiceNetworkResourceAssociationResult() +{ + *this = result; +} + +GetServiceNetworkResourceAssociationResult& GetServiceNetworkResourceAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + } + + if(jsonValue.ValueExists("createdBy")) + { + m_createdBy = jsonValue.GetString("createdBy"); + + } + + if(jsonValue.ValueExists("dnsEntry")) + { + m_dnsEntry = jsonValue.GetObject("dnsEntry"); + + } + + if(jsonValue.ValueExists("failureCode")) + { + m_failureCode = jsonValue.GetString("failureCode"); + + } + + if(jsonValue.ValueExists("failureReason")) + { + m_failureReason = jsonValue.GetString("failureReason"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("isManagedAssociation")) + { + m_isManagedAssociation = jsonValue.GetBool("isManagedAssociation"); + + } + + if(jsonValue.ValueExists("lastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetString("lastUpdatedAt"); + + } + + if(jsonValue.ValueExists("privateDnsEntry")) + { + m_privateDnsEntry = jsonValue.GetObject("privateDnsEntry"); + + } + + if(jsonValue.ValueExists("resourceConfigurationArn")) + { + m_resourceConfigurationArn = jsonValue.GetString("resourceConfigurationArn"); + + } + + if(jsonValue.ValueExists("resourceConfigurationId")) + { + m_resourceConfigurationId = jsonValue.GetString("resourceConfigurationId"); + + } + + if(jsonValue.ValueExists("resourceConfigurationName")) + { + m_resourceConfigurationName = jsonValue.GetString("resourceConfigurationName"); + + } + + if(jsonValue.ValueExists("serviceNetworkArn")) + { + m_serviceNetworkArn = jsonValue.GetString("serviceNetworkArn"); + + } + + if(jsonValue.ValueExists("serviceNetworkId")) + { + m_serviceNetworkId = jsonValue.GetString("serviceNetworkId"); + + } + + if(jsonValue.ValueExists("serviceNetworkName")) + { + m_serviceNetworkName = jsonValue.GetString("serviceNetworkName"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = ServiceNetworkResourceAssociationStatusMapper::GetServiceNetworkResourceAssociationStatusForName(jsonValue.GetString("status")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResult.cpp index 151f3c11538..d9b2ce4a9f5 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResult.cpp +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/GetServiceNetworkResult.cpp @@ -81,6 +81,12 @@ GetServiceNetworkResult& GetServiceNetworkResult::operator =(const Aws::AmazonWe } + if(jsonValue.ValueExists("sharingConfig")) + { + m_sharingConfig = jsonValue.GetObject("sharingConfig"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/IpResource.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/IpResource.cpp new file mode 100644 index 00000000000..3af3ca4d697 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/IpResource.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + +IpResource::IpResource() : + m_ipAddressHasBeenSet(false) +{ +} + +IpResource::IpResource(JsonView jsonValue) + : IpResource() +{ + *this = jsonValue; +} + +IpResource& IpResource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ipAddress")) + { + m_ipAddress = jsonValue.GetString("ipAddress"); + + m_ipAddressHasBeenSet = true; + } + + return *this; +} + +JsonValue IpResource::Jsonize() const +{ + JsonValue payload; + + if(m_ipAddressHasBeenSet) + { + payload.WithString("ipAddress", m_ipAddress); + + } + + return payload; +} + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceConfigurationsRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceConfigurationsRequest.cpp new file mode 100644 index 00000000000..5a99f8d2b4d --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceConfigurationsRequest.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListResourceConfigurationsRequest::ListResourceConfigurationsRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_resourceConfigurationGroupIdentifierHasBeenSet(false), + m_resourceGatewayIdentifierHasBeenSet(false) +{ +} + +Aws::String ListResourceConfigurationsRequest::SerializePayload() const +{ + return {}; +} + +void ListResourceConfigurationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_resourceConfigurationGroupIdentifierHasBeenSet) + { + ss << m_resourceConfigurationGroupIdentifier; + uri.AddQueryStringParameter("resourceConfigurationGroupIdentifier", ss.str()); + ss.str(""); + } + + if(m_resourceGatewayIdentifierHasBeenSet) + { + ss << m_resourceGatewayIdentifier; + uri.AddQueryStringParameter("resourceGatewayIdentifier", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceConfigurationsResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceConfigurationsResult.cpp new file mode 100644 index 00000000000..63734dd27a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceConfigurationsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListResourceConfigurationsResult::ListResourceConfigurationsResult() +{ +} + +ListResourceConfigurationsResult::ListResourceConfigurationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListResourceConfigurationsResult& ListResourceConfigurationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceEndpointAssociationsRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceEndpointAssociationsRequest.cpp new file mode 100644 index 00000000000..688ef8eee26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceEndpointAssociationsRequest.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListResourceEndpointAssociationsRequest::ListResourceEndpointAssociationsRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_resourceConfigurationIdentifierHasBeenSet(false), + m_resourceEndpointAssociationIdentifierHasBeenSet(false), + m_vpcEndpointIdHasBeenSet(false), + m_vpcEndpointOwnerHasBeenSet(false) +{ +} + +Aws::String ListResourceEndpointAssociationsRequest::SerializePayload() const +{ + return {}; +} + +void ListResourceEndpointAssociationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_resourceConfigurationIdentifierHasBeenSet) + { + ss << m_resourceConfigurationIdentifier; + uri.AddQueryStringParameter("resourceConfigurationIdentifier", ss.str()); + ss.str(""); + } + + if(m_resourceEndpointAssociationIdentifierHasBeenSet) + { + ss << m_resourceEndpointAssociationIdentifier; + uri.AddQueryStringParameter("resourceEndpointAssociationIdentifier", ss.str()); + ss.str(""); + } + + if(m_vpcEndpointIdHasBeenSet) + { + ss << m_vpcEndpointId; + uri.AddQueryStringParameter("vpcEndpointId", ss.str()); + ss.str(""); + } + + if(m_vpcEndpointOwnerHasBeenSet) + { + ss << m_vpcEndpointOwner; + uri.AddQueryStringParameter("vpcEndpointOwner", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceEndpointAssociationsResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceEndpointAssociationsResult.cpp new file mode 100644 index 00000000000..8dcab381b3c --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceEndpointAssociationsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListResourceEndpointAssociationsResult::ListResourceEndpointAssociationsResult() +{ +} + +ListResourceEndpointAssociationsResult::ListResourceEndpointAssociationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListResourceEndpointAssociationsResult& ListResourceEndpointAssociationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceGatewaysRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceGatewaysRequest.cpp new file mode 100644 index 00000000000..c506886a8a5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceGatewaysRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListResourceGatewaysRequest::ListResourceGatewaysRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListResourceGatewaysRequest::SerializePayload() const +{ + return {}; +} + +void ListResourceGatewaysRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceGatewaysResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceGatewaysResult.cpp new file mode 100644 index 00000000000..8b13f275163 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListResourceGatewaysResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListResourceGatewaysResult::ListResourceGatewaysResult() +{ +} + +ListResourceGatewaysResult::ListResourceGatewaysResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListResourceGatewaysResult& ListResourceGatewaysResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkResourceAssociationsRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkResourceAssociationsRequest.cpp new file mode 100644 index 00000000000..fe362cc1c52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkResourceAssociationsRequest.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListServiceNetworkResourceAssociationsRequest::ListServiceNetworkResourceAssociationsRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_resourceConfigurationIdentifierHasBeenSet(false), + m_serviceNetworkIdentifierHasBeenSet(false) +{ +} + +Aws::String ListServiceNetworkResourceAssociationsRequest::SerializePayload() const +{ + return {}; +} + +void ListServiceNetworkResourceAssociationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_resourceConfigurationIdentifierHasBeenSet) + { + ss << m_resourceConfigurationIdentifier; + uri.AddQueryStringParameter("resourceConfigurationIdentifier", ss.str()); + ss.str(""); + } + + if(m_serviceNetworkIdentifierHasBeenSet) + { + ss << m_serviceNetworkIdentifier; + uri.AddQueryStringParameter("serviceNetworkIdentifier", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkResourceAssociationsResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkResourceAssociationsResult.cpp new file mode 100644 index 00000000000..48cb80bfb79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkResourceAssociationsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListServiceNetworkResourceAssociationsResult::ListServiceNetworkResourceAssociationsResult() +{ +} + +ListServiceNetworkResourceAssociationsResult::ListServiceNetworkResourceAssociationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListServiceNetworkResourceAssociationsResult& ListServiceNetworkResourceAssociationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkVpcEndpointAssociationsRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkVpcEndpointAssociationsRequest.cpp new file mode 100644 index 00000000000..29b1f98f9ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkVpcEndpointAssociationsRequest.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListServiceNetworkVpcEndpointAssociationsRequest::ListServiceNetworkVpcEndpointAssociationsRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_serviceNetworkIdentifierHasBeenSet(false) +{ +} + +Aws::String ListServiceNetworkVpcEndpointAssociationsRequest::SerializePayload() const +{ + return {}; +} + +void ListServiceNetworkVpcEndpointAssociationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_serviceNetworkIdentifierHasBeenSet) + { + ss << m_serviceNetworkIdentifier; + uri.AddQueryStringParameter("serviceNetworkIdentifier", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkVpcEndpointAssociationsResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkVpcEndpointAssociationsResult.cpp new file mode 100644 index 00000000000..d735e7f01a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ListServiceNetworkVpcEndpointAssociationsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListServiceNetworkVpcEndpointAssociationsResult::ListServiceNetworkVpcEndpointAssociationsResult() +{ +} + +ListServiceNetworkVpcEndpointAssociationsResult::ListServiceNetworkVpcEndpointAssociationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListServiceNetworkVpcEndpointAssociationsResult& ListServiceNetworkVpcEndpointAssociationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ProtocolType.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ProtocolType.cpp new file mode 100644 index 00000000000..5fd81628e5f --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ProtocolType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace VPCLattice + { + namespace Model + { + namespace ProtocolTypeMapper + { + + static const int TCP_HASH = HashingUtils::HashString("TCP"); + + + ProtocolType GetProtocolTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TCP_HASH) + { + return ProtocolType::TCP; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ProtocolType::NOT_SET; + } + + Aws::String GetNameForProtocolType(ProtocolType enumValue) + { + switch(enumValue) + { + case ProtocolType::NOT_SET: + return {}; + case ProtocolType::TCP: + return "TCP"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ProtocolTypeMapper + } // namespace Model + } // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationDefinition.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationDefinition.cpp new file mode 100644 index 00000000000..cea26ece98b --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationDefinition.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + +ResourceConfigurationDefinition::ResourceConfigurationDefinition() : + m_arnResourceHasBeenSet(false), + m_dnsResourceHasBeenSet(false), + m_ipResourceHasBeenSet(false) +{ +} + +ResourceConfigurationDefinition::ResourceConfigurationDefinition(JsonView jsonValue) + : ResourceConfigurationDefinition() +{ + *this = jsonValue; +} + +ResourceConfigurationDefinition& ResourceConfigurationDefinition::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arnResource")) + { + m_arnResource = jsonValue.GetObject("arnResource"); + + m_arnResourceHasBeenSet = true; + } + + if(jsonValue.ValueExists("dnsResource")) + { + m_dnsResource = jsonValue.GetObject("dnsResource"); + + m_dnsResourceHasBeenSet = true; + } + + if(jsonValue.ValueExists("ipResource")) + { + m_ipResource = jsonValue.GetObject("ipResource"); + + m_ipResourceHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceConfigurationDefinition::Jsonize() const +{ + JsonValue payload; + + if(m_arnResourceHasBeenSet) + { + payload.WithObject("arnResource", m_arnResource.Jsonize()); + + } + + if(m_dnsResourceHasBeenSet) + { + payload.WithObject("dnsResource", m_dnsResource.Jsonize()); + + } + + if(m_ipResourceHasBeenSet) + { + payload.WithObject("ipResource", m_ipResource.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationIpAddressType.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationIpAddressType.cpp new file mode 100644 index 00000000000..14224ceb416 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationIpAddressType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace VPCLattice + { + namespace Model + { + namespace ResourceConfigurationIpAddressTypeMapper + { + + static const int IPV4_HASH = HashingUtils::HashString("IPV4"); + static const int IPV6_HASH = HashingUtils::HashString("IPV6"); + static const int DUALSTACK_HASH = HashingUtils::HashString("DUALSTACK"); + + + ResourceConfigurationIpAddressType GetResourceConfigurationIpAddressTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IPV4_HASH) + { + return ResourceConfigurationIpAddressType::IPV4; + } + else if (hashCode == IPV6_HASH) + { + return ResourceConfigurationIpAddressType::IPV6; + } + else if (hashCode == DUALSTACK_HASH) + { + return ResourceConfigurationIpAddressType::DUALSTACK; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceConfigurationIpAddressType::NOT_SET; + } + + Aws::String GetNameForResourceConfigurationIpAddressType(ResourceConfigurationIpAddressType enumValue) + { + switch(enumValue) + { + case ResourceConfigurationIpAddressType::NOT_SET: + return {}; + case ResourceConfigurationIpAddressType::IPV4: + return "IPV4"; + case ResourceConfigurationIpAddressType::IPV6: + return "IPV6"; + case ResourceConfigurationIpAddressType::DUALSTACK: + return "DUALSTACK"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceConfigurationIpAddressTypeMapper + } // namespace Model + } // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationStatus.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationStatus.cpp new file mode 100644 index 00000000000..d7d9f75f2e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationStatus.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace VPCLattice + { + namespace Model + { + namespace ResourceConfigurationStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int CREATE_IN_PROGRESS_HASH = HashingUtils::HashString("CREATE_IN_PROGRESS"); + static const int UPDATE_IN_PROGRESS_HASH = HashingUtils::HashString("UPDATE_IN_PROGRESS"); + static const int DELETE_IN_PROGRESS_HASH = HashingUtils::HashString("DELETE_IN_PROGRESS"); + static const int CREATE_FAILED_HASH = HashingUtils::HashString("CREATE_FAILED"); + static const int UPDATE_FAILED_HASH = HashingUtils::HashString("UPDATE_FAILED"); + static const int DELETE_FAILED_HASH = HashingUtils::HashString("DELETE_FAILED"); + + + ResourceConfigurationStatus GetResourceConfigurationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return ResourceConfigurationStatus::ACTIVE; + } + else if (hashCode == CREATE_IN_PROGRESS_HASH) + { + return ResourceConfigurationStatus::CREATE_IN_PROGRESS; + } + else if (hashCode == UPDATE_IN_PROGRESS_HASH) + { + return ResourceConfigurationStatus::UPDATE_IN_PROGRESS; + } + else if (hashCode == DELETE_IN_PROGRESS_HASH) + { + return ResourceConfigurationStatus::DELETE_IN_PROGRESS; + } + else if (hashCode == CREATE_FAILED_HASH) + { + return ResourceConfigurationStatus::CREATE_FAILED; + } + else if (hashCode == UPDATE_FAILED_HASH) + { + return ResourceConfigurationStatus::UPDATE_FAILED; + } + else if (hashCode == DELETE_FAILED_HASH) + { + return ResourceConfigurationStatus::DELETE_FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceConfigurationStatus::NOT_SET; + } + + Aws::String GetNameForResourceConfigurationStatus(ResourceConfigurationStatus enumValue) + { + switch(enumValue) + { + case ResourceConfigurationStatus::NOT_SET: + return {}; + case ResourceConfigurationStatus::ACTIVE: + return "ACTIVE"; + case ResourceConfigurationStatus::CREATE_IN_PROGRESS: + return "CREATE_IN_PROGRESS"; + case ResourceConfigurationStatus::UPDATE_IN_PROGRESS: + return "UPDATE_IN_PROGRESS"; + case ResourceConfigurationStatus::DELETE_IN_PROGRESS: + return "DELETE_IN_PROGRESS"; + case ResourceConfigurationStatus::CREATE_FAILED: + return "CREATE_FAILED"; + case ResourceConfigurationStatus::UPDATE_FAILED: + return "UPDATE_FAILED"; + case ResourceConfigurationStatus::DELETE_FAILED: + return "DELETE_FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceConfigurationStatusMapper + } // namespace Model + } // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationSummary.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationSummary.cpp new file mode 100644 index 00000000000..5546e0095ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationSummary.cpp @@ -0,0 +1,184 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + +ResourceConfigurationSummary::ResourceConfigurationSummary() : + m_amazonManaged(false), + m_amazonManagedHasBeenSet(false), + m_arnHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_idHasBeenSet(false), + m_lastUpdatedAtHasBeenSet(false), + m_nameHasBeenSet(false), + m_resourceConfigurationGroupIdHasBeenSet(false), + m_resourceGatewayIdHasBeenSet(false), + m_status(ResourceConfigurationStatus::NOT_SET), + m_statusHasBeenSet(false), + m_type(ResourceConfigurationType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +ResourceConfigurationSummary::ResourceConfigurationSummary(JsonView jsonValue) + : ResourceConfigurationSummary() +{ + *this = jsonValue; +} + +ResourceConfigurationSummary& ResourceConfigurationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("amazonManaged")) + { + m_amazonManaged = jsonValue.GetBool("amazonManaged"); + + m_amazonManagedHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetString("lastUpdatedAt"); + + m_lastUpdatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceConfigurationGroupId")) + { + m_resourceConfigurationGroupId = jsonValue.GetString("resourceConfigurationGroupId"); + + m_resourceConfigurationGroupIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceGatewayId")) + { + m_resourceGatewayId = jsonValue.GetString("resourceGatewayId"); + + m_resourceGatewayIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ResourceConfigurationStatusMapper::GetResourceConfigurationStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = ResourceConfigurationTypeMapper::GetResourceConfigurationTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceConfigurationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_amazonManagedHasBeenSet) + { + payload.WithBool("amazonManaged", m_amazonManaged); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_lastUpdatedAtHasBeenSet) + { + payload.WithString("lastUpdatedAt", m_lastUpdatedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_resourceConfigurationGroupIdHasBeenSet) + { + payload.WithString("resourceConfigurationGroupId", m_resourceConfigurationGroupId); + + } + + if(m_resourceGatewayIdHasBeenSet) + { + payload.WithString("resourceGatewayId", m_resourceGatewayId); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ResourceConfigurationStatusMapper::GetNameForResourceConfigurationStatus(m_status)); + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", ResourceConfigurationTypeMapper::GetNameForResourceConfigurationType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationType.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationType.cpp new file mode 100644 index 00000000000..0cdedd8498c --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceConfigurationType.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace VPCLattice + { + namespace Model + { + namespace ResourceConfigurationTypeMapper + { + + static const int GROUP_HASH = HashingUtils::HashString("GROUP"); + static const int CHILD_HASH = HashingUtils::HashString("CHILD"); + static const int SINGLE_HASH = HashingUtils::HashString("SINGLE"); + static const int ARN_HASH = HashingUtils::HashString("ARN"); + + + ResourceConfigurationType GetResourceConfigurationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GROUP_HASH) + { + return ResourceConfigurationType::GROUP; + } + else if (hashCode == CHILD_HASH) + { + return ResourceConfigurationType::CHILD; + } + else if (hashCode == SINGLE_HASH) + { + return ResourceConfigurationType::SINGLE; + } + else if (hashCode == ARN_HASH) + { + return ResourceConfigurationType::ARN; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceConfigurationType::NOT_SET; + } + + Aws::String GetNameForResourceConfigurationType(ResourceConfigurationType enumValue) + { + switch(enumValue) + { + case ResourceConfigurationType::NOT_SET: + return {}; + case ResourceConfigurationType::GROUP: + return "GROUP"; + case ResourceConfigurationType::CHILD: + return "CHILD"; + case ResourceConfigurationType::SINGLE: + return "SINGLE"; + case ResourceConfigurationType::ARN: + return "ARN"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceConfigurationTypeMapper + } // namespace Model + } // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceEndpointAssociationSummary.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceEndpointAssociationSummary.cpp new file mode 100644 index 00000000000..dd36a189407 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceEndpointAssociationSummary.cpp @@ -0,0 +1,170 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + +ResourceEndpointAssociationSummary::ResourceEndpointAssociationSummary() : + m_arnHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_createdByHasBeenSet(false), + m_idHasBeenSet(false), + m_resourceConfigurationArnHasBeenSet(false), + m_resourceConfigurationIdHasBeenSet(false), + m_resourceConfigurationNameHasBeenSet(false), + m_vpcEndpointIdHasBeenSet(false), + m_vpcEndpointOwnerHasBeenSet(false) +{ +} + +ResourceEndpointAssociationSummary::ResourceEndpointAssociationSummary(JsonView jsonValue) + : ResourceEndpointAssociationSummary() +{ + *this = jsonValue; +} + +ResourceEndpointAssociationSummary& ResourceEndpointAssociationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdBy")) + { + m_createdBy = jsonValue.GetString("createdBy"); + + m_createdByHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceConfigurationArn")) + { + m_resourceConfigurationArn = jsonValue.GetString("resourceConfigurationArn"); + + m_resourceConfigurationArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceConfigurationId")) + { + m_resourceConfigurationId = jsonValue.GetString("resourceConfigurationId"); + + m_resourceConfigurationIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceConfigurationName")) + { + m_resourceConfigurationName = jsonValue.GetString("resourceConfigurationName"); + + m_resourceConfigurationNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("vpcEndpointId")) + { + m_vpcEndpointId = jsonValue.GetString("vpcEndpointId"); + + m_vpcEndpointIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("vpcEndpointOwner")) + { + m_vpcEndpointOwner = jsonValue.GetString("vpcEndpointOwner"); + + m_vpcEndpointOwnerHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceEndpointAssociationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_createdByHasBeenSet) + { + payload.WithString("createdBy", m_createdBy); + + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_resourceConfigurationArnHasBeenSet) + { + payload.WithString("resourceConfigurationArn", m_resourceConfigurationArn); + + } + + if(m_resourceConfigurationIdHasBeenSet) + { + payload.WithString("resourceConfigurationId", m_resourceConfigurationId); + + } + + if(m_resourceConfigurationNameHasBeenSet) + { + payload.WithString("resourceConfigurationName", m_resourceConfigurationName); + + } + + if(m_vpcEndpointIdHasBeenSet) + { + payload.WithString("vpcEndpointId", m_vpcEndpointId); + + } + + if(m_vpcEndpointOwnerHasBeenSet) + { + payload.WithString("vpcEndpointOwner", m_vpcEndpointOwner); + + } + + return payload; +} + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewayIpAddressType.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewayIpAddressType.cpp new file mode 100644 index 00000000000..b818c8abe6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewayIpAddressType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace VPCLattice + { + namespace Model + { + namespace ResourceGatewayIpAddressTypeMapper + { + + static const int IPV4_HASH = HashingUtils::HashString("IPV4"); + static const int IPV6_HASH = HashingUtils::HashString("IPV6"); + static const int DUALSTACK_HASH = HashingUtils::HashString("DUALSTACK"); + + + ResourceGatewayIpAddressType GetResourceGatewayIpAddressTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IPV4_HASH) + { + return ResourceGatewayIpAddressType::IPV4; + } + else if (hashCode == IPV6_HASH) + { + return ResourceGatewayIpAddressType::IPV6; + } + else if (hashCode == DUALSTACK_HASH) + { + return ResourceGatewayIpAddressType::DUALSTACK; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceGatewayIpAddressType::NOT_SET; + } + + Aws::String GetNameForResourceGatewayIpAddressType(ResourceGatewayIpAddressType enumValue) + { + switch(enumValue) + { + case ResourceGatewayIpAddressType::NOT_SET: + return {}; + case ResourceGatewayIpAddressType::IPV4: + return "IPV4"; + case ResourceGatewayIpAddressType::IPV6: + return "IPV6"; + case ResourceGatewayIpAddressType::DUALSTACK: + return "DUALSTACK"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceGatewayIpAddressTypeMapper + } // namespace Model + } // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewayStatus.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewayStatus.cpp new file mode 100644 index 00000000000..75ccbe7435a --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewayStatus.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace VPCLattice + { + namespace Model + { + namespace ResourceGatewayStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int CREATE_IN_PROGRESS_HASH = HashingUtils::HashString("CREATE_IN_PROGRESS"); + static const int UPDATE_IN_PROGRESS_HASH = HashingUtils::HashString("UPDATE_IN_PROGRESS"); + static const int DELETE_IN_PROGRESS_HASH = HashingUtils::HashString("DELETE_IN_PROGRESS"); + static const int CREATE_FAILED_HASH = HashingUtils::HashString("CREATE_FAILED"); + static const int UPDATE_FAILED_HASH = HashingUtils::HashString("UPDATE_FAILED"); + static const int DELETE_FAILED_HASH = HashingUtils::HashString("DELETE_FAILED"); + + + ResourceGatewayStatus GetResourceGatewayStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return ResourceGatewayStatus::ACTIVE; + } + else if (hashCode == CREATE_IN_PROGRESS_HASH) + { + return ResourceGatewayStatus::CREATE_IN_PROGRESS; + } + else if (hashCode == UPDATE_IN_PROGRESS_HASH) + { + return ResourceGatewayStatus::UPDATE_IN_PROGRESS; + } + else if (hashCode == DELETE_IN_PROGRESS_HASH) + { + return ResourceGatewayStatus::DELETE_IN_PROGRESS; + } + else if (hashCode == CREATE_FAILED_HASH) + { + return ResourceGatewayStatus::CREATE_FAILED; + } + else if (hashCode == UPDATE_FAILED_HASH) + { + return ResourceGatewayStatus::UPDATE_FAILED; + } + else if (hashCode == DELETE_FAILED_HASH) + { + return ResourceGatewayStatus::DELETE_FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceGatewayStatus::NOT_SET; + } + + Aws::String GetNameForResourceGatewayStatus(ResourceGatewayStatus enumValue) + { + switch(enumValue) + { + case ResourceGatewayStatus::NOT_SET: + return {}; + case ResourceGatewayStatus::ACTIVE: + return "ACTIVE"; + case ResourceGatewayStatus::CREATE_IN_PROGRESS: + return "CREATE_IN_PROGRESS"; + case ResourceGatewayStatus::UPDATE_IN_PROGRESS: + return "UPDATE_IN_PROGRESS"; + case ResourceGatewayStatus::DELETE_IN_PROGRESS: + return "DELETE_IN_PROGRESS"; + case ResourceGatewayStatus::CREATE_FAILED: + return "CREATE_FAILED"; + case ResourceGatewayStatus::UPDATE_FAILED: + return "UPDATE_FAILED"; + case ResourceGatewayStatus::DELETE_FAILED: + return "DELETE_FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceGatewayStatusMapper + } // namespace Model + } // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewaySummary.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewaySummary.cpp new file mode 100644 index 00000000000..db403457c59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ResourceGatewaySummary.cpp @@ -0,0 +1,199 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + +ResourceGatewaySummary::ResourceGatewaySummary() : + m_arnHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_idHasBeenSet(false), + m_ipAddressType(ResourceGatewayIpAddressType::NOT_SET), + m_ipAddressTypeHasBeenSet(false), + m_lastUpdatedAtHasBeenSet(false), + m_nameHasBeenSet(false), + m_securityGroupIdsHasBeenSet(false), + m_status(ResourceGatewayStatus::NOT_SET), + m_statusHasBeenSet(false), + m_subnetIdsHasBeenSet(false), + m_vpcIdentifierHasBeenSet(false) +{ +} + +ResourceGatewaySummary::ResourceGatewaySummary(JsonView jsonValue) + : ResourceGatewaySummary() +{ + *this = jsonValue; +} + +ResourceGatewaySummary& ResourceGatewaySummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("ipAddressType")) + { + m_ipAddressType = ResourceGatewayIpAddressTypeMapper::GetResourceGatewayIpAddressTypeForName(jsonValue.GetString("ipAddressType")); + + m_ipAddressTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetString("lastUpdatedAt"); + + m_lastUpdatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("securityGroupIds")) + { + Aws::Utils::Array securityGroupIdsJsonList = jsonValue.GetArray("securityGroupIds"); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + m_securityGroupIds.push_back(securityGroupIdsJsonList[securityGroupIdsIndex].AsString()); + } + m_securityGroupIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ResourceGatewayStatusMapper::GetResourceGatewayStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("subnetIds")) + { + Aws::Utils::Array subnetIdsJsonList = jsonValue.GetArray("subnetIds"); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + m_subnetIds.push_back(subnetIdsJsonList[subnetIdsIndex].AsString()); + } + m_subnetIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("vpcIdentifier")) + { + m_vpcIdentifier = jsonValue.GetString("vpcIdentifier"); + + m_vpcIdentifierHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceGatewaySummary::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_ipAddressTypeHasBeenSet) + { + payload.WithString("ipAddressType", ResourceGatewayIpAddressTypeMapper::GetNameForResourceGatewayIpAddressType(m_ipAddressType)); + } + + if(m_lastUpdatedAtHasBeenSet) + { + payload.WithString("lastUpdatedAt", m_lastUpdatedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_securityGroupIdsHasBeenSet) + { + Aws::Utils::Array securityGroupIdsJsonList(m_securityGroupIds.size()); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + securityGroupIdsJsonList[securityGroupIdsIndex].AsString(m_securityGroupIds[securityGroupIdsIndex]); + } + payload.WithArray("securityGroupIds", std::move(securityGroupIdsJsonList)); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ResourceGatewayStatusMapper::GetNameForResourceGatewayStatus(m_status)); + } + + if(m_subnetIdsHasBeenSet) + { + Aws::Utils::Array subnetIdsJsonList(m_subnetIds.size()); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + subnetIdsJsonList[subnetIdsIndex].AsString(m_subnetIds[subnetIdsIndex]); + } + payload.WithArray("subnetIds", std::move(subnetIdsJsonList)); + + } + + if(m_vpcIdentifierHasBeenSet) + { + payload.WithString("vpcIdentifier", m_vpcIdentifier); + + } + + return payload; +} + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkEndpointAssociation.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkEndpointAssociation.cpp new file mode 100644 index 00000000000..e89937ffa69 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkEndpointAssociation.cpp @@ -0,0 +1,142 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + +ServiceNetworkEndpointAssociation::ServiceNetworkEndpointAssociation() : + m_createdAtHasBeenSet(false), + m_idHasBeenSet(false), + m_serviceNetworkArnHasBeenSet(false), + m_stateHasBeenSet(false), + m_vpcEndpointIdHasBeenSet(false), + m_vpcEndpointOwnerIdHasBeenSet(false), + m_vpcIdHasBeenSet(false) +{ +} + +ServiceNetworkEndpointAssociation::ServiceNetworkEndpointAssociation(JsonView jsonValue) + : ServiceNetworkEndpointAssociation() +{ + *this = jsonValue; +} + +ServiceNetworkEndpointAssociation& ServiceNetworkEndpointAssociation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceNetworkArn")) + { + m_serviceNetworkArn = jsonValue.GetString("serviceNetworkArn"); + + m_serviceNetworkArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("state")) + { + m_state = jsonValue.GetString("state"); + + m_stateHasBeenSet = true; + } + + if(jsonValue.ValueExists("vpcEndpointId")) + { + m_vpcEndpointId = jsonValue.GetString("vpcEndpointId"); + + m_vpcEndpointIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("vpcEndpointOwnerId")) + { + m_vpcEndpointOwnerId = jsonValue.GetString("vpcEndpointOwnerId"); + + m_vpcEndpointOwnerIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("vpcId")) + { + m_vpcId = jsonValue.GetString("vpcId"); + + m_vpcIdHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceNetworkEndpointAssociation::Jsonize() const +{ + JsonValue payload; + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_serviceNetworkArnHasBeenSet) + { + payload.WithString("serviceNetworkArn", m_serviceNetworkArn); + + } + + if(m_stateHasBeenSet) + { + payload.WithString("state", m_state); + + } + + if(m_vpcEndpointIdHasBeenSet) + { + payload.WithString("vpcEndpointId", m_vpcEndpointId); + + } + + if(m_vpcEndpointOwnerIdHasBeenSet) + { + payload.WithString("vpcEndpointOwnerId", m_vpcEndpointOwnerId); + + } + + if(m_vpcIdHasBeenSet) + { + payload.WithString("vpcId", m_vpcId); + + } + + return payload; +} + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkLogType.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkLogType.cpp new file mode 100644 index 00000000000..21b09c958f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkLogType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace VPCLattice + { + namespace Model + { + namespace ServiceNetworkLogTypeMapper + { + + static const int SERVICE_HASH = HashingUtils::HashString("SERVICE"); + static const int RESOURCE_HASH = HashingUtils::HashString("RESOURCE"); + + + ServiceNetworkLogType GetServiceNetworkLogTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SERVICE_HASH) + { + return ServiceNetworkLogType::SERVICE; + } + else if (hashCode == RESOURCE_HASH) + { + return ServiceNetworkLogType::RESOURCE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ServiceNetworkLogType::NOT_SET; + } + + Aws::String GetNameForServiceNetworkLogType(ServiceNetworkLogType enumValue) + { + switch(enumValue) + { + case ServiceNetworkLogType::NOT_SET: + return {}; + case ServiceNetworkLogType::SERVICE: + return "SERVICE"; + case ServiceNetworkLogType::RESOURCE: + return "RESOURCE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ServiceNetworkLogTypeMapper + } // namespace Model + } // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkResourceAssociationStatus.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkResourceAssociationStatus.cpp new file mode 100644 index 00000000000..f115a20b5d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkResourceAssociationStatus.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace VPCLattice + { + namespace Model + { + namespace ServiceNetworkResourceAssociationStatusMapper + { + + static const int CREATE_IN_PROGRESS_HASH = HashingUtils::HashString("CREATE_IN_PROGRESS"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int PARTIAL_HASH = HashingUtils::HashString("PARTIAL"); + static const int DELETE_IN_PROGRESS_HASH = HashingUtils::HashString("DELETE_IN_PROGRESS"); + static const int CREATE_FAILED_HASH = HashingUtils::HashString("CREATE_FAILED"); + static const int DELETE_FAILED_HASH = HashingUtils::HashString("DELETE_FAILED"); + + + ServiceNetworkResourceAssociationStatus GetServiceNetworkResourceAssociationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATE_IN_PROGRESS_HASH) + { + return ServiceNetworkResourceAssociationStatus::CREATE_IN_PROGRESS; + } + else if (hashCode == ACTIVE_HASH) + { + return ServiceNetworkResourceAssociationStatus::ACTIVE; + } + else if (hashCode == PARTIAL_HASH) + { + return ServiceNetworkResourceAssociationStatus::PARTIAL; + } + else if (hashCode == DELETE_IN_PROGRESS_HASH) + { + return ServiceNetworkResourceAssociationStatus::DELETE_IN_PROGRESS; + } + else if (hashCode == CREATE_FAILED_HASH) + { + return ServiceNetworkResourceAssociationStatus::CREATE_FAILED; + } + else if (hashCode == DELETE_FAILED_HASH) + { + return ServiceNetworkResourceAssociationStatus::DELETE_FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ServiceNetworkResourceAssociationStatus::NOT_SET; + } + + Aws::String GetNameForServiceNetworkResourceAssociationStatus(ServiceNetworkResourceAssociationStatus enumValue) + { + switch(enumValue) + { + case ServiceNetworkResourceAssociationStatus::NOT_SET: + return {}; + case ServiceNetworkResourceAssociationStatus::CREATE_IN_PROGRESS: + return "CREATE_IN_PROGRESS"; + case ServiceNetworkResourceAssociationStatus::ACTIVE: + return "ACTIVE"; + case ServiceNetworkResourceAssociationStatus::PARTIAL: + return "PARTIAL"; + case ServiceNetworkResourceAssociationStatus::DELETE_IN_PROGRESS: + return "DELETE_IN_PROGRESS"; + case ServiceNetworkResourceAssociationStatus::CREATE_FAILED: + return "CREATE_FAILED"; + case ServiceNetworkResourceAssociationStatus::DELETE_FAILED: + return "DELETE_FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ServiceNetworkResourceAssociationStatusMapper + } // namespace Model + } // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkResourceAssociationSummary.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkResourceAssociationSummary.cpp new file mode 100644 index 00000000000..a291d49c7ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkResourceAssociationSummary.cpp @@ -0,0 +1,255 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + +ServiceNetworkResourceAssociationSummary::ServiceNetworkResourceAssociationSummary() : + m_arnHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_createdByHasBeenSet(false), + m_dnsEntryHasBeenSet(false), + m_failureCodeHasBeenSet(false), + m_idHasBeenSet(false), + m_isManagedAssociation(false), + m_isManagedAssociationHasBeenSet(false), + m_privateDnsEntryHasBeenSet(false), + m_resourceConfigurationArnHasBeenSet(false), + m_resourceConfigurationIdHasBeenSet(false), + m_resourceConfigurationNameHasBeenSet(false), + m_serviceNetworkArnHasBeenSet(false), + m_serviceNetworkIdHasBeenSet(false), + m_serviceNetworkNameHasBeenSet(false), + m_status(ServiceNetworkResourceAssociationStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +ServiceNetworkResourceAssociationSummary::ServiceNetworkResourceAssociationSummary(JsonView jsonValue) + : ServiceNetworkResourceAssociationSummary() +{ + *this = jsonValue; +} + +ServiceNetworkResourceAssociationSummary& ServiceNetworkResourceAssociationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdBy")) + { + m_createdBy = jsonValue.GetString("createdBy"); + + m_createdByHasBeenSet = true; + } + + if(jsonValue.ValueExists("dnsEntry")) + { + m_dnsEntry = jsonValue.GetObject("dnsEntry"); + + m_dnsEntryHasBeenSet = true; + } + + if(jsonValue.ValueExists("failureCode")) + { + m_failureCode = jsonValue.GetString("failureCode"); + + m_failureCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("isManagedAssociation")) + { + m_isManagedAssociation = jsonValue.GetBool("isManagedAssociation"); + + m_isManagedAssociationHasBeenSet = true; + } + + if(jsonValue.ValueExists("privateDnsEntry")) + { + m_privateDnsEntry = jsonValue.GetObject("privateDnsEntry"); + + m_privateDnsEntryHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceConfigurationArn")) + { + m_resourceConfigurationArn = jsonValue.GetString("resourceConfigurationArn"); + + m_resourceConfigurationArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceConfigurationId")) + { + m_resourceConfigurationId = jsonValue.GetString("resourceConfigurationId"); + + m_resourceConfigurationIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceConfigurationName")) + { + m_resourceConfigurationName = jsonValue.GetString("resourceConfigurationName"); + + m_resourceConfigurationNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceNetworkArn")) + { + m_serviceNetworkArn = jsonValue.GetString("serviceNetworkArn"); + + m_serviceNetworkArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceNetworkId")) + { + m_serviceNetworkId = jsonValue.GetString("serviceNetworkId"); + + m_serviceNetworkIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceNetworkName")) + { + m_serviceNetworkName = jsonValue.GetString("serviceNetworkName"); + + m_serviceNetworkNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ServiceNetworkResourceAssociationStatusMapper::GetServiceNetworkResourceAssociationStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceNetworkResourceAssociationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_createdByHasBeenSet) + { + payload.WithString("createdBy", m_createdBy); + + } + + if(m_dnsEntryHasBeenSet) + { + payload.WithObject("dnsEntry", m_dnsEntry.Jsonize()); + + } + + if(m_failureCodeHasBeenSet) + { + payload.WithString("failureCode", m_failureCode); + + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_isManagedAssociationHasBeenSet) + { + payload.WithBool("isManagedAssociation", m_isManagedAssociation); + + } + + if(m_privateDnsEntryHasBeenSet) + { + payload.WithObject("privateDnsEntry", m_privateDnsEntry.Jsonize()); + + } + + if(m_resourceConfigurationArnHasBeenSet) + { + payload.WithString("resourceConfigurationArn", m_resourceConfigurationArn); + + } + + if(m_resourceConfigurationIdHasBeenSet) + { + payload.WithString("resourceConfigurationId", m_resourceConfigurationId); + + } + + if(m_resourceConfigurationNameHasBeenSet) + { + payload.WithString("resourceConfigurationName", m_resourceConfigurationName); + + } + + if(m_serviceNetworkArnHasBeenSet) + { + payload.WithString("serviceNetworkArn", m_serviceNetworkArn); + + } + + if(m_serviceNetworkIdHasBeenSet) + { + payload.WithString("serviceNetworkId", m_serviceNetworkId); + + } + + if(m_serviceNetworkNameHasBeenSet) + { + payload.WithString("serviceNetworkName", m_serviceNetworkName); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ServiceNetworkResourceAssociationStatusMapper::GetNameForServiceNetworkResourceAssociationStatus(m_status)); + } + + return payload; +} + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkSummary.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkSummary.cpp index 0f63323ba2f..3ec2130cd29 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkSummary.cpp +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/ServiceNetworkSummary.cpp @@ -24,6 +24,8 @@ ServiceNetworkSummary::ServiceNetworkSummary() : m_idHasBeenSet(false), m_lastUpdatedAtHasBeenSet(false), m_nameHasBeenSet(false), + m_numberOfAssociatedResourceConfigurations(0), + m_numberOfAssociatedResourceConfigurationsHasBeenSet(false), m_numberOfAssociatedServices(0), m_numberOfAssociatedServicesHasBeenSet(false), m_numberOfAssociatedVPCs(0), @@ -74,6 +76,13 @@ ServiceNetworkSummary& ServiceNetworkSummary::operator =(JsonView jsonValue) m_nameHasBeenSet = true; } + if(jsonValue.ValueExists("numberOfAssociatedResourceConfigurations")) + { + m_numberOfAssociatedResourceConfigurations = jsonValue.GetInt64("numberOfAssociatedResourceConfigurations"); + + m_numberOfAssociatedResourceConfigurationsHasBeenSet = true; + } + if(jsonValue.ValueExists("numberOfAssociatedServices")) { m_numberOfAssociatedServices = jsonValue.GetInt64("numberOfAssociatedServices"); @@ -123,6 +132,12 @@ JsonValue ServiceNetworkSummary::Jsonize() const } + if(m_numberOfAssociatedResourceConfigurationsHasBeenSet) + { + payload.WithInt64("numberOfAssociatedResourceConfigurations", m_numberOfAssociatedResourceConfigurations); + + } + if(m_numberOfAssociatedServicesHasBeenSet) { payload.WithInt64("numberOfAssociatedServices", m_numberOfAssociatedServices); diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/SharingConfig.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/SharingConfig.cpp new file mode 100644 index 00000000000..b7fd3a217b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/SharingConfig.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace VPCLattice +{ +namespace Model +{ + +SharingConfig::SharingConfig() : + m_enabled(false), + m_enabledHasBeenSet(false) +{ +} + +SharingConfig::SharingConfig(JsonView jsonValue) + : SharingConfig() +{ + *this = jsonValue; +} + +SharingConfig& SharingConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabled")) + { + m_enabled = jsonValue.GetBool("enabled"); + + m_enabledHasBeenSet = true; + } + + return *this; +} + +JsonValue SharingConfig::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + return payload; +} + +} // namespace Model +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceConfigurationRequest.cpp new file mode 100644 index 00000000000..e0bf20994cf --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceConfigurationRequest.cpp @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateResourceConfigurationRequest::UpdateResourceConfigurationRequest() : + m_allowAssociationToShareableServiceNetwork(false), + m_allowAssociationToShareableServiceNetworkHasBeenSet(false), + m_portRangesHasBeenSet(false), + m_resourceConfigurationDefinitionHasBeenSet(false), + m_resourceConfigurationIdentifierHasBeenSet(false) +{ +} + +Aws::String UpdateResourceConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_allowAssociationToShareableServiceNetworkHasBeenSet) + { + payload.WithBool("allowAssociationToShareableServiceNetwork", m_allowAssociationToShareableServiceNetwork); + + } + + if(m_portRangesHasBeenSet) + { + Aws::Utils::Array portRangesJsonList(m_portRanges.size()); + for(unsigned portRangesIndex = 0; portRangesIndex < portRangesJsonList.GetLength(); ++portRangesIndex) + { + portRangesJsonList[portRangesIndex].AsString(m_portRanges[portRangesIndex]); + } + payload.WithArray("portRanges", std::move(portRangesJsonList)); + + } + + if(m_resourceConfigurationDefinitionHasBeenSet) + { + payload.WithObject("resourceConfigurationDefinition", m_resourceConfigurationDefinition.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceConfigurationResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceConfigurationResult.cpp new file mode 100644 index 00000000000..75ad163dcdf --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceConfigurationResult.cpp @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateResourceConfigurationResult::UpdateResourceConfigurationResult() : + m_allowAssociationToShareableServiceNetwork(false), + m_protocol(ProtocolType::NOT_SET), + m_status(ResourceConfigurationStatus::NOT_SET), + m_type(ResourceConfigurationType::NOT_SET) +{ +} + +UpdateResourceConfigurationResult::UpdateResourceConfigurationResult(const Aws::AmazonWebServiceResult& result) + : UpdateResourceConfigurationResult() +{ + *this = result; +} + +UpdateResourceConfigurationResult& UpdateResourceConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("allowAssociationToShareableServiceNetwork")) + { + m_allowAssociationToShareableServiceNetwork = jsonValue.GetBool("allowAssociationToShareableServiceNetwork"); + + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("portRanges")) + { + Aws::Utils::Array portRangesJsonList = jsonValue.GetArray("portRanges"); + for(unsigned portRangesIndex = 0; portRangesIndex < portRangesJsonList.GetLength(); ++portRangesIndex) + { + m_portRanges.push_back(portRangesJsonList[portRangesIndex].AsString()); + } + } + + if(jsonValue.ValueExists("protocol")) + { + m_protocol = ProtocolTypeMapper::GetProtocolTypeForName(jsonValue.GetString("protocol")); + + } + + if(jsonValue.ValueExists("resourceConfigurationDefinition")) + { + m_resourceConfigurationDefinition = jsonValue.GetObject("resourceConfigurationDefinition"); + + } + + if(jsonValue.ValueExists("resourceConfigurationGroupId")) + { + m_resourceConfigurationGroupId = jsonValue.GetString("resourceConfigurationGroupId"); + + } + + if(jsonValue.ValueExists("resourceGatewayId")) + { + m_resourceGatewayId = jsonValue.GetString("resourceGatewayId"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = ResourceConfigurationStatusMapper::GetResourceConfigurationStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("type")) + { + m_type = ResourceConfigurationTypeMapper::GetResourceConfigurationTypeForName(jsonValue.GetString("type")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceGatewayRequest.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceGatewayRequest.cpp new file mode 100644 index 00000000000..8159851541b --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceGatewayRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateResourceGatewayRequest::UpdateResourceGatewayRequest() : + m_resourceGatewayIdentifierHasBeenSet(false), + m_securityGroupIdsHasBeenSet(false) +{ +} + +Aws::String UpdateResourceGatewayRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_securityGroupIdsHasBeenSet) + { + Aws::Utils::Array securityGroupIdsJsonList(m_securityGroupIds.size()); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + securityGroupIdsJsonList[securityGroupIdsIndex].AsString(m_securityGroupIds[securityGroupIdsIndex]); + } + payload.WithArray("securityGroupIds", std::move(securityGroupIdsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceGatewayResult.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceGatewayResult.cpp new file mode 100644 index 00000000000..e74f9078037 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/model/UpdateResourceGatewayResult.cpp @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::VPCLattice::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateResourceGatewayResult::UpdateResourceGatewayResult() : + m_ipAddressType(IpAddressType::NOT_SET), + m_status(ResourceGatewayStatus::NOT_SET) +{ +} + +UpdateResourceGatewayResult::UpdateResourceGatewayResult(const Aws::AmazonWebServiceResult& result) + : UpdateResourceGatewayResult() +{ + *this = result; +} + +UpdateResourceGatewayResult& UpdateResourceGatewayResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("ipAddressType")) + { + m_ipAddressType = IpAddressTypeMapper::GetIpAddressTypeForName(jsonValue.GetString("ipAddressType")); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("securityGroupIds")) + { + Aws::Utils::Array securityGroupIdsJsonList = jsonValue.GetArray("securityGroupIds"); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + m_securityGroupIds.push_back(securityGroupIdsJsonList[securityGroupIdsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("status")) + { + m_status = ResourceGatewayStatusMapper::GetResourceGatewayStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("subnetIds")) + { + Aws::Utils::Array subnetIdsJsonList = jsonValue.GetArray("subnetIds"); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + m_subnetIds.push_back(subnetIdsJsonList[subnetIdsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("vpcId")) + { + m_vpcId = jsonValue.GetString("vpcId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/tests/invoicing-gen-tests/CMakeLists.txt b/generated/tests/invoicing-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..091852ca55b --- /dev/null +++ b/generated/tests/invoicing-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(invoicing-gen-tests + "Tests for the AWS INVOICING C++ SDK" + testing-resources + aws-cpp-sdk-invoicing + aws-cpp-sdk-core) + +file(GLOB AWS_INVOICING_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_INVOICING_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_INVOICING_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/invoicing-gen-tests/InvoicingEndpointProviderTests.cpp b/generated/tests/invoicing-gen-tests/InvoicingEndpointProviderTests.cpp new file mode 100644 index 00000000000..3ab66276207 --- /dev/null +++ b/generated/tests/invoicing-gen-tests/InvoicingEndpointProviderTests.cpp @@ -0,0 +1,371 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSInvoicingEndpointProviderTests"; +using InvoicingEndpointProvider = Aws::Invoicing::Endpoint::InvoicingEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct InvoicingEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class InvoicingEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> InvoicingEndpointProviderTests::TEST_CASES; +const size_t InvoicingEndpointProviderTests::TEST_CASES_SZ = 17; + +Aws::Vector InvoicingEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing-fips.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing-fips.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing-fips.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 13*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 15*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://invoicing.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const InvoicingEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(InvoicingEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const InvoicingEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/InvoicingEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize InvoicingEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + InvoicingEndpointProviderTests, + ::testing::Range((size_t) 0u, InvoicingEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/invoicing-gen-tests/RunTests.cpp b/generated/tests/invoicing-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/invoicing-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/networkflowmonitor-gen-tests/CMakeLists.txt b/generated/tests/networkflowmonitor-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..bfba034d920 --- /dev/null +++ b/generated/tests/networkflowmonitor-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(networkflowmonitor-gen-tests + "Tests for the AWS NETWORKFLOWMONITOR C++ SDK" + testing-resources + aws-cpp-sdk-networkflowmonitor + aws-cpp-sdk-core) + +file(GLOB AWS_NETWORKFLOWMONITOR_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_NETWORKFLOWMONITOR_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_NETWORKFLOWMONITOR_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/networkflowmonitor-gen-tests/NetworkFlowMonitorEndpointProviderTests.cpp b/generated/tests/networkflowmonitor-gen-tests/NetworkFlowMonitorEndpointProviderTests.cpp new file mode 100644 index 00000000000..8256dcaf8fd --- /dev/null +++ b/generated/tests/networkflowmonitor-gen-tests/NetworkFlowMonitorEndpointProviderTests.cpp @@ -0,0 +1,371 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSNetworkFlowMonitorEndpointProviderTests"; +using NetworkFlowMonitorEndpointProvider = Aws::NetworkFlowMonitor::Endpoint::NetworkFlowMonitorEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct NetworkFlowMonitorEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class NetworkFlowMonitorEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> NetworkFlowMonitorEndpointProviderTests::TEST_CASES; +const size_t NetworkFlowMonitorEndpointProviderTests::TEST_CASES_SZ = 17; + +Aws::Vector NetworkFlowMonitorEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor-fips.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor-fips.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor-fips.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 13*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 15*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://networkflowmonitor.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const NetworkFlowMonitorEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(NetworkFlowMonitorEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const NetworkFlowMonitorEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/NetworkFlowMonitorEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize NetworkFlowMonitorEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + NetworkFlowMonitorEndpointProviderTests, + ::testing::Range((size_t) 0u, NetworkFlowMonitorEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/networkflowmonitor-gen-tests/RunTests.cpp b/generated/tests/networkflowmonitor-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/networkflowmonitor-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp b/generated/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp index 3fc958c139b..68612b58868 100644 --- a/generated/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp +++ b/generated/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp @@ -74,7 +74,7 @@ class S3CrtEndpointProviderTests : public ::testing::TestWithParam }; Aws::UniquePtrSafeDeleted> S3CrtEndpointProviderTests::TEST_CASES; -const size_t S3CrtEndpointProviderTests::TEST_CASES_SZ = 298; +const size_t S3CrtEndpointProviderTests::TEST_CASES_SZ = 310; Aws::Vector S3CrtEndpointProviderTests::getTestCase() { @@ -2400,66 +2400,126 @@ Aws::Vector S3CrtEndpointProviderTests::g {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 274*/ - {"Data Plane with short AZ", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + {"Data Plane with short zone name", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--abcd-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--use1-az1--x-s3.s3express-use1-az1.us-east-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.us-east-1.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 275*/ - {"Data Plane with short AZ fips", // documentation - {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + {"Data Plane with short zone names (13 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--use1-az1--x-s3.s3express-fips-use1-az1.us-east-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 276*/ - {"Data Plane with long AZ", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--apne1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "ap-northeast-1"), + {"Data Plane with medium zone names (14 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 277*/ - {"Data Plane with long AZ fips", // documentation - {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--apne1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "ap-northeast-1"), + {"Data Plane with long zone names (20 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-long1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 278*/ + {"Data Plane with short zone fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test-ab1--x-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 279*/ + {"Data Plane with short zone (13 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 280*/ + {"Data Plane with medium zone (14 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 281*/ + {"Data Plane with long zone (20 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-long1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 282*/ + {"Data Plane with long AZ", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 283*/ + {"Data Plane with long AZ fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 284*/ {"Control plane with short AZ bucket", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", false)}, // params {}, // tags - {{/*epUrl*/"https://s3express-control.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3", + {{/*epUrl*/"https://s3express-control.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 279*/ + /*TEST CASE 285*/ {"Control plane with short AZ bucket and fips", // documentation - {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", false)}, // params {}, // tags - {{/*epUrl*/"https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3", + {{/*epUrl*/"https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 280*/ + /*TEST CASE 286*/ {"Control plane without bucket", // documentation {EpParam("UseFIPS", false), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", false)}, // params @@ -2469,7 +2529,7 @@ Aws::Vector S3CrtEndpointProviderTests::g {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 281*/ + /*TEST CASE 287*/ {"Control plane without bucket and fips", // documentation {EpParam("UseFIPS", true), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", false)}, // params @@ -2479,7 +2539,7 @@ Aws::Vector S3CrtEndpointProviderTests::g {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 282*/ + /*TEST CASE 288*/ {"Data Plane sigv4 auth with short AZ", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params @@ -2489,7 +2549,17 @@ Aws::Vector S3CrtEndpointProviderTests::g {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 283*/ + /*TEST CASE 289*/ + {"Data Plane sigv4 auth with short zone (13 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test-zone-ab1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), + EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 290*/ {"Data Plane sigv4 auth with short AZ fips", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params @@ -2499,27 +2569,77 @@ Aws::Vector S3CrtEndpointProviderTests::g {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 284*/ + /*TEST CASE 291*/ + {"Data Plane sigv4 auth with short zone (13 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test-zone-ab1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), + EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 292*/ {"Data Plane sigv4 auth with long AZ", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--apne1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "ap-northeast-1"), + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 285*/ + /*TEST CASE 293*/ + {"Data Plane sigv4 auth with medium zone(14 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 294*/ + {"Data Plane sigv4 auth with long zone(20 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-long1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 295*/ {"Data Plane sigv4 auth with long AZ fips", // documentation - {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--apne1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "ap-northeast-1"), + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 286*/ + /*TEST CASE 296*/ + {"Data Plane sigv4 auth with medium zone (14 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 297*/ + {"Data Plane sigv4 auth with long zone (20 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-long1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 298*/ {"Control Plane host override", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://custom.com"), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params @@ -2529,7 +2649,7 @@ Aws::Vector S3CrtEndpointProviderTests::g {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 287*/ + /*TEST CASE 299*/ {"Control Plane host override no bucket", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://custom.com"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params @@ -2539,7 +2659,7 @@ Aws::Vector S3CrtEndpointProviderTests::g {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 288*/ + /*TEST CASE 300*/ {"Data plane host override non virtual session auth", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://10.0.0.1"), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2549,7 +2669,7 @@ Aws::Vector S3CrtEndpointProviderTests::g {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 289*/ + /*TEST CASE 301*/ {"Control Plane host override ip", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://10.0.0.1"), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params @@ -2559,7 +2679,7 @@ Aws::Vector S3CrtEndpointProviderTests::g {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 290*/ + /*TEST CASE 302*/ {"Data plane host override", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://custom.com"), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2569,49 +2689,49 @@ Aws::Vector S3CrtEndpointProviderTests::g {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 291*/ + /*TEST CASE 303*/ {"bad format error", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--usaz1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Unrecognized S3Express bucket name format."} // expect }, - /*TEST CASE 292*/ + /*TEST CASE 304*/ {"bad format error no session auth", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--usaz1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Unrecognized S3Express bucket name format."} // expect }, - /*TEST CASE 293*/ + /*TEST CASE 305*/ {"dual-stack error", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3Express does not support Dual-stack."} // expect }, - /*TEST CASE 294*/ + /*TEST CASE 306*/ {"accelerate error", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3Express does not support S3 Accelerate."} // expect }, - /*TEST CASE 295*/ + /*TEST CASE 307*/ {"Data plane bucket format error", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "my.bucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + {EpParam("UseFIPS", false), EpParam("Bucket", "my.bucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3Express bucket name is not a valid virtual hostable name."} // expect }, - /*TEST CASE 296*/ + /*TEST CASE 308*/ {"host override data plane bucket error session auth", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://custom.com"), EpParam("Bucket", "my.bucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3Express bucket name is not a valid virtual hostable name."} // expect }, - /*TEST CASE 297*/ + /*TEST CASE 309*/ {"host override data plane bucket error", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://custom.com"), EpParam("Bucket", "my.bucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params diff --git a/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp b/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp index adf05c1dd3b..912b7955817 100644 --- a/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp +++ b/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp @@ -74,7 +74,7 @@ class S3EndpointProviderTests : public ::testing::TestWithParam }; Aws::UniquePtrSafeDeleted> S3EndpointProviderTests::TEST_CASES; -const size_t S3EndpointProviderTests::TEST_CASES_SZ = 298; +const size_t S3EndpointProviderTests::TEST_CASES_SZ = 310; Aws::Vector S3EndpointProviderTests::getTestCase() { @@ -2400,66 +2400,126 @@ Aws::Vector S3EndpointProviderTests::getTest {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 274*/ - {"Data Plane with short AZ", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + {"Data Plane with short zone name", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--abcd-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--use1-az1--x-s3.s3express-use1-az1.us-east-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.us-east-1.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 275*/ - {"Data Plane with short AZ fips", // documentation - {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + {"Data Plane with short zone names (13 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--use1-az1--x-s3.s3express-fips-use1-az1.us-east-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 276*/ - {"Data Plane with long AZ", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--apne1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "ap-northeast-1"), + {"Data Plane with medium zone names (14 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 277*/ - {"Data Plane with long AZ fips", // documentation - {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--apne1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "ap-northeast-1"), + {"Data Plane with long zone names (20 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-long1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 278*/ + {"Data Plane with short zone fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test-ab1--x-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 279*/ + {"Data Plane with short zone (13 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 280*/ + {"Data Plane with medium zone (14 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 281*/ + {"Data Plane with long zone (20 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-long1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 282*/ + {"Data Plane with long AZ", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 283*/ + {"Data Plane with long AZ fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 284*/ {"Control plane with short AZ bucket", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", false)}, // params {}, // tags - {{/*epUrl*/"https://s3express-control.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3", + {{/*epUrl*/"https://s3express-control.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 279*/ + /*TEST CASE 285*/ {"Control plane with short AZ bucket and fips", // documentation - {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", false)}, // params {}, // tags - {{/*epUrl*/"https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3", + {{/*epUrl*/"https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 280*/ + /*TEST CASE 286*/ {"Control plane without bucket", // documentation {EpParam("UseFIPS", false), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", false)}, // params @@ -2469,7 +2529,7 @@ Aws::Vector S3EndpointProviderTests::getTest {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 281*/ + /*TEST CASE 287*/ {"Control plane without bucket and fips", // documentation {EpParam("UseFIPS", true), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", false)}, // params @@ -2479,7 +2539,7 @@ Aws::Vector S3EndpointProviderTests::getTest {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 282*/ + /*TEST CASE 288*/ {"Data Plane sigv4 auth with short AZ", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params @@ -2489,7 +2549,17 @@ Aws::Vector S3EndpointProviderTests::getTest {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 283*/ + /*TEST CASE 289*/ + {"Data Plane sigv4 auth with short zone (13 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test-zone-ab1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), + EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 290*/ {"Data Plane sigv4 auth with short AZ fips", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params @@ -2499,27 +2569,77 @@ Aws::Vector S3EndpointProviderTests::getTest {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 284*/ + /*TEST CASE 291*/ + {"Data Plane sigv4 auth with short zone (13 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test-zone-ab1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), + EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 292*/ {"Data Plane sigv4 auth with long AZ", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--apne1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "ap-northeast-1"), + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 285*/ + /*TEST CASE 293*/ + {"Data Plane sigv4 auth with medium zone(14 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 294*/ + {"Data Plane sigv4 auth with long zone(20 chars)", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test1-long1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 295*/ {"Data Plane sigv4 auth with long AZ fips", // documentation - {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--apne1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "ap-northeast-1"), + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params {}, // tags - {{/*epUrl*/"https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com", + {{/*epUrl*/"https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 286*/ + /*TEST CASE 296*/ + {"Data Plane sigv4 auth with medium zone (14 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 297*/ + {"Data Plane sigv4 auth with long zone (20 chars) fips", // documentation + {EpParam("UseFIPS", true), EpParam("Bucket", "mybucket--test1-long1-zone-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-west-2"), + EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params + {}, // tags + {{/*epUrl*/"https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 298*/ {"Control Plane host override", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://custom.com"), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params @@ -2529,7 +2649,7 @@ Aws::Vector S3EndpointProviderTests::getTest {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 287*/ + /*TEST CASE 299*/ {"Control Plane host override no bucket", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://custom.com"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params @@ -2539,7 +2659,7 @@ Aws::Vector S3EndpointProviderTests::getTest {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 288*/ + /*TEST CASE 300*/ {"Data plane host override non virtual session auth", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://10.0.0.1"), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2549,7 +2669,7 @@ Aws::Vector S3EndpointProviderTests::getTest {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 289*/ + /*TEST CASE 301*/ {"Control Plane host override ip", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://10.0.0.1"), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params @@ -2559,7 +2679,7 @@ Aws::Vector S3EndpointProviderTests::getTest {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 290*/ + /*TEST CASE 302*/ {"Data plane host override", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://custom.com"), EpParam("Bucket", "mybucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2569,49 +2689,49 @@ Aws::Vector S3EndpointProviderTests::getTest {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 291*/ + /*TEST CASE 303*/ {"bad format error", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--usaz1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Unrecognized S3Express bucket name format."} // expect }, - /*TEST CASE 292*/ + /*TEST CASE 304*/ {"bad format error no session auth", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--usaz1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Unrecognized S3Express bucket name format."} // expect }, - /*TEST CASE 293*/ + /*TEST CASE 305*/ {"dual-stack error", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3Express does not support Dual-stack."} // expect }, - /*TEST CASE 294*/ + /*TEST CASE 306*/ {"accelerate error", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + {EpParam("UseFIPS", false), EpParam("Bucket", "mybucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3Express does not support S3 Accelerate."} // expect }, - /*TEST CASE 295*/ + /*TEST CASE 307*/ {"Data plane bucket format error", // documentation - {EpParam("UseFIPS", false), EpParam("Bucket", "my.bucket--use1-az1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), + {EpParam("UseFIPS", false), EpParam("Bucket", "my.bucket--test-ab1--x-s3"), EpParam("UseS3ExpressControlEndpoint", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3Express bucket name is not a valid virtual hostable name."} // expect }, - /*TEST CASE 296*/ + /*TEST CASE 308*/ {"host override data plane bucket error session auth", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://custom.com"), EpParam("Bucket", "my.bucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3Express bucket name is not a valid virtual hostable name."} // expect }, - /*TEST CASE 297*/ + /*TEST CASE 309*/ {"host override data plane bucket error", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://custom.com"), EpParam("Bucket", "my.bucket--usw2-az1--x-s3"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("DisableS3ExpressSessionAuth", true)}, // params diff --git a/generated/tests/security-ir-gen-tests/CMakeLists.txt b/generated/tests/security-ir-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..1d1aca31448 --- /dev/null +++ b/generated/tests/security-ir-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(security-ir-gen-tests + "Tests for the AWS SECURITY-IR C++ SDK" + testing-resources + aws-cpp-sdk-security-ir + aws-cpp-sdk-core) + +file(GLOB AWS_SECURITY-IR_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_SECURITY-IR_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_SECURITY-IR_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/security-ir-gen-tests/RunTests.cpp b/generated/tests/security-ir-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/security-ir-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/security-ir-gen-tests/SecurityIREndpointProviderTests.cpp b/generated/tests/security-ir-gen-tests/SecurityIREndpointProviderTests.cpp new file mode 100644 index 00000000000..20744b8ea3a --- /dev/null +++ b/generated/tests/security-ir-gen-tests/SecurityIREndpointProviderTests.cpp @@ -0,0 +1,371 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSSecurityIREndpointProviderTests"; +using SecurityIREndpointProvider = Aws::SecurityIR::Endpoint::SecurityIREndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct SecurityIREndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class SecurityIREndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> SecurityIREndpointProviderTests::TEST_CASES; +const size_t SecurityIREndpointProviderTests::TEST_CASES_SZ = 17; + +Aws::Vector SecurityIREndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir-fips.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir-fips.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir-fips.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 13*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 15*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://security-ir.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const SecurityIREndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(SecurityIREndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const SecurityIREndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/SecurityIREndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize SecurityIREndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + SecurityIREndpointProviderTests, + ::testing::Range((size_t) 0u, SecurityIREndpointProviderTests::TEST_CASES_SZ)); diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index 3811a7b6c33..997c2031e69 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.457" +#define AWS_SDK_VERSION_STRING "1.11.458" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 457 +#define AWS_SDK_VERSION_PATCH 458 diff --git a/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json b/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json index 0d2dadc2806..ff967634642 100644 --- a/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json +++ b/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json @@ -30,7 +30,7 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Creates a batch deletion job. A model evaluation job can only be deleted if it has following status FAILED, COMPLETED, and STOPPED. You can request up to 25 model evaluation jobs be deleted in a single request.

        " + "documentation":"

        Deletes a batch of evaluation jobs. An evaluation job can only be deleted if it has following status FAILED, COMPLETED, and STOPPED. You can request up to 25 model evaluation jobs be deleted in a single request.

        " }, "CreateEvaluationJob":{ "name":"CreateEvaluationJob", @@ -50,7 +50,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        API operation for creating and managing Amazon Bedrock automatic model evaluation jobs and model evaluation jobs that use human workers. To learn more about the requirements for creating a model evaluation job see, Model evaluation.

        ", + "documentation":"

        Creates an evaluation job.

        ", "idempotent":true }, "CreateGuardrail":{ @@ -371,7 +371,7 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Retrieves the properties associated with a model evaluation job, including the status of the job. For more information, see Model evaluation.

        " + "documentation":"

        Gets information about an evaluation job, such as the status of the job.

        " }, "GetFoundationModel":{ "name":"GetFoundationModel", @@ -583,7 +583,7 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Lists model evaluation jobs.

        " + "documentation":"

        Lists all existing evaluation jobs.

        " }, "ListFoundationModels":{ "name":"ListFoundationModels", @@ -793,7 +793,7 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Stops an in progress model evaluation job.

        " + "documentation":"

        Stops an evaluation job that is current being created or running.

        " }, "StopModelCustomizationJob":{ "name":"StopModelCustomizationJob", @@ -929,16 +929,43 @@ "type":"string", "pattern":"[0-9]{12}" }, + "AdditionalModelRequestFields":{ + "type":"map", + "key":{"shape":"AdditionalModelRequestFieldsKey"}, + "value":{"shape":"AdditionalModelRequestFieldsValue"} + }, + "AdditionalModelRequestFieldsKey":{ + "type":"string", + "max":100, + "min":1 + }, + "AdditionalModelRequestFieldsValue":{ + "type":"structure", + "members":{ + }, + "document":true + }, + "ApplicationType":{ + "type":"string", + "enum":[ + "ModelEvaluation", + "RagEvaluation" + ] + }, "AutomatedEvaluationConfig":{ "type":"structure", "required":["datasetMetricConfigs"], "members":{ "datasetMetricConfigs":{ "shape":"EvaluationDatasetMetricConfigs", - "documentation":"

        Specifies the required elements for an automatic model evaluation job.

        " + "documentation":"

        Configuration details of the prompt datasets and metrics you want to use for your evaluation job.

        " + }, + "evaluatorModelConfig":{ + "shape":"EvaluatorModelConfig", + "documentation":"

        Contains the evaluator model configuration details. EvaluatorModelConfig is required for evaluation jobs that use a knowledge base or in model evaluation job that use a model as judge. This model computes all evaluation related metrics.

        " } }, - "documentation":"

        Use to specify a automatic model evaluation job. The EvaluationDatasetMetricConfig object is used to specify the prompt datasets, task type, and metric names.

        " + "documentation":"

        The configuration details of an automated evaluation job. The EvaluationDatasetMetricConfig object is used to specify the prompt datasets, task type, and metric names.

        " }, "BaseModelIdentifier":{ "type":"string", @@ -955,18 +982,18 @@ "members":{ "jobIdentifier":{ "shape":"EvaluationJobIdentifier", - "documentation":"

        The ARN of the model evaluation job being deleted.

        " + "documentation":"

        The ARN of the evaluation job being deleted.

        " }, "code":{ "shape":"String", - "documentation":"

        A HTTP status code of the model evaluation job being deleted.

        " + "documentation":"

        A HTTP status code of the evaluation job being deleted.

        " }, "message":{ "shape":"String", - "documentation":"

        A status message about the model evaluation job deletion.

        " + "documentation":"

        A status message about the evaluation job deletion.

        " } }, - "documentation":"

        A JSON array that provides the status of the model evaluation jobs being deleted.

        " + "documentation":"

        A JSON array that provides the status of the evaluation jobs being deleted.

        " }, "BatchDeleteEvaluationJobErrors":{ "type":"list", @@ -983,14 +1010,14 @@ "members":{ "jobIdentifier":{ "shape":"EvaluationJobIdentifier", - "documentation":"

        The ARN of model evaluation job to be deleted.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the evaluation job for deletion.

        " }, "jobStatus":{ "shape":"EvaluationJobStatus", - "documentation":"

        The status of the job's deletion.

        " + "documentation":"

        The status of the evaluation job for deletion.

        " } }, - "documentation":"

        An array of model evaluation jobs to be deleted, and their associated statuses.

        " + "documentation":"

        An evaluation job for deletion, and it’s current status.

        " }, "BatchDeleteEvaluationJobItems":{ "type":"list", @@ -1002,7 +1029,7 @@ "members":{ "jobIdentifiers":{ "shape":"EvaluationJobIdentifiers", - "documentation":"

        An array of model evaluation job ARNs to be deleted.

        " + "documentation":"

        A list of one or more evaluation job Amazon Resource Names (ARNs) you want to delete.

        " } } }, @@ -1015,14 +1042,37 @@ "members":{ "errors":{ "shape":"BatchDeleteEvaluationJobErrors", - "documentation":"

        A JSON object containing the HTTP status codes and the ARNs of model evaluation jobs that failed to be deleted.

        " + "documentation":"

        A JSON object containing the HTTP status codes and the ARNs of evaluation jobs that failed to be deleted.

        " }, "evaluationJobs":{ "shape":"BatchDeleteEvaluationJobItems", - "documentation":"

        The list of model evaluation jobs to be deleted.

        " + "documentation":"

        The list of evaluation jobs for deletion.

        " } } }, + "BedrockEvaluatorModel":{ + "type":"structure", + "required":["modelIdentifier"], + "members":{ + "modelIdentifier":{ + "shape":"EvaluatorModelIdentifier", + "documentation":"

        The Amazon Resource Name (ARN) of the evaluator model used used in knowledge base evaluation job or in model evaluation job that use a model as judge.

        " + } + }, + "documentation":"

        The evaluator model used in knowledge base evaluation job or in model evaluation job that use a model as judge. This model computes all evaluation related metrics.

        " + }, + "BedrockEvaluatorModels":{ + "type":"list", + "member":{"shape":"BedrockEvaluatorModel"}, + "max":1, + "min":1 + }, + "BedrockModelArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))))|(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{1,20}):(|[0-9]{12}):inference-profile/[a-zA-Z0-9-:.]+)|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|(([0-9a-zA-Z][_-]?)+)" + }, "BedrockModelId":{ "type":"string", "max":140, @@ -1044,6 +1094,35 @@ "max":63, "min":3 }, + "ByteContentBlob":{ + "type":"blob", + "max":10485760, + "min":1, + "sensitive":true + }, + "ByteContentDoc":{ + "type":"structure", + "required":[ + "identifier", + "contentType", + "data" + ], + "members":{ + "identifier":{ + "shape":"Identifier", + "documentation":"

        The file name of the document contained in the wrapper object.

        " + }, + "contentType":{ + "shape":"ContentType", + "documentation":"

        The MIME type of the document contained in the wrapper object.

        " + }, + "data":{ + "shape":"ByteContentBlob", + "documentation":"

        The byte value of the file to upload, encoded as a Base-64 string.

        " + } + }, + "documentation":"

        Contains the document contained in the wrapper object, along with its attributes/fields.

        " + }, "CloudWatchConfig":{ "type":"structure", "required":[ @@ -1085,6 +1164,10 @@ }, "exception":true }, + "ContentType":{ + "type":"string", + "pattern":".*[a-z]{1,20}/.{1,20}.*" + }, "CreateEvaluationJobRequest":{ "type":"structure", "required":[ @@ -1097,11 +1180,11 @@ "members":{ "jobName":{ "shape":"EvaluationJobName", - "documentation":"

        The name of the model evaluation job. Model evaluation job names must unique with your AWS account, and your account's AWS region.

        " + "documentation":"

        A name for the evaluation job. Names must unique with your Amazon Web Services account, and your account's Amazon Web Services region.

        " }, "jobDescription":{ "shape":"EvaluationJobDescription", - "documentation":"

        A description of the model evaluation job.

        " + "documentation":"

        A description of the evaluation job.

        " }, "clientRequestToken":{ "shape":"IdempotencyToken", @@ -1110,27 +1193,31 @@ }, "roleArn":{ "shape":"RoleArn", - "documentation":"

        The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock can assume to perform tasks on your behalf. The service role must have Amazon Bedrock as the service principal, and provide access to any Amazon S3 buckets specified in the EvaluationConfig object. To pass this role to Amazon Bedrock, the caller of this API must have the iam:PassRole permission. To learn more about the required permissions, see Required permissions.

        " + "documentation":"

        The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock can assume to perform tasks on your behalf. To learn more about the required permissions, see Required permissions for model evaluations.

        " }, "customerEncryptionKeyId":{ "shape":"KmsKeyId", - "documentation":"

        Specify your customer managed key ARN that will be used to encrypt your model evaluation job.

        " + "documentation":"

        Specify your customer managed encryption key Amazon Resource Name (ARN) that will be used to encrypt your evaluation job.

        " }, "jobTags":{ "shape":"TagList", "documentation":"

        Tags to attach to the model evaluation job.

        " }, + "applicationType":{ + "shape":"ApplicationType", + "documentation":"

        Specifies whether the evaluation job is for evaluating a model or evaluating a knowledge base (retrieval and response generation).

        " + }, "evaluationConfig":{ "shape":"EvaluationConfig", - "documentation":"

        Specifies whether the model evaluation job is automatic or uses human worker.

        " + "documentation":"

        Contains the configuration details of either an automated or human-based evaluation job.

        " }, "inferenceConfig":{ "shape":"EvaluationInferenceConfig", - "documentation":"

        Specify the models you want to use in your model evaluation job. Automatic model evaluation jobs support a single model or inference profile, and model evaluation job that use human workers support two models or inference profiles.

        " + "documentation":"

        Contains the configuration details of the inference model for the evaluation job.

        For model evaluation jobs, automated jobs support a single model or inference profile, and jobs that use human workers support two models or inference profiles.

        " }, "outputDataConfig":{ "shape":"EvaluationOutputDataConfig", - "documentation":"

        An object that defines where the results of model evaluation job will be saved in Amazon S3.

        " + "documentation":"

        Contains the configuration details of the Amazon S3 bucket for storing the results of the evaluation job.

        " } } }, @@ -1140,7 +1227,7 @@ "members":{ "jobArn":{ "shape":"EvaluationJobArn", - "documentation":"

        The ARN of the model evaluation job.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the evaluation job.

        " } } }, @@ -1772,10 +1859,7 @@ }, "EvaluationBedrockModel":{ "type":"structure", - "required":[ - "modelIdentifier", - "inferenceParams" - ], + "required":["modelIdentifier"], "members":{ "modelIdentifier":{ "shape":"EvaluationModelIdentifier", @@ -1786,21 +1870,21 @@ "documentation":"

        Each Amazon Bedrock support different inference parameters that change how the model behaves during inference.

        " } }, - "documentation":"

        Contains the ARN of the Amazon Bedrock model or inference profile specified in your model evaluation job. Each Amazon Bedrock model supports different inferenceParams. To learn more about supported inference parameters for Amazon Bedrock models, see Inference parameters for foundation models.

        The inferenceParams are specified using JSON. To successfully insert JSON as string make sure that all quotations are properly escaped. For example, \"temperature\":\"0.25\" key value pair would need to be formatted as \\\"temperature\\\":\\\"0.25\\\" to successfully accepted in the request.

        " + "documentation":"

        Contains the ARN of the Amazon Bedrock model or inference profile specified in your evaluation job. Each Amazon Bedrock model supports different inferenceParams. To learn more about supported inference parameters for Amazon Bedrock models, see Inference parameters for foundation models.

        The inferenceParams are specified using JSON. To successfully insert JSON as string make sure that all quotations are properly escaped. For example, \"temperature\":\"0.25\" key value pair would need to be formatted as \\\"temperature\\\":\\\"0.25\\\" to successfully accepted in the request.

        " }, "EvaluationConfig":{ "type":"structure", "members":{ "automated":{ "shape":"AutomatedEvaluationConfig", - "documentation":"

        Used to specify an automated model evaluation job. See AutomatedEvaluationConfig to view the required parameters.

        " + "documentation":"

        Contains the configuration details of an automated evaluation job that computes metrics.

        " }, "human":{ "shape":"HumanEvaluationConfig", - "documentation":"

        Used to specify a model evaluation job that uses human workers.See HumanEvaluationConfig to view the required parameters.

        " + "documentation":"

        Contains the configuration details of an evaluation job that uses human workers.

        " } }, - "documentation":"

        Used to specify either a AutomatedEvaluationConfig or HumanEvaluationConfig object.

        ", + "documentation":"

        The configuration details of either an automated or human-based evaluation job.

        ", "union":true }, "EvaluationDataset":{ @@ -1839,7 +1923,7 @@ "members":{ "taskType":{ "shape":"EvaluationTaskType", - "documentation":"

        The task type you want the model to carry out.

        " + "documentation":"

        The the type of task you want to evaluate for your evaluation job. This applies only to model evaluation jobs and is ignored for knowledge base evaluation jobs.

        " }, "dataset":{ "shape":"EvaluationDataset", @@ -1847,10 +1931,10 @@ }, "metricNames":{ "shape":"EvaluationMetricNames", - "documentation":"

        The names of the metrics used. For automated model evaluation jobs valid values are \"Builtin.Accuracy\", \"Builtin.Robustness\", and \"Builtin.Toxicity\". In human-based model evaluation jobs the array of strings must match the name parameter specified in HumanEvaluationCustomMetric.

        " + "documentation":"

        The names of the metrics you want to use for your evaluation job.

        For knowledge base evaluation jobs that evaluate retrieval only, valid values are \"Builtin.ContextRelevance\", \"Builtin.ContextConverage\".

        For knowledge base evaluation jobs that evaluate retrieval with response generation, valid values are \"Builtin.Correctness\", \"Builtin.Completeness\", \"Builtin.Helpfulness\", \"Builtin.LogicalCoherence\", \"Builtin.Faithfulness\", \"Builtin.Harmfulness\", \"Builtin.Stereotyping\", \"Builtin.Refusal\".

        For automated model evaluation jobs, valid values are \"Builtin.Accuracy\", \"Builtin.Robustness\", and \"Builtin.Toxicity\". In model evaluation jobs that use a LLM as judge you can specify \"Builtin.Correctness\", \"Builtin.Completeness\", \"Builtin.Faithfulness\", \"Builtin.Helpfulness\", \"Builtin.Coherence\", \"Builtin.Relevance\", \"Builtin.FollowingInstructions\", \"Builtin.ProfessionalStyleAndTone\", You can also specify the following responsible AI related metrics only for model evaluation job that use a LLM as judge \"Builtin.Harmfulness\", \"Builtin.Stereotyping\", and \"Builtin.Refusal\".

        For human-based model evaluation jobs, the list of strings must match the name parameter specified in HumanEvaluationCustomMetric.

        " } }, - "documentation":"

        Defines the built-in prompt datasets, built-in metric names and custom metric names, and the task type.

        " + "documentation":"

        Defines the prompt datasets, built-in metric names and custom metric names, and the task type.

        " }, "EvaluationDatasetMetricConfigs":{ "type":"list", @@ -1870,10 +1954,14 @@ "members":{ "models":{ "shape":"EvaluationModelConfigs", - "documentation":"

        Used to specify the models.

        " + "documentation":"

        Specifies the inference models.

        " + }, + "ragConfigs":{ + "shape":"RagConfigs", + "documentation":"

        Contains the configuration details of the inference for a knowledge base evaluation job, including either the retrieval only configuration or the retrieval with response generation configuration.

        " } }, - "documentation":"

        Used to define the models you want used in your model evaluation job. Automated model evaluation jobs support only a single model. In a human-based model evaluation job, your annotator can compare the responses for up to two different models.

        ", + "documentation":"

        The configuration details of the inference model for an evaluation job.

        For automated model evaluation jobs, only a single model is supported.

        For human-based model evaluation jobs, your annotator can compare the responses for up to two different models.

        ", "union":true }, "EvaluationJobArn":{ @@ -1943,7 +2031,7 @@ "EvaluationMetricNames":{ "type":"list", "member":{"shape":"EvaluationMetricName"}, - "max":10, + "max":15, "min":1 }, "EvaluationModelConfig":{ @@ -1973,7 +2061,7 @@ "type":"list", "member":{"shape":"EvaluationModelIdentifier"}, "max":2, - "min":1 + "min":0 }, "EvaluationModelInferenceParams":{ "type":"string", @@ -1987,10 +2075,10 @@ "members":{ "s3Uri":{ "shape":"S3Uri", - "documentation":"

        The Amazon S3 URI where the results of model evaluation job are saved.

        " + "documentation":"

        The Amazon S3 URI where the results of the evaluation job are saved.

        " } }, - "documentation":"

        The Amazon S3 location where the results of your model evaluation job are saved.

        " + "documentation":"

        The Amazon S3 location where the results of your evaluation job are saved.

        " }, "EvaluationRatingMethod":{ "type":"string", @@ -2012,40 +2100,51 @@ "status", "creationTime", "jobType", - "evaluationTaskTypes", - "modelIdentifiers" + "evaluationTaskTypes" ], "members":{ "jobArn":{ "shape":"EvaluationJobArn", - "documentation":"

        The Amazon Resource Name (ARN) of the model evaluation job.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the evaluation job.

        " }, "jobName":{ "shape":"EvaluationJobName", - "documentation":"

        The name of the model evaluation job.

        " + "documentation":"

        The name for the evaluation job.

        " }, "status":{ "shape":"EvaluationJobStatus", - "documentation":"

        The current status of the model evaluation job.

        " + "documentation":"

        The current status of the evaluation job.

        " }, "creationTime":{ "shape":"Timestamp", - "documentation":"

        When the model evaluation job was created.

        " + "documentation":"

        The time the evaluation job was created.

        " }, "jobType":{ "shape":"EvaluationJobType", - "documentation":"

        The type, either human or automatic, of model evaluation job.

        " + "documentation":"

        Specifies whether the evaluation job is automated or human-based.

        " }, "evaluationTaskTypes":{ "shape":"EvaluationTaskTypes", - "documentation":"

        What task type was used in the model evaluation job.

        " + "documentation":"

        The type of task for model evaluation.

        " }, "modelIdentifiers":{ "shape":"EvaluationModelIdentifiers", - "documentation":"

        The Amazon Resource Names (ARNs) of the model(s) used in the model evaluation job.

        " + "documentation":"

        The Amazon Resource Names (ARNs) of the model(s) used for the evaluation job.

        " + }, + "ragIdentifiers":{ + "shape":"RAGIdentifiers", + "documentation":"

        The Amazon Resource Names (ARNs) of the knowledge base resources used for a knowledge base evaluation job.

        " + }, + "evaluatorModelIdentifiers":{ + "shape":"EvaluatorModelIdentifiers", + "documentation":"

        The Amazon Resource Names (ARNs) of the models used to compute the metrics for a knowledge base evaluation job.

        " + }, + "applicationType":{ + "shape":"ApplicationType", + "documentation":"

        Specifies whether the evaluation job is for evaluating a model or evaluating a knowledge base (retrieval and response generation).

        " } }, - "documentation":"

        A summary of the model evaluation job.

        " + "documentation":"

        Summary information of an evaluation job.

        " }, "EvaluationTaskType":{ "type":"string", @@ -2066,6 +2165,134 @@ "max":5, "min":1 }, + "EvaluatorModelConfig":{ + "type":"structure", + "members":{ + "bedrockEvaluatorModels":{ + "shape":"BedrockEvaluatorModels", + "documentation":"

        The evaluator model used in knowledge base evaluation job or in model evaluation job that use a model as judge. This model computes all evaluation related metrics.

        " + } + }, + "documentation":"

        Specifies the model configuration for the evaluator model. EvaluatorModelConfig is required for evaluation jobs that use a knowledge base or in model evaluation job that use a model as judge. This model computes all evaluation related metrics.

        ", + "union":true + }, + "EvaluatorModelIdentifier":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}$|(^[a-z0-9-]+[.][a-z0-9-]+([.][a-z0-9-]+)*(:[a-z0-9-]+)?$)|^[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12}|)" + }, + "EvaluatorModelIdentifiers":{ + "type":"list", + "member":{"shape":"EvaluatorModelIdentifier"}, + "max":1, + "min":0 + }, + "ExternalSource":{ + "type":"structure", + "required":["sourceType"], + "members":{ + "sourceType":{ + "shape":"ExternalSourceType", + "documentation":"

        The source type of the external source wrapper object.

        " + }, + "s3Location":{ + "shape":"S3ObjectDoc", + "documentation":"

        The S3 location of the external source wrapper object.

        " + }, + "byteContent":{ + "shape":"ByteContentDoc", + "documentation":"

        The identifier, content type, and data of the external source wrapper object.

        " + } + }, + "documentation":"

        The unique external source of the content contained in the wrapper object.

        " + }, + "ExternalSourceType":{ + "type":"string", + "enum":[ + "S3", + "BYTE_CONTENT" + ] + }, + "ExternalSources":{ + "type":"list", + "member":{"shape":"ExternalSource"}, + "max":1, + "min":1 + }, + "ExternalSourcesGenerationConfiguration":{ + "type":"structure", + "members":{ + "promptTemplate":{ + "shape":"PromptTemplate", + "documentation":"

        Contains the template for the prompt for the external source wrapper object.

        " + }, + "guardrailConfiguration":{ + "shape":"GuardrailConfiguration", + "documentation":"

        Configuration details for the guardrail.

        " + }, + "kbInferenceConfig":{ + "shape":"KbInferenceConfig", + "documentation":"

        Configuration details for inference when using RetrieveAndGenerate to generate responses while using an external source.

        " + }, + "additionalModelRequestFields":{ + "shape":"AdditionalModelRequestFields", + "documentation":"

        Additional model parameters and their corresponding values not included in the text inference configuration for an external source. Takes in custom model parameters specific to the language model being used.

        " + } + }, + "documentation":"

        The response generation configuration of the external source wrapper object.

        " + }, + "ExternalSourcesRetrieveAndGenerateConfiguration":{ + "type":"structure", + "required":[ + "modelArn", + "sources" + ], + "members":{ + "modelArn":{ + "shape":"BedrockModelArn", + "documentation":"

        The Amazon Resource Name (ARN) of the foundation model or inference profile used to generate responses.

        " + }, + "sources":{ + "shape":"ExternalSources", + "documentation":"

        The document for the external source wrapper object in the retrieveAndGenerate function.

        " + }, + "generationConfiguration":{ + "shape":"ExternalSourcesGenerationConfiguration", + "documentation":"

        Contains configurations details for response generation based on retrieved text chunks.

        " + } + }, + "documentation":"

        The configuration of the external source wrapper object in the retrieveAndGenerate function.

        " + }, + "FilterAttribute":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"FilterKey", + "documentation":"

        The name of metadata attribute/field, which must match the name in your data source/document metadata.

        " + }, + "value":{ + "shape":"FilterValue", + "documentation":"

        The value of the metadata attribute/field.

        " + } + }, + "documentation":"

        Specifies the name of the metadata attribute/field to apply filters. You must match the name of the attribute/field in your data source/document metadata.

        " + }, + "FilterKey":{ + "type":"string", + "max":100, + "min":1 + }, + "FilterValue":{ + "type":"structure", + "members":{ + }, + "document":true + }, "FineTuningJobStatus":{ "type":"string", "enum":[ @@ -2202,6 +2429,28 @@ "type":"list", "member":{"shape":"FoundationModelSummary"} }, + "GenerationConfiguration":{ + "type":"structure", + "members":{ + "promptTemplate":{ + "shape":"PromptTemplate", + "documentation":"

        Contains the template for the prompt that's sent to the model for response generation.

        " + }, + "guardrailConfiguration":{ + "shape":"GuardrailConfiguration", + "documentation":"

        Contains configuration details for the guardrail.

        " + }, + "kbInferenceConfig":{ + "shape":"KbInferenceConfig", + "documentation":"

        Contains configuration details for inference for knowledge base retrieval and response generation.

        " + }, + "additionalModelRequestFields":{ + "shape":"AdditionalModelRequestFields", + "documentation":"

        Additional model parameters and corresponding values not included in the textInferenceConfig structure for a knowledge base. This allows you to provide custom model parameters specific to the language model being used.

        " + } + }, + "documentation":"

        The configuration details for response generation based on retrieved text chunks.

        " + }, "GetCustomModelRequest":{ "type":"structure", "required":["modelIdentifier"], @@ -2290,7 +2539,7 @@ "members":{ "jobIdentifier":{ "shape":"EvaluationJobIdentifier", - "documentation":"

        The Amazon Resource Name (ARN) of the model evaluation job.

        ", + "documentation":"

        The Amazon Resource Name (ARN) of the evaluation job you want get information on.

        ", "location":"uri", "locationName":"jobIdentifier" } @@ -2312,55 +2561,59 @@ "members":{ "jobName":{ "shape":"EvaluationJobName", - "documentation":"

        The name of the model evaluation job.

        " + "documentation":"

        The name for the evaluation job.

        " }, "status":{ "shape":"EvaluationJobStatus", - "documentation":"

        The status of the model evaluation job.

        " + "documentation":"

        The current status of the evaluation job.

        " }, "jobArn":{ "shape":"EvaluationJobArn", - "documentation":"

        The Amazon Resource Name (ARN) of the model evaluation job.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the evaluation job.

        " }, "jobDescription":{ "shape":"EvaluationJobDescription", - "documentation":"

        The description of the model evaluation job.

        " + "documentation":"

        The description of the evaluation job.

        " }, "roleArn":{ "shape":"RoleArn", - "documentation":"

        The Amazon Resource Name (ARN) of the IAM service role used in the model evaluation job.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the IAM service role used in the evaluation job.

        " }, "customerEncryptionKeyId":{ "shape":"KmsKeyId", - "documentation":"

        The Amazon Resource Name (ARN) of the customer managed key specified when the model evaluation job was created.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the customer managed encryption key specified when the evaluation job was created.

        " }, "jobType":{ "shape":"EvaluationJobType", - "documentation":"

        The type of model evaluation job.

        " + "documentation":"

        Specifies whether the evaluation job is automated or human-based.

        " + }, + "applicationType":{ + "shape":"ApplicationType", + "documentation":"

        Specifies whether the evaluation job is for evaluating a model or evaluating a knowledge base (retrieval and response generation).

        " }, "evaluationConfig":{ "shape":"EvaluationConfig", - "documentation":"

        Contains details about the type of model evaluation job, the metrics used, the task type selected, the datasets used, and any custom metrics you defined.

        " + "documentation":"

        Contains the configuration details of either an automated or human-based evaluation job.

        " }, "inferenceConfig":{ "shape":"EvaluationInferenceConfig", - "documentation":"

        Details about the models you specified in your model evaluation job.

        " + "documentation":"

        Contains the configuration details of the inference model used for the evaluation job.

        " }, "outputDataConfig":{ "shape":"EvaluationOutputDataConfig", - "documentation":"

        Amazon S3 location for where output data is saved.

        " + "documentation":"

        Contains the configuration details of the Amazon S3 bucket for storing the results of the evaluation job.

        " }, "creationTime":{ "shape":"Timestamp", - "documentation":"

        When the model evaluation job was created.

        " + "documentation":"

        The time the evaluation job was created.

        " }, "lastModifiedTime":{ "shape":"Timestamp", - "documentation":"

        When the model evaluation job was last modified.

        " + "documentation":"

        The time the evaluation job was last modified.

        " }, "failureMessages":{ "shape":"ErrorMessages", - "documentation":"

        An array of strings the specify why the model evaluation job has failed.

        " + "documentation":"

        A list of strings that specify why the evaluation job failed to create.

        " } } }, @@ -3048,6 +3301,36 @@ "min":1, "sensitive":true }, + "GuardrailConfiguration":{ + "type":"structure", + "required":[ + "guardrailId", + "guardrailVersion" + ], + "members":{ + "guardrailId":{ + "shape":"GuardrailConfigurationGuardrailIdString", + "documentation":"

        The unique identifier for the guardrail.

        " + }, + "guardrailVersion":{ + "shape":"GuardrailConfigurationGuardrailVersionString", + "documentation":"

        The version of the guardrail.

        " + } + }, + "documentation":"

        The configuration details for the guardrail.

        " + }, + "GuardrailConfigurationGuardrailIdString":{ + "type":"string", + "max":64, + "min":0, + "pattern":"[a-z0-9]+" + }, + "GuardrailConfigurationGuardrailVersionString":{ + "type":"string", + "max":5, + "min":1, + "pattern":"(([1-9][0-9]{0,7})|(DRAFT))" + }, "GuardrailContentFilter":{ "type":"structure", "required":[ @@ -3867,6 +4150,12 @@ "min":1, "pattern":"[a-zA-Z0-9](-*[a-zA-Z0-9])*" }, + "Identifier":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, "ImportedModelArn":{ "type":"string", "max":1011, @@ -4080,6 +4369,16 @@ "min":1, "pattern":"[a-zA-Z0-9](-*[a-zA-Z0-9\\+\\-\\.])*" }, + "KbInferenceConfig":{ + "type":"structure", + "members":{ + "textInferenceConfig":{ + "shape":"TextInferenceConfig", + "documentation":"

        Contains configuration details for text generation using a language model via the RetrieveAndGenerate function.

        " + } + }, + "documentation":"

        Contains configuration details of the inference for knowledge base retrieval and response generation.

        " + }, "KeyPrefix":{ "type":"string", "max":1024, @@ -4097,6 +4396,92 @@ "min":1, "pattern":"(arn:aws(-[^:]+)?:kms:[a-zA-Z0-9-]*:[0-9]{12}:((key/[a-zA-Z0-9-]{36})|(alias/[a-zA-Z0-9-_/]+)))|([a-zA-Z0-9-]{36})|(alias/[a-zA-Z0-9-_/]+)" }, + "KnowledgeBaseConfig":{ + "type":"structure", + "members":{ + "retrieveConfig":{ + "shape":"RetrieveConfig", + "documentation":"

        Contains configuration details for retrieving information from a knowledge base.

        " + }, + "retrieveAndGenerateConfig":{ + "shape":"RetrieveAndGenerateConfiguration", + "documentation":"

        Contains configuration details for retrieving information from a knowledge base and generating responses.

        " + } + }, + "documentation":"

        The configuration details for retrieving information from a knowledge base and generating responses.

        ", + "union":true + }, + "KnowledgeBaseId":{ + "type":"string", + "max":10, + "min":0, + "pattern":"[0-9a-zA-Z]+" + }, + "KnowledgeBaseRetrievalConfiguration":{ + "type":"structure", + "required":["vectorSearchConfiguration"], + "members":{ + "vectorSearchConfiguration":{ + "shape":"KnowledgeBaseVectorSearchConfiguration", + "documentation":"

        Contains configuration details for returning the results from the vector search.

        " + } + }, + "documentation":"

        Contains configuration details for retrieving information from a knowledge base.

        " + }, + "KnowledgeBaseRetrieveAndGenerateConfiguration":{ + "type":"structure", + "required":[ + "knowledgeBaseId", + "modelArn" + ], + "members":{ + "knowledgeBaseId":{ + "shape":"KnowledgeBaseId", + "documentation":"

        The unique identifier of the knowledge base.

        " + }, + "modelArn":{ + "shape":"BedrockModelArn", + "documentation":"

        The Amazon Resource Name (ARN) of the foundation model or inference profile used to generate responses.

        " + }, + "retrievalConfiguration":{ + "shape":"KnowledgeBaseRetrievalConfiguration", + "documentation":"

        Contains configuration details for retrieving text chunks.

        " + }, + "generationConfiguration":{ + "shape":"GenerationConfiguration", + "documentation":"

        Contains configurations details for response generation based on retrieved text chunks.

        " + }, + "orchestrationConfiguration":{ + "shape":"OrchestrationConfiguration", + "documentation":"

        Contains configuration details for the model to process the prompt prior to retrieval and response generation.

        " + } + }, + "documentation":"

        Contains configuration details for retrieving information from a knowledge base and generating responses.

        " + }, + "KnowledgeBaseVectorSearchConfiguration":{ + "type":"structure", + "members":{ + "numberOfResults":{ + "shape":"KnowledgeBaseVectorSearchConfigurationNumberOfResultsInteger", + "documentation":"

        The number of text chunks to retrieve; the number of results to return.

        " + }, + "overrideSearchType":{ + "shape":"SearchType", + "documentation":"

        By default, Amazon Bedrock decides a search strategy for you. If you're using an Amazon OpenSearch Serverless vector store that contains a filterable text field, you can specify whether to query the knowledge base with a HYBRID search using both vector embeddings and raw text, or SEMANTIC search using only vector embeddings. For other vector store configurations, only SEMANTIC search is available.

        " + }, + "filter":{ + "shape":"RetrievalFilter", + "documentation":"

        Specifies the filters to use on the metadata fields in the knowledge base data sources before returning results.

        " + } + }, + "documentation":"

        The configuration details for returning the results from the knowledge base vector search.

        " + }, + "KnowledgeBaseVectorSearchConfigurationNumberOfResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, "ListCustomModelsRequest":{ "type":"structure", "members":{ @@ -4180,25 +4565,31 @@ "members":{ "creationTimeAfter":{ "shape":"Timestamp", - "documentation":"

        A filter that includes model evaluation jobs created after the time specified.

        ", + "documentation":"

        A filter to only list evaluation jobs created after a specified time.

        ", "location":"querystring", "locationName":"creationTimeAfter" }, "creationTimeBefore":{ "shape":"Timestamp", - "documentation":"

        A filter that includes model evaluation jobs created prior to the time specified.

        ", + "documentation":"

        A filter to only list evaluation jobs created before a specified time.

        ", "location":"querystring", "locationName":"creationTimeBefore" }, "statusEquals":{ "shape":"EvaluationJobStatus", - "documentation":"

        Only return jobs where the status condition is met.

        ", + "documentation":"

        A filter to only list evaluation jobs that are of a certain status.

        ", "location":"querystring", "locationName":"statusEquals" }, + "applicationTypeEquals":{ + "shape":"ApplicationType", + "documentation":"

        A filter to only list evaluation jobs that are either model evaluations or knowledge base evaluations.

        ", + "location":"querystring", + "locationName":"applicationTypeEquals" + }, "nameContains":{ "shape":"EvaluationJobName", - "documentation":"

        Query parameter string for model evaluation job names.

        ", + "documentation":"

        A filter to only list evaluation jobs that contain a specified string in the job name.

        ", "location":"querystring", "locationName":"nameContains" }, @@ -4216,13 +4607,13 @@ }, "sortBy":{ "shape":"SortJobsBy", - "documentation":"

        Allows you to sort model evaluation jobs by when they were created.

        ", + "documentation":"

        Specifies a creation time to sort the list of evaluation jobs by when they were created.

        ", "location":"querystring", "locationName":"sortBy" }, "sortOrder":{ "shape":"SortOrder", - "documentation":"

        How you want the order of jobs sorted.

        ", + "documentation":"

        Specifies whether to sort the list of evaluation jobs by either ascending or descending order.

        ", "location":"querystring", "locationName":"sortOrder" } @@ -4237,7 +4628,7 @@ }, "jobSummaries":{ "shape":"EvaluationSummaries", - "documentation":"

        A summary of the model evaluation jobs.

        " + "documentation":"

        A list of summaries of the evaluation jobs.

        " } } }, @@ -4816,6 +5207,12 @@ "max":1000, "min":1 }, + "MaxTokens":{ + "type":"integer", + "box":true, + "max":65536, + "min":0 + }, "Message":{ "type":"string", "max":2048, @@ -5301,6 +5698,17 @@ "type":"string", "pattern":"[\\s\\S]*" }, + "OrchestrationConfiguration":{ + "type":"structure", + "required":["queryTransformationConfiguration"], + "members":{ + "queryTransformationConfiguration":{ + "shape":"QueryTransformationConfiguration", + "documentation":"

        Contains configuration details for transforming the prompt.

        " + } + }, + "documentation":"

        The configuration details for the model to process the prompt prior to retrieval and response generation.

        " + }, "OutputDataConfig":{ "type":"structure", "required":["s3Uri"], @@ -5323,6 +5731,16 @@ "box":true, "min":1 }, + "PromptTemplate":{ + "type":"structure", + "members":{ + "textPromptTemplate":{ + "shape":"TextPromptTemplate", + "documentation":"

        The template for the prompt that's sent to the model for response generation. You can include prompt placeholders, which become replaced before the prompt is sent to the model to provide instructions and context to the model. In addition, you can include XML tags to delineate meaningful sections of the prompt template.

        For more information, see Knowledge base prompt template and Use XML tags with Anthropic Claude models.

        " + } + }, + "documentation":"

        The template for the prompt that's sent to the model for response generation.

        " + }, "Provider":{ "type":"string", "pattern":"[A-Za-z0-9- ]{1,63}" @@ -5435,6 +5853,55 @@ "members":{ } }, + "QueryTransformationConfiguration":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"QueryTransformationType", + "documentation":"

        The type of transformation to apply to the prompt.

        " + } + }, + "documentation":"

        The configuration details for transforming the prompt.

        " + }, + "QueryTransformationType":{ + "type":"string", + "enum":["QUERY_DECOMPOSITION"] + }, + "RAGConfig":{ + "type":"structure", + "members":{ + "knowledgeBaseConfig":{ + "shape":"KnowledgeBaseConfig", + "documentation":"

        Contains configuration details for knowledge base retrieval and response generation.

        " + } + }, + "documentation":"

        Contains configuration details for retrieval of information and response generation.

        ", + "union":true + }, + "RAGIdentifiers":{ + "type":"list", + "member":{"shape":"KnowledgeBaseId"}, + "max":1, + "min":0 + }, + "RAGStopSequences":{ + "type":"list", + "member":{"shape":"RAGStopSequencesMemberString"}, + "max":4, + "min":0 + }, + "RAGStopSequencesMemberString":{ + "type":"string", + "max":1000, + "min":1 + }, + "RagConfigs":{ + "type":"list", + "member":{"shape":"RAGConfig"}, + "max":1, + "min":1 + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -5447,6 +5914,115 @@ }, "exception":true }, + "RetrievalFilter":{ + "type":"structure", + "members":{ + "equals":{ + "shape":"FilterAttribute", + "documentation":"

        Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value matches the value in this object.

        The following example would return data sources with an animal attribute whose value is 'cat': \"equals\": { \"key\": \"animal\", \"value\": \"cat\" }

        " + }, + "notEquals":{ + "shape":"FilterAttribute", + "documentation":"

        Knowledge base data sources that contain a metadata attribute whose name matches the key and whose value doesn't match the value in this object are returned.

        The following example would return data sources that don't contain an animal attribute whose value is 'cat': \"notEquals\": { \"key\": \"animal\", \"value\": \"cat\" }

        " + }, + "greaterThan":{ + "shape":"FilterAttribute", + "documentation":"

        Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is greater than the value in this object.

        The following example would return data sources with an year attribute whose value is greater than '1989': \"greaterThan\": { \"key\": \"year\", \"value\": 1989 }

        " + }, + "greaterThanOrEquals":{ + "shape":"FilterAttribute", + "documentation":"

        Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is greater than or equal to the value in this object.

        The following example would return data sources with an year attribute whose value is greater than or equal to '1989': \"greaterThanOrEquals\": { \"key\": \"year\", \"value\": 1989 }

        " + }, + "lessThan":{ + "shape":"FilterAttribute", + "documentation":"

        Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is less than the value in this object.

        The following example would return data sources with an year attribute whose value is less than to '1989': \"lessThan\": { \"key\": \"year\", \"value\": 1989 }

        " + }, + "lessThanOrEquals":{ + "shape":"FilterAttribute", + "documentation":"

        Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is less than or equal to the value in this object.

        The following example would return data sources with an year attribute whose value is less than or equal to '1989': \"lessThanOrEquals\": { \"key\": \"year\", \"value\": 1989 }

        " + }, + "in":{ + "shape":"FilterAttribute", + "documentation":"

        Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is in the list specified in the value in this object.

        The following example would return data sources with an animal attribute that is either 'cat' or 'dog': \"in\": { \"key\": \"animal\", \"value\": [\"cat\", \"dog\"] }

        " + }, + "notIn":{ + "shape":"FilterAttribute", + "documentation":"

        Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value isn't in the list specified in the value in this object.

        The following example would return data sources whose animal attribute is neither 'cat' nor 'dog': \"notIn\": { \"key\": \"animal\", \"value\": [\"cat\", \"dog\"] }

        " + }, + "startsWith":{ + "shape":"FilterAttribute", + "documentation":"

        Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value starts with the value in this object. This filter is currently only supported for Amazon OpenSearch Serverless vector stores.

        The following example would return data sources with an animal attribute starts with 'ca' (for example, 'cat' or 'camel'). \"startsWith\": { \"key\": \"animal\", \"value\": \"ca\" }

        " + }, + "listContains":{ + "shape":"FilterAttribute", + "documentation":"

        Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is a list that contains the value as one of its members.

        The following example would return data sources with an animals attribute that is a list containing a cat member (for example, [\"dog\", \"cat\"]): \"listContains\": { \"key\": \"animals\", \"value\": \"cat\" }

        " + }, + "stringContains":{ + "shape":"FilterAttribute", + "documentation":"

        Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is one of the following:

        A string that contains the value as a substring. The following example would return data sources with an animal attribute that contains the substring at (for example, 'cat'): \"stringContains\": { \"key\": \"animal\", \"value\": \"at\" }

        A list with a member that contains the value as a substring. The following example would return data sources with an animals attribute that is a list containing a member that contains the substring at (for example, [\"dog\", \"cat\"]): \"stringContains\": { \"key\": \"animals\", \"value\": \"at\" }

        " + }, + "andAll":{ + "shape":"RetrievalFilterList", + "documentation":"

        Knowledge base data sources are returned if their metadata attributes fulfill all the filter conditions inside this list.

        " + }, + "orAll":{ + "shape":"RetrievalFilterList", + "documentation":"

        Knowledge base data sources are returned if their metadata attributes fulfill at least one of the filter conditions inside this list.

        " + } + }, + "documentation":"

        Specifies the filters to use on the metadata attributes/fields in the knowledge base data sources before returning results.

        ", + "sensitive":true, + "union":true + }, + "RetrievalFilterList":{ + "type":"list", + "member":{"shape":"RetrievalFilter"}, + "min":2 + }, + "RetrieveAndGenerateConfiguration":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"RetrieveAndGenerateType", + "documentation":"

        The type of resource that contains your data for retrieving information and generating responses.

        If you choose to use EXTERNAL_SOURCES, then currently only Claude 3 Sonnet models for knowledge bases are supported.

        " + }, + "knowledgeBaseConfiguration":{ + "shape":"KnowledgeBaseRetrieveAndGenerateConfiguration", + "documentation":"

        Contains configuration details for the knowledge base retrieval and response generation.

        " + }, + "externalSourcesConfiguration":{ + "shape":"ExternalSourcesRetrieveAndGenerateConfiguration", + "documentation":"

        The configuration for the external source wrapper object in the retrieveAndGenerate function.

        " + } + }, + "documentation":"

        Contains configuration details for a knowledge base retrieval and response generation.

        " + }, + "RetrieveAndGenerateType":{ + "type":"string", + "enum":[ + "KNOWLEDGE_BASE", + "EXTERNAL_SOURCES" + ] + }, + "RetrieveConfig":{ + "type":"structure", + "required":[ + "knowledgeBaseId", + "knowledgeBaseRetrievalConfiguration" + ], + "members":{ + "knowledgeBaseId":{ + "shape":"KnowledgeBaseId", + "documentation":"

        The unique identifier of the knowledge base.

        " + }, + "knowledgeBaseRetrievalConfiguration":{ + "shape":"KnowledgeBaseRetrievalConfiguration", + "documentation":"

        Contains configuration details for knowledge base retrieval.

        " + } + }, + "documentation":"

        The configuration details for retrieving information from a knowledge base.

        " + }, "RoleArn":{ "type":"string", "documentation":"

        ARN of a IAM role

        ", @@ -5484,6 +6060,17 @@ "type":"string", "enum":["JSONL"] }, + "S3ObjectDoc":{ + "type":"structure", + "required":["uri"], + "members":{ + "uri":{ + "shape":"kBS3Uri", + "documentation":"

        The S3 URI location for the wrapper object of the document.

        " + } + }, + "documentation":"

        The unique wrapper object of the document from the S3 location.

        " + }, "S3Uri":{ "type":"string", "max":1024, @@ -5496,6 +6083,13 @@ "min":0, "pattern":"arn:aws(-[^:]+)?:sagemaker:[a-z0-9-]{1,20}:[0-9]{12}:flow-definition/.*" }, + "SearchType":{ + "type":"string", + "enum":[ + "HYBRID", + "SEMANTIC" + ] + }, "SecurityGroupId":{ "type":"string", "max":32, @@ -5545,7 +6139,7 @@ "members":{ "jobIdentifier":{ "shape":"EvaluationJobIdentifier", - "documentation":"

        The ARN of the model evaluation job you want to stop.

        ", + "documentation":"

        The Amazon Resource Name (ARN) of the evaluation job you want to stop.

        ", "location":"uri", "locationName":"jobIdentifier" } @@ -5673,6 +6267,40 @@ "min":20, "pattern":".*(^[a-zA-Z0-9][a-zA-Z0-9\\-]*$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:([0-9]{12}|)((:(fine-tuning-job|model-customization-job|custom-model)/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12})$)|(:guardrail/[a-z0-9]+$)|(:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+$)|(:(provisioned-model|model-invocation-job|model-evaluation-job|evaluation-job|model-import-job|imported-model)/[a-z0-9]{12}$))).*" }, + "Temperature":{ + "type":"float", + "box":true, + "max":1, + "min":0 + }, + "TextInferenceConfig":{ + "type":"structure", + "members":{ + "temperature":{ + "shape":"Temperature", + "documentation":"

        Controls the random-ness of text generated by the language model, influencing how much the model sticks to the most predictable next words versus exploring more surprising options. A lower temperature value (e.g. 0.2 or 0.3) makes model outputs more deterministic or predictable, while a higher temperature (e.g. 0.8 or 0.9) makes the outputs more creative or unpredictable.

        " + }, + "topP":{ + "shape":"TopP", + "documentation":"

        A probability distribution threshold which controls what the model considers for the set of possible next tokens. The model will only consider the top p% of the probability distribution when generating the next token.

        " + }, + "maxTokens":{ + "shape":"MaxTokens", + "documentation":"

        The maximum number of tokens to generate in the output text. Do not use the minimum of 0 or the maximum of 65536. The limit values described here are arbitrary values, for actual values consult the limits defined by your specific model.

        " + }, + "stopSequences":{ + "shape":"RAGStopSequences", + "documentation":"

        A list of sequences of characters that, if generated, will cause the model to stop generating further tokens. Do not use a minimum length of 1 or a maximum length of 1000. The limit values described here are arbitrary values, for actual values consult the limits defined by your specific model.

        " + } + }, + "documentation":"

        The configuration details for text generation using a language model via the RetrieveAndGenerate function.

        " + }, + "TextPromptTemplate":{ + "type":"string", + "max":100000, + "min":1, + "sensitive":true + }, "ThrottlingException":{ "type":"structure", "members":{ @@ -5705,6 +6333,12 @@ }, "exception":true }, + "TopP":{ + "type":"float", + "box":true, + "max":1, + "min":0 + }, "TrainingDataConfig":{ "type":"structure", "required":["s3Uri"], @@ -5928,6 +6562,12 @@ } }, "documentation":"

        The configuration of a virtual private cloud (VPC). For more information, see Protect your data using Amazon Virtual Private Cloud and Amazon Web Services PrivateLink.

        " + }, + "kBS3Uri":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"s3://[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]/.{1,1024}" } }, "documentation":"

        Describes the API operations for creating, managing, fine-turning, and evaluating Amazon Bedrock models.

        " diff --git a/tools/code-generation/api-descriptions/bedrock-agent-2023-06-05.normal.json b/tools/code-generation/api-descriptions/bedrock-agent-2023-06-05.normal.json index b25133c33ef..a4d165a1866 100644 --- a/tools/code-generation/api-descriptions/bedrock-agent-2023-06-05.normal.json +++ b/tools/code-generation/api-descriptions/bedrock-agent-2023-06-05.normal.json @@ -115,7 +115,7 @@ {"shape":"ConflictException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

        Creates a data source connector for a knowledge base.

        You can't change the chunkingConfiguration after you create the data source connector.

        ", + "documentation":"

        Connects a knowledge base to a data source. You specify the configuration for the specific data source service in the dataSourceConfiguration field.

        You can't change the chunkingConfiguration after you create the data source connector.

        ", "idempotent":true }, "CreateFlow":{ @@ -420,6 +420,26 @@ "documentation":"

        Deletes a knowledge base. Before deleting a knowledge base, you should disassociate the knowledge base from any agents that it is associated with by making a DisassociateAgentKnowledgeBase request.

        ", "idempotent":true }, + "DeleteKnowledgeBaseDocuments":{ + "name":"DeleteKnowledgeBaseDocuments", + "http":{ + "method":"POST", + "requestUri":"/knowledgebases/{knowledgeBaseId}/datasources/{dataSourceId}/documents/deleteDocuments", + "responseCode":202 + }, + "input":{"shape":"DeleteKnowledgeBaseDocumentsRequest"}, + "output":{"shape":"DeleteKnowledgeBaseDocumentsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

        Deletes documents from a data source and syncs the changes to the knowledge base that is connected to it. For more information, see Ingest documents into a knowledge base in real-time in the Amazon Bedrock User Guide.

        ", + "idempotent":true + }, "DeletePrompt":{ "name":"DeletePrompt", "http":{ @@ -658,6 +678,25 @@ ], "documentation":"

        Gets information about a knoweldge base.

        " }, + "GetKnowledgeBaseDocuments":{ + "name":"GetKnowledgeBaseDocuments", + "http":{ + "method":"POST", + "requestUri":"/knowledgebases/{knowledgeBaseId}/datasources/{dataSourceId}/documents/getDocuments", + "responseCode":200 + }, + "input":{"shape":"GetKnowledgeBaseDocumentsRequest"}, + "output":{"shape":"GetKnowledgeBaseDocumentsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

        Retrieves specific documents from a data source that is connected to a knowledge base. For more information, see Ingest documents into a knowledge base in real-time in the Amazon Bedrock User Guide.

        " + }, "GetPrompt":{ "name":"GetPrompt", "http":{ @@ -676,6 +715,26 @@ ], "documentation":"

        Retrieves information about the working draft (DRAFT version) of a prompt or a version of it, depending on whether you include the promptVersion field or not. For more information, see View information about prompts using Prompt management and View information about a version of your prompt in the Amazon Bedrock User Guide.

        " }, + "IngestKnowledgeBaseDocuments":{ + "name":"IngestKnowledgeBaseDocuments", + "http":{ + "method":"PUT", + "requestUri":"/knowledgebases/{knowledgeBaseId}/datasources/{dataSourceId}/documents", + "responseCode":202 + }, + "input":{"shape":"IngestKnowledgeBaseDocumentsRequest"}, + "output":{"shape":"IngestKnowledgeBaseDocumentsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

        Ingests documents directly into the knowledge base that is connected to the data source. The dataSourceType specified in the content for each document must match the type of the data source that you specify in the header. For more information, see Ingest documents into a knowledge base in real-time in the Amazon Bedrock User Guide.

        ", + "idempotent":true + }, "ListAgentActionGroups":{ "name":"ListAgentActionGroups", "http":{ @@ -854,6 +913,25 @@ ], "documentation":"

        Lists the data ingestion jobs for a data source. The list also includes information about each job.

        " }, + "ListKnowledgeBaseDocuments":{ + "name":"ListKnowledgeBaseDocuments", + "http":{ + "method":"POST", + "requestUri":"/knowledgebases/{knowledgeBaseId}/datasources/{dataSourceId}/documents", + "responseCode":200 + }, + "input":{"shape":"ListKnowledgeBaseDocumentsRequest"}, + "output":{"shape":"ListKnowledgeBaseDocumentsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

        Retrieves all the documents contained in a data source that is connected to a knowledge base. For more information, see Ingest documents into a knowledge base in real-time in the Amazon Bedrock User Guide.

        " + }, "ListKnowledgeBases":{ "name":"ListKnowledgeBases", "http":{ @@ -2082,6 +2160,34 @@ "min":12, "pattern":"^[0-9]{12}$" }, + "ByteContentBlob":{ + "type":"blob", + "max":5242880, + "min":1, + "sensitive":true + }, + "ByteContentDoc":{ + "type":"structure", + "required":[ + "data", + "mimeType" + ], + "members":{ + "data":{ + "shape":"ByteContentBlob", + "documentation":"

        The base64-encoded string of the content.

        " + }, + "mimeType":{ + "shape":"ByteContentDocMimeTypeString", + "documentation":"

        The MIME type of the content. For a list of MIME types, see Media Types. The following MIME types are supported:

        • text/plain

        • text/html

        • text/csv

        • text/vtt

        • message/rfc822

        • application/xhtml+xml

        • application/pdf

        • application/msword

        • application/vnd.ms-word.document.macroenabled.12

        • application/vnd.ms-word.template.macroenabled.12

        • application/vnd.ms-excel

        • application/vnd.ms-excel.addin.macroenabled.12

        • application/vnd.ms-excel.sheet.macroenabled.12

        • application/vnd.ms-excel.template.macroenabled.12

        • application/vnd.ms-excel.sheet.binary.macroenabled.12

        • application/vnd.ms-spreadsheetml

        • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

        • application/vnd.openxmlformats-officedocument.spreadsheetml.template

        • application/vnd.openxmlformats-officedocument.wordprocessingml.document

        • application/vnd.openxmlformats-officedocument.wordprocessingml.template

        " + } + }, + "documentation":"

        Contains information about content defined inline in bytes.

        " + }, + "ByteContentDocMimeTypeString":{ + "type":"string", + "pattern":"[a-z]{1,20}/.{1,20}" + }, "ChatPromptTemplateConfiguration":{ "type":"structure", "required":["messages"], @@ -2259,6 +2365,13 @@ "type":"list", "member":{"shape":"ContentBlock"} }, + "ContentDataSourceType":{ + "type":"string", + "enum":[ + "CUSTOM", + "S3" + ] + }, "ConversationRole":{ "type":"string", "enum":[ @@ -3002,10 +3115,52 @@ "OVERRIDDEN" ] }, + "CustomContent":{ + "type":"structure", + "required":[ + "customDocumentIdentifier", + "sourceType" + ], + "members":{ + "customDocumentIdentifier":{ + "shape":"CustomDocumentIdentifier", + "documentation":"

        A unique identifier for the document.

        " + }, + "inlineContent":{ + "shape":"InlineContent", + "documentation":"

        Contains information about content defined inline to ingest into a knowledge base.

        " + }, + "s3Location":{ + "shape":"CustomS3Location", + "documentation":"

        Contains information about the Amazon S3 location of the file from which to ingest data.

        " + }, + "sourceType":{ + "shape":"CustomSourceType", + "documentation":"

        The source of the data to ingest.

        " + } + }, + "documentation":"

        Contains information about the content to ingest into a knowledge base connected to a custom data source. Choose a sourceType and include the field that corresponds to it.

        " + }, "CustomControlMethod":{ "type":"string", "enum":["RETURN_CONTROL"] }, + "CustomDocumentIdentifier":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"CustomDocumentIdentifierIdString", + "documentation":"

        The identifier of the document to ingest into a custom data source.

        " + } + }, + "documentation":"

        Contains information about the identifier of the document to ingest into a custom data source.

        " + }, + "CustomDocumentIdentifierIdString":{ + "type":"string", + "max":2048, + "min":1 + }, "CustomOrchestration":{ "type":"structure", "members":{ @@ -3016,6 +3171,28 @@ }, "documentation":"

        Details of custom orchestration.

        " }, + "CustomS3Location":{ + "type":"structure", + "required":["uri"], + "members":{ + "bucketOwnerAccountId":{ + "shape":"BucketOwnerAccountId", + "documentation":"

        The identifier of the Amazon Web Services account that owns the S3 bucket containing the content to ingest.

        " + }, + "uri":{ + "shape":"S3ObjectUri", + "documentation":"

        The S3 URI of the file containing the content to ingest.

        " + } + }, + "documentation":"

        Contains information about the Amazon S3 location of the file containing the content to ingest into a knowledge base connected to a custom data source.

        " + }, + "CustomSourceType":{ + "type":"string", + "enum":[ + "IN_LINE", + "S3_LOCATION" + ] + }, "CustomTransformationConfiguration":{ "type":"structure", "required":[ @@ -3045,6 +3222,12 @@ }, "documentation":"

        Details about a cyclic connection detected in the flow.

        " }, + "Data":{ + "type":"string", + "max":5242880, + "min":1, + "sensitive":true + }, "DataDeletionPolicy":{ "type":"string", "enum":[ @@ -3202,7 +3385,8 @@ "WEB", "CONFLUENCE", "SALESFORCE", - "SHAREPOINT" + "SHAREPOINT", + "CUSTOM" ] }, "DateTimestamp":{ @@ -3528,6 +3712,46 @@ } } }, + "DeleteKnowledgeBaseDocumentsRequest":{ + "type":"structure", + "required":[ + "dataSourceId", + "documentIdentifiers", + "knowledgeBaseId" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

        A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

        ", + "idempotencyToken":true + }, + "dataSourceId":{ + "shape":"Id", + "documentation":"

        The unique identifier of the data source that contains the documents.

        ", + "location":"uri", + "locationName":"dataSourceId" + }, + "documentIdentifiers":{ + "shape":"DocumentIdentifiers", + "documentation":"

        A list of objects, each of which contains information to identify a document to delete.

        " + }, + "knowledgeBaseId":{ + "shape":"Id", + "documentation":"

        The unique identifier of the knowledge base that is connected to the data source.

        ", + "location":"uri", + "locationName":"knowledgeBaseId" + } + } + }, + "DeleteKnowledgeBaseDocumentsResponse":{ + "type":"structure", + "members":{ + "documentDetails":{ + "shape":"KnowledgeBaseDocumentDetails", + "documentation":"

        A list of objects, each of which contains information about the documents that were deleted.

        " + } + } + }, "DeleteKnowledgeBaseRequest":{ "type":"structure", "required":["knowledgeBaseId"], @@ -3639,6 +3863,92 @@ }, "document":true }, + "DocumentContent":{ + "type":"structure", + "required":["dataSourceType"], + "members":{ + "custom":{ + "shape":"CustomContent", + "documentation":"

        Contains information about the content to ingest into a knowledge base connected to a custom data source.

        " + }, + "dataSourceType":{ + "shape":"ContentDataSourceType", + "documentation":"

        The type of data source that is connected to the knowledge base to which to ingest this document.

        " + }, + "s3":{ + "shape":"S3Content", + "documentation":"

        Contains information about the content to ingest into a knowledge base connected to an Amazon S3 data source

        " + } + }, + "documentation":"

        Contains information about the content of a document. Choose a dataSourceType and include the field that corresponds to it.

        " + }, + "DocumentIdentifier":{ + "type":"structure", + "required":["dataSourceType"], + "members":{ + "custom":{ + "shape":"CustomDocumentIdentifier", + "documentation":"

        Contains information that identifies the document in a custom data source.

        " + }, + "dataSourceType":{ + "shape":"ContentDataSourceType", + "documentation":"

        The type of data source connected to the knowledge base that contains the document.

        " + }, + "s3":{ + "shape":"S3Location", + "documentation":"

        Contains information that identifies the document in an S3 data source.

        " + } + }, + "documentation":"

        Contains information that identifies the document.

        " + }, + "DocumentIdentifiers":{ + "type":"list", + "member":{"shape":"DocumentIdentifier"}, + "max":10, + "min":1 + }, + "DocumentMetadata":{ + "type":"structure", + "required":["type"], + "members":{ + "inlineAttributes":{ + "shape":"DocumentMetadataInlineAttributesList", + "documentation":"

        An array of objects, each of which defines a metadata attribute to associate with the content to ingest. You define the attributes inline.

        " + }, + "s3Location":{ + "shape":"CustomS3Location", + "documentation":"

        The Amazon S3 location of the file containing metadata to associate with the content to ingest.

        " + }, + "type":{ + "shape":"MetadataSourceType", + "documentation":"

        The type of the source source from which to add metadata.

        " + } + }, + "documentation":"

        Contains information about the metadata associate with the content to ingest into a knowledge base. Choose a type and include the field that corresponds to it.

        " + }, + "DocumentMetadataInlineAttributesList":{ + "type":"list", + "member":{"shape":"MetadataAttribute"}, + "max":50, + "min":1 + }, + "DocumentStatus":{ + "type":"string", + "enum":[ + "INDEXED", + "PARTIALLY_INDEXED", + "PENDING", + "FAILED", + "METADATA_PARTIALLY_INDEXED", + "METADATA_UPDATE_FAILED", + "IGNORED", + "NOT_FOUND", + "STARTING", + "IN_PROGRESS", + "DELETING", + "DELETE_IN_PROGRESS" + ] + }, "DraftVersion":{ "type":"string", "max":5, @@ -3683,7 +3993,6 @@ }, "EmbeddingDataType":{ "type":"string", - "documentation":"

        Bedrock models embedding data type. Can be either float32 or binary

        ", "enum":[ "FLOAT32", "BINARY" @@ -4977,6 +5286,41 @@ } } }, + "GetKnowledgeBaseDocumentsRequest":{ + "type":"structure", + "required":[ + "dataSourceId", + "documentIdentifiers", + "knowledgeBaseId" + ], + "members":{ + "dataSourceId":{ + "shape":"Id", + "documentation":"

        The unique identifier of the data source that contains the documents.

        ", + "location":"uri", + "locationName":"dataSourceId" + }, + "documentIdentifiers":{ + "shape":"DocumentIdentifiers", + "documentation":"

        A list of objects, each of which contains information to identify a document for which to retrieve information.

        " + }, + "knowledgeBaseId":{ + "shape":"Id", + "documentation":"

        The unique identifier of the knowledge base that is connected to the data source.

        ", + "location":"uri", + "locationName":"knowledgeBaseId" + } + } + }, + "GetKnowledgeBaseDocumentsResponse":{ + "type":"structure", + "members":{ + "documentDetails":{ + "shape":"KnowledgeBaseDocumentDetails", + "documentation":"

        A list of objects, each of which contains information about the documents that were retrieved.

        " + } + } + }, "GetKnowledgeBaseRequest":{ "type":"structure", "required":["knowledgeBaseId"], @@ -5185,6 +5529,46 @@ }, "documentation":"

        Contains inference parameters to use when the agent invokes a foundation model in the part of the agent sequence defined by the promptType. For more information, see Inference parameters for foundation models.

        " }, + "IngestKnowledgeBaseDocumentsRequest":{ + "type":"structure", + "required":[ + "dataSourceId", + "documents", + "knowledgeBaseId" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

        A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

        ", + "idempotencyToken":true + }, + "dataSourceId":{ + "shape":"Id", + "documentation":"

        The unique identifier of the data source connected to the knowledge base that you're adding documents to.

        ", + "location":"uri", + "locationName":"dataSourceId" + }, + "documents":{ + "shape":"KnowledgeBaseDocuments", + "documentation":"

        A list of objects, each of which contains information about the documents to add.

        " + }, + "knowledgeBaseId":{ + "shape":"Id", + "documentation":"

        The unique identifier of the knowledge base to ingest the documents into.

        ", + "location":"uri", + "locationName":"knowledgeBaseId" + } + } + }, + "IngestKnowledgeBaseDocumentsResponse":{ + "type":"structure", + "members":{ + "documentDetails":{ + "shape":"KnowledgeBaseDocumentDetails", + "documentation":"

        A list of objects, each of which contains information about the documents that were ingested.

        " + } + } + }, "IngestionJob":{ "type":"structure", "required":[ @@ -5404,6 +5788,32 @@ }, "documentation":"

        Contains details about a data ingestion job.

        " }, + "InlineContent":{ + "type":"structure", + "required":["type"], + "members":{ + "byteContent":{ + "shape":"ByteContentDoc", + "documentation":"

        Contains information about content defined inline in bytes.

        " + }, + "textContent":{ + "shape":"TextContentDoc", + "documentation":"

        Contains information about content defined inline in text.

        " + }, + "type":{ + "shape":"InlineContentType", + "documentation":"

        The type of inline content to define.

        " + } + }, + "documentation":"

        Contains information about content defined inline to ingest into a data source. Choose a type and include the field that corresponds to it.

        " + }, + "InlineContentType":{ + "type":"string", + "enum":[ + "BYTE", + "TEXT" + ] + }, "InputFlowNodeConfiguration":{ "type":"structure", "members":{ @@ -5443,6 +5853,12 @@ }, "documentation":"

        Contains configurations for an iterator node in a flow. Takes an input that is an array and iteratively sends each item of the array as an output to the following node. The size of the array is also returned in the output.

        The output flow node at the end of the flow iteration will return a response for each member of the array. To return only one response, you can include a collector node downstream from the iterator node.

        " }, + "Key":{ + "type":"string", + "max":200, + "min":1, + "sensitive":true + }, "KmsKeyArn":{ "type":"string", "max":2048, @@ -5531,6 +5947,67 @@ }, "documentation":"

        Contains details about the vector embeddings configuration of the knowledge base.

        " }, + "KnowledgeBaseDocument":{ + "type":"structure", + "required":["content"], + "members":{ + "content":{ + "shape":"DocumentContent", + "documentation":"

        Contains the content of the document.

        " + }, + "metadata":{ + "shape":"DocumentMetadata", + "documentation":"

        Contains the metadata to associate with the document.

        " + } + }, + "documentation":"

        Contains information about a document to ingest into a knowledge base and metadata to associate with it.

        " + }, + "KnowledgeBaseDocumentDetail":{ + "type":"structure", + "required":[ + "dataSourceId", + "identifier", + "knowledgeBaseId", + "status" + ], + "members":{ + "dataSourceId":{ + "shape":"Id", + "documentation":"

        The identifier of the data source connected to the knowledge base that the document was ingested into or deleted from.

        " + }, + "identifier":{ + "shape":"DocumentIdentifier", + "documentation":"

        Contains information that identifies the document.

        " + }, + "knowledgeBaseId":{ + "shape":"Id", + "documentation":"

        The identifier of the knowledge base that the document was ingested into or deleted from.

        " + }, + "status":{ + "shape":"DocumentStatus", + "documentation":"

        The ingestion status of the document. The following statuses are possible:

        • STARTED – You submitted the ingestion job containing the document.

        • PENDING – The document is waiting to be ingested.

        • IN_PROGRESS – The document is being ingested.

        • INDEXED – The document was successfully indexed.

        • PARTIALLY_INDEXED – The document was partially indexed.

        • METADATA_PARTIALLY_INDEXED – You submitted metadata for an existing document and it was partially indexed.

        • METADATA_UPDATE_FAILED – You submitted a metadata update for an existing document but it failed.

        • FAILED – The document failed to be ingested.

        • NOT_FOUND – The document wasn't found.

        • IGNORED – The document was ignored during ingestion.

        • DELETING – You submitted the delete job containing the document.

        • DELETE_IN_PROGRESS – The document is being deleted.

        " + }, + "statusReason":{ + "shape":"String", + "documentation":"

        The reason for the status. Appears alongside the status IGNORED.

        " + }, + "updatedAt":{ + "shape":"DateTimestamp", + "documentation":"

        The date and time at which the document was last updated.

        " + } + }, + "documentation":"

        Contains the details for a document that was ingested or deleted.

        " + }, + "KnowledgeBaseDocumentDetails":{ + "type":"list", + "member":{"shape":"KnowledgeBaseDocumentDetail"} + }, + "KnowledgeBaseDocuments":{ + "type":"list", + "member":{"shape":"KnowledgeBaseDocument"}, + "max":10, + "min":1 + }, "KnowledgeBaseFlowNodeConfiguration":{ "type":"structure", "required":["knowledgeBaseId"], @@ -6055,6 +6532,49 @@ } } }, + "ListKnowledgeBaseDocumentsRequest":{ + "type":"structure", + "required":[ + "dataSourceId", + "knowledgeBaseId" + ], + "members":{ + "dataSourceId":{ + "shape":"Id", + "documentation":"

        The unique identifier of the data source that contains the documents.

        ", + "location":"uri", + "locationName":"dataSourceId" + }, + "knowledgeBaseId":{ + "shape":"Id", + "documentation":"

        The unique identifier of the knowledge base that is connected to the data source.

        ", + "location":"uri", + "locationName":"knowledgeBaseId" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another request to return the next batch of results.

        " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of results.

        " + } + } + }, + "ListKnowledgeBaseDocumentsResponse":{ + "type":"structure", + "required":["documentDetails"], + "members":{ + "documentDetails":{ + "shape":"KnowledgeBaseDocumentDetails", + "documentation":"

        A list of objects, each of which contains information about the documents that were retrieved.

        " + }, + "nextToken":{ + "shape":"String", + "documentation":"

        If the total number of results is greater than the maxResults value provided in the request, use this token when making another request in the nextToken field to return the next batch of results.

        " + } + } + }, "ListKnowledgeBasesRequest":{ "type":"structure", "members":{ @@ -6239,6 +6759,73 @@ "type":"list", "member":{"shape":"Message"} }, + "MetadataAttribute":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"Key", + "documentation":"

        The key of the metadata attribute.

        " + }, + "value":{ + "shape":"MetadataAttributeValue", + "documentation":"

        Contains the value of the metadata attribute.

        " + } + }, + "documentation":"

        Contains information about a metadata attribute.

        " + }, + "MetadataAttributeValue":{ + "type":"structure", + "required":["type"], + "members":{ + "booleanValue":{ + "shape":"Boolean", + "documentation":"

        The value of the Boolean metadata attribute.

        " + }, + "numberValue":{ + "shape":"NumberValue", + "documentation":"

        The value of the numeric metadata attribute.

        " + }, + "stringListValue":{ + "shape":"MetadataAttributeValueStringListValueList", + "documentation":"

        An array of strings that define the value of the metadata attribute.

        " + }, + "stringValue":{ + "shape":"StringValue", + "documentation":"

        The value of the string metadata attribute.

        " + }, + "type":{ + "shape":"MetadataValueType", + "documentation":"

        The type of the metadata attribute.

        " + } + }, + "documentation":"

        Contains the value of the metadata attribute. Choose a type and include the field that corresponds to it.

        " + }, + "MetadataAttributeValueStringListValueList":{ + "type":"list", + "member":{"shape":"StringValue"}, + "max":10, + "min":1 + }, + "MetadataSourceType":{ + "type":"string", + "enum":[ + "IN_LINE_ATTRIBUTE", + "S3_LOCATION" + ] + }, + "MetadataValueType":{ + "type":"string", + "enum":[ + "BOOLEAN", + "NUMBER", + "STRING", + "STRING_LIST" + ] + }, "Microsoft365TenantId":{ "type":"string", "max":36, @@ -6509,6 +7096,11 @@ "type":"string", "min":1 }, + "NumberValue":{ + "type":"double", + "box":true, + "sensitive":true + }, "NumericalVersion":{ "type":"string", "pattern":"^[0-9]{1,5}$" @@ -7464,6 +8056,17 @@ "min":1, "pattern":"^s3://.{1,128}$" }, + "S3Content":{ + "type":"structure", + "required":["s3Location"], + "members":{ + "s3Location":{ + "shape":"S3Location", + "documentation":"

        The S3 location of the file containing the content to ingest.

        " + } + }, + "documentation":"

        Contains information about the content to ingest into a knowledge base connected to an Amazon S3 data source.

        " + }, "S3DataSourceConfiguration":{ "type":"structure", "required":["bucketArn"], @@ -7514,6 +8117,12 @@ "min":1, "pattern":"^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$" }, + "S3ObjectUri":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^s3://[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]/.{1,1024}$" + }, "S3Prefix":{ "type":"string", "max":300, @@ -7924,6 +8533,12 @@ "union":true }, "String":{"type":"string"}, + "StringValue":{ + "type":"string", + "max":2048, + "min":1, + "sensitive":true + }, "SystemContentBlock":{ "type":"structure", "members":{ @@ -7999,6 +8614,17 @@ "max":1, "min":0 }, + "TextContentDoc":{ + "type":"structure", + "required":["data"], + "members":{ + "data":{ + "shape":"Data", + "documentation":"

        The text of the content.

        " + } + }, + "documentation":"

        Contains information about content defined inline in text.

        " + }, "TextPrompt":{ "type":"string", "max":200000, diff --git a/tools/code-generation/api-descriptions/bedrock-agent-runtime-2023-07-26.normal.json b/tools/code-generation/api-descriptions/bedrock-agent-runtime-2023-07-26.normal.json index fc063540de7..aa4106dffc0 100644 --- a/tools/code-generation/api-descriptions/bedrock-agent-runtime-2023-07-26.normal.json +++ b/tools/code-generation/api-descriptions/bedrock-agent-runtime-2023-07-26.normal.json @@ -144,6 +144,28 @@ ], "documentation":"

        Optimizes a prompt for the task that you specify. For more information, see Optimize a prompt in the Amazon Bedrock User Guide.

        " }, + "Rerank":{ + "name":"Rerank", + "http":{ + "method":"POST", + "requestUri":"/rerank", + "responseCode":200 + }, + "input":{"shape":"RerankRequest"}, + "output":{"shape":"RerankResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"DependencyFailedException"}, + {"shape":"BadGatewayException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

        Reranks the relevance of sources based on queries. For more information, see Improve the relevance of query responses with a reranker model.

        " + }, "Retrieve":{ "name":"Retrieve", "http":{ @@ -187,6 +209,28 @@ {"shape":"ServiceQuotaExceededException"} ], "documentation":"

        Queries a knowledge base and generates responses based on the retrieved results and using the specified foundation model or inference profile. The response only cites sources that are relevant to the query.

        " + }, + "RetrieveAndGenerateStream":{ + "name":"RetrieveAndGenerateStream", + "http":{ + "method":"POST", + "requestUri":"/retrieveAndGenerateStream", + "responseCode":200 + }, + "input":{"shape":"RetrieveAndGenerateStreamRequest"}, + "output":{"shape":"RetrieveAndGenerateStreamResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"DependencyFailedException"}, + {"shape":"BadGatewayException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

        Queries a knowledge base and generates responses based on the retrieved results, with output in streaming format.

        The CLI doesn't support streaming operations in Amazon Bedrock, including InvokeModelWithResponseStream.

        " } }, "shapes":{ @@ -491,6 +535,15 @@ }, "documentation":"

        Contains information about the API operation that was called from the action group and the response body that was returned.

        This data type is used in the following API operations:

        " }, + "AttributeType":{ + "type":"string", + "enum":[ + "STRING", + "NUMBER", + "BOOLEAN", + "STRING_LIST" + ] + }, "Attribution":{ "type":"structure", "members":{ @@ -527,6 +580,48 @@ "min":1, "pattern":"^(arn:aws(-[^:]+)?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$" }, + "BedrockRerankingConfiguration":{ + "type":"structure", + "required":["modelConfiguration"], + "members":{ + "modelConfiguration":{ + "shape":"BedrockRerankingModelConfiguration", + "documentation":"

        Contains configurations for a reranker model.

        " + }, + "numberOfResults":{ + "shape":"BedrockRerankingConfigurationNumberOfResultsInteger", + "documentation":"

        The number of results to return after reranking.

        " + } + }, + "documentation":"

        Contains configurations for an Amazon Bedrock reranker model.

        " + }, + "BedrockRerankingConfigurationNumberOfResultsInteger":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "BedrockRerankingModelArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/(.*))?$" + }, + "BedrockRerankingModelConfiguration":{ + "type":"structure", + "required":["modelArn"], + "members":{ + "additionalModelRequestFields":{ + "shape":"AdditionalModelRequestFields", + "documentation":"

        A JSON object whose keys are request fields for the model and whose values are values for those fields.

        " + }, + "modelArn":{ + "shape":"BedrockModelArn", + "documentation":"

        The ARN of the reranker model.

        " + } + }, + "documentation":"

        Contains configurations for a reranker model.

        " + }, "Boolean":{ "type":"boolean", "box":true @@ -592,6 +687,17 @@ }, "documentation":"

        An object containing a segment of the generated response that is based on a source in the knowledge base, alongside information about the source.

        This data type is used in the following API operations:

        " }, + "CitationEvent":{ + "type":"structure", + "members":{ + "citation":{ + "shape":"Citation", + "documentation":"

        The citation.

        " + } + }, + "documentation":"

        A citation event.

        ", + "event":true + }, "Citations":{ "type":"list", "member":{"shape":"Citation"} @@ -686,7 +792,7 @@ "members":{ "event":{ "shape":"CustomOrchestrationTraceEvent", - "documentation":"

        The trace event details used with the custom orchestration.

        " + "documentation":"

        The event details used with the custom orchestration.

        " }, "traceId":{ "shape":"TraceId", @@ -704,7 +810,7 @@ "documentation":"

        The text that prompted the event at this step.

        " } }, - "documentation":"

        The event in the custom orchestration sequence.

        ", + "documentation":"

        The event in the custom orchestration sequence. Events are the responses which the custom orchestration Lambda function sends as response to the agent.

        ", "sensitive":true }, "DateTimestamp":{ @@ -872,6 +978,29 @@ "documentation":"

        Contains information about the failure of the interaction.

        ", "sensitive":true }, + "FieldForReranking":{ + "type":"structure", + "required":["fieldName"], + "members":{ + "fieldName":{ + "shape":"FieldForRerankingFieldNameString", + "documentation":"

        The name of a metadata field to include in or exclude from consideration when reranking.

        " + } + }, + "documentation":"

        Contains information for a metadata field to include in or exclude from consideration when reranking.

        " + }, + "FieldForRerankingFieldNameString":{ + "type":"string", + "max":2000, + "min":1 + }, + "FieldsForReranking":{ + "type":"list", + "member":{"shape":"FieldForReranking"}, + "max":100, + "min":1, + "sensitive":true + }, "FileBody":{ "type":"blob", "max":1000000, @@ -969,6 +1098,10 @@ "type":"string", "sensitive":true }, + "Float":{ + "type":"float", + "box":true + }, "FlowAliasIdentifier":{ "type":"string", "max":2048, @@ -1704,6 +1837,17 @@ "member":{"shape":"GuardrailCustomWord"}, "sensitive":true }, + "GuardrailEvent":{ + "type":"structure", + "members":{ + "action":{ + "shape":"GuadrailAction", + "documentation":"

        The guardrail action.

        " + } + }, + "documentation":"

        A guardrail event.

        ", + "event":true + }, "GuardrailIdentifierWithArn":{ "type":"string", "max":2048, @@ -1945,6 +2089,24 @@ "min":1, "sensitive":true }, + "ImplicitFilterConfiguration":{ + "type":"structure", + "required":[ + "metadataAttributes", + "modelArn" + ], + "members":{ + "metadataAttributes":{ + "shape":"MetadataAttributeSchemaList", + "documentation":"

        Metadata that can be used in a filter.

        " + }, + "modelArn":{ + "shape":"BedrockModelArn", + "documentation":"

        The model that generates the filter.

        " + } + }, + "documentation":"

        Settings for implicit filtering, where a model generates a metadata filter based on the prompt.

        " + }, "InferenceConfig":{ "type":"structure", "members":{ @@ -2655,6 +2817,10 @@ "shape":"RetrievalFilter", "documentation":"

        Specifies the filters to use on the metadata in the knowledge base data sources before returning results. For more information, see Query configurations.

        " }, + "implicitFilterConfiguration":{ + "shape":"ImplicitFilterConfiguration", + "documentation":"

        Settings for implicit filtering.

        " + }, "numberOfResults":{ "shape":"KnowledgeBaseVectorSearchConfigurationNumberOfResultsInteger", "documentation":"

        The number of source chunks to retrieve.

        ", @@ -2663,6 +2829,10 @@ "overrideSearchType":{ "shape":"SearchType", "documentation":"

        By default, Amazon Bedrock decides a search strategy for you. If you're using an Amazon OpenSearch Serverless vector store that contains a filterable text field, you can specify whether to query the knowledge base with a HYBRID search using both vector embeddings and raw text, or SEMANTIC search using only vector embeddings. For other vector store configurations, only SEMANTIC search is available. For more information, see Test a knowledge base.

        " + }, + "rerankingConfiguration":{ + "shape":"VectorSearchRerankingConfiguration", + "documentation":"

        Contains configurations for reranking the retrieved results. For more information, see Improve the relevance of query responses with a reranker model.

        " } }, "documentation":"

        Configurations for how to perform the search query and return results. For more information, see Query configurations.

        This data type is used in the following API operations:

        " @@ -2765,6 +2935,63 @@ "documentation":"

        Provides details of the foundation model.

        ", "sensitive":true }, + "MetadataAttributeSchema":{ + "type":"structure", + "required":[ + "description", + "key", + "type" + ], + "members":{ + "description":{ + "shape":"MetadataAttributeSchemaDescriptionString", + "documentation":"

        The attribute's description.

        " + }, + "key":{ + "shape":"MetadataAttributeSchemaKeyString", + "documentation":"

        The attribute's key.

        " + }, + "type":{ + "shape":"AttributeType", + "documentation":"

        The attribute's type.

        " + } + }, + "documentation":"

        Details about a metadata attribute.

        ", + "sensitive":true + }, + "MetadataAttributeSchemaDescriptionString":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^[\\s\\S]+$" + }, + "MetadataAttributeSchemaKeyString":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[\\s\\S]+$" + }, + "MetadataAttributeSchemaList":{ + "type":"list", + "member":{"shape":"MetadataAttributeSchema"}, + "max":25, + "min":1 + }, + "MetadataConfigurationForReranking":{ + "type":"structure", + "required":["selectionMode"], + "members":{ + "selectionMode":{ + "shape":"RerankingMetadataSelectionMode", + "documentation":"

        Specifies whether to consider all metadata when reranking, or only the metadata that you select. If you specify SELECTIVE, include the selectiveModeConfiguration field.

        " + }, + "selectiveModeConfiguration":{ + "shape":"RerankingMetadataSelectiveModeConfiguration", + "documentation":"

        Contains configurations for the metadata fields to include or exclude when considering reranking.

        " + } + }, + "documentation":"

        Contains configurations for the metadata to use in reranking.

        " + }, "MimeType":{"type":"string"}, "ModelIdentifier":{ "type":"string", @@ -3455,6 +3682,225 @@ "DISABLED" ] }, + "RerankDocument":{ + "type":"structure", + "required":["type"], + "members":{ + "jsonDocument":{ + "shape":"Document", + "documentation":"

        Contains a JSON document to rerank.

        " + }, + "textDocument":{ + "shape":"RerankTextDocument", + "documentation":"

        Contains information about a text document to rerank.

        " + }, + "type":{ + "shape":"RerankDocumentType", + "documentation":"

        The type of document to rerank.

        " + } + }, + "documentation":"

        Contains information about a document to rerank. Choose the type to define and include the field that corresponds to the type.

        ", + "sensitive":true + }, + "RerankDocumentType":{ + "type":"string", + "enum":[ + "TEXT", + "JSON" + ] + }, + "RerankQueriesList":{ + "type":"list", + "member":{"shape":"RerankQuery"}, + "max":1, + "min":1, + "sensitive":true + }, + "RerankQuery":{ + "type":"structure", + "required":[ + "textQuery", + "type" + ], + "members":{ + "textQuery":{ + "shape":"RerankTextDocument", + "documentation":"

        Contains information about a text query.

        " + }, + "type":{ + "shape":"RerankQueryContentType", + "documentation":"

        The type of the query.

        " + } + }, + "documentation":"

        Contains information about a query to submit to the reranker model.

        ", + "sensitive":true + }, + "RerankQueryContentType":{ + "type":"string", + "enum":["TEXT"] + }, + "RerankRequest":{ + "type":"structure", + "required":[ + "queries", + "rerankingConfiguration", + "sources" + ], + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If the total number of results was greater than could fit in a response, a token is returned in the nextToken field. You can enter that token in this field to return the next batch of results.

        " + }, + "queries":{ + "shape":"RerankQueriesList", + "documentation":"

        An array of objects, each of which contains information about a query to submit to the reranker model.

        " + }, + "rerankingConfiguration":{ + "shape":"RerankingConfiguration", + "documentation":"

        Contains configurations for reranking.

        " + }, + "sources":{ + "shape":"RerankSourcesList", + "documentation":"

        An array of objects, each of which contains information about the sources to rerank.

        " + } + } + }, + "RerankResponse":{ + "type":"structure", + "required":["results"], + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If the total number of results is greater than can fit in the response, use this token in the nextToken field when making another request to return the next batch of results.

        " + }, + "results":{ + "shape":"RerankResultsList", + "documentation":"

        An array of objects, each of which contains information about the results of reranking.

        " + } + } + }, + "RerankResult":{ + "type":"structure", + "required":[ + "index", + "relevanceScore" + ], + "members":{ + "document":{ + "shape":"RerankDocument", + "documentation":"

        Contains information about the document.

        " + }, + "index":{ + "shape":"RerankResultIndexInteger", + "documentation":"

        The ranking of the document. The lower a number, the higher the document is ranked.

        " + }, + "relevanceScore":{ + "shape":"Float", + "documentation":"

        The relevance score of the document.

        " + } + }, + "documentation":"

        Contains information about a document that was reranked.

        " + }, + "RerankResultIndexInteger":{ + "type":"integer", + "box":true, + "max":1000, + "min":0 + }, + "RerankResultsList":{ + "type":"list", + "member":{"shape":"RerankResult"} + }, + "RerankSource":{ + "type":"structure", + "required":[ + "inlineDocumentSource", + "type" + ], + "members":{ + "inlineDocumentSource":{ + "shape":"RerankDocument", + "documentation":"

        Contains an inline definition of a source for reranking.

        " + }, + "type":{ + "shape":"RerankSourceType", + "documentation":"

        The type of the source.

        " + } + }, + "documentation":"

        Contains information about a source for reranking.

        ", + "sensitive":true + }, + "RerankSourceType":{ + "type":"string", + "enum":["INLINE"] + }, + "RerankSourcesList":{ + "type":"list", + "member":{"shape":"RerankSource"}, + "max":1000, + "min":1, + "sensitive":true + }, + "RerankTextDocument":{ + "type":"structure", + "members":{ + "text":{ + "shape":"RerankTextDocumentTextString", + "documentation":"

        The text of the document.

        " + } + }, + "documentation":"

        Contains information about a text document to rerank.

        ", + "sensitive":true + }, + "RerankTextDocumentTextString":{ + "type":"string", + "max":9000, + "min":1 + }, + "RerankingConfiguration":{ + "type":"structure", + "required":[ + "bedrockRerankingConfiguration", + "type" + ], + "members":{ + "bedrockRerankingConfiguration":{ + "shape":"BedrockRerankingConfiguration", + "documentation":"

        Contains configurations for an Amazon Bedrock reranker.

        " + }, + "type":{ + "shape":"RerankingConfigurationType", + "documentation":"

        The type of reranker that the configurations apply to.

        " + } + }, + "documentation":"

        Contains configurations for reranking.

        " + }, + "RerankingConfigurationType":{ + "type":"string", + "enum":["BEDROCK_RERANKING_MODEL"] + }, + "RerankingMetadataSelectionMode":{ + "type":"string", + "enum":[ + "SELECTIVE", + "ALL" + ] + }, + "RerankingMetadataSelectiveModeConfiguration":{ + "type":"structure", + "members":{ + "fieldsToExclude":{ + "shape":"FieldsForReranking", + "documentation":"

        An array of objects, each of which specifies a metadata field to exclude from consideration when reranking.

        " + }, + "fieldsToInclude":{ + "shape":"FieldsForReranking", + "documentation":"

        An array of objects, each of which specifies a metadata field to include in consideration when reranking. The remaining metadata fields are ignored.

        " + } + }, + "documentation":"

        Contains configurations for the metadata fields to include or exclude when considering reranking. If you include the fieldsToExclude field, the reranker ignores all the metadata fields that you specify. If you include the fieldsToInclude field, the reranker uses only the metadata fields that you specify and ignores all others. You can include only one of these fields.

        ", + "union":true + }, "ResourceDescription":{ "type":"string", "documentation":"

        / @documentation("Description of the using the resource.")

        ", @@ -3637,6 +4083,16 @@ "documentation":"

        Contains the cited text from the data source.

        This data type is used in the following API operations:

        ", "sensitive":true }, + "RetrievalResultCustomDocumentLocation":{ + "type":"structure", + "members":{ + "id":{ + "shape":"String", + "documentation":"

        The ID of the document.

        " + } + }, + "documentation":"

        Contains information about the location of a document in a custom data source.

        " + }, "RetrievalResultLocation":{ "type":"structure", "required":["type"], @@ -3645,6 +4101,10 @@ "shape":"RetrievalResultConfluenceLocation", "documentation":"

        The Confluence data source location.

        " }, + "customDocumentLocation":{ + "shape":"RetrievalResultCustomDocumentLocation", + "documentation":"

        Specifies the location of a document in a custom data source.

        " + }, "s3Location":{ "shape":"RetrievalResultS3Location", "documentation":"

        The S3 data source location.

        " @@ -3676,7 +4136,8 @@ "WEB", "CONFLUENCE", "SALESFORCE", - "SHAREPOINT" + "SHAREPOINT", + "CUSTOM" ] }, "RetrievalResultMetadata":{ @@ -3785,6 +4246,19 @@ "documentation":"

        Contains the response generated from querying the knowledge base.

        This data type is used in the following API operations:

        ", "sensitive":true }, + "RetrieveAndGenerateOutputEvent":{ + "type":"structure", + "required":["text"], + "members":{ + "text":{ + "shape":"String", + "documentation":"

        A text response.

        " + } + }, + "documentation":"

        A retrieve and generate output event.

        ", + "event":true, + "sensitive":true + }, "RetrieveAndGenerateRequest":{ "type":"structure", "required":["input"], @@ -3843,6 +4317,103 @@ }, "documentation":"

        Contains configuration about the session with the knowledge base.

        This data type is used in the following API operations:

        " }, + "RetrieveAndGenerateStreamRequest":{ + "type":"structure", + "required":["input"], + "members":{ + "input":{ + "shape":"RetrieveAndGenerateInput", + "documentation":"

        Contains the query to be made to the knowledge base.

        " + }, + "retrieveAndGenerateConfiguration":{ + "shape":"RetrieveAndGenerateConfiguration", + "documentation":"

        Contains configurations for the knowledge base query and retrieval process. For more information, see Query configurations.

        " + }, + "sessionConfiguration":{ + "shape":"RetrieveAndGenerateSessionConfiguration", + "documentation":"

        Contains details about the session with the knowledge base.

        " + }, + "sessionId":{ + "shape":"SessionId", + "documentation":"

        The unique identifier of the session. When you first make a RetrieveAndGenerate request, Amazon Bedrock automatically generates this value. You must reuse this value for all subsequent requests in the same conversational session. This value allows Amazon Bedrock to maintain context and knowledge from previous interactions. You can't explicitly set the sessionId yourself.

        " + } + } + }, + "RetrieveAndGenerateStreamResponse":{ + "type":"structure", + "required":[ + "sessionId", + "stream" + ], + "members":{ + "sessionId":{ + "shape":"SessionId", + "documentation":"

        The session ID.

        ", + "location":"header", + "locationName":"x-amzn-bedrock-knowledge-base-session-id" + }, + "stream":{ + "shape":"RetrieveAndGenerateStreamResponseOutput", + "documentation":"

        A stream of events from the model.

        " + } + }, + "payload":"stream" + }, + "RetrieveAndGenerateStreamResponseOutput":{ + "type":"structure", + "members":{ + "accessDeniedException":{ + "shape":"AccessDeniedException", + "documentation":"

        The request is denied because you do not have sufficient permissions to perform the requested action. For troubleshooting this error, see AccessDeniedException in the Amazon Bedrock User Guide.

        " + }, + "badGatewayException":{ + "shape":"BadGatewayException", + "documentation":"

        The request failed due to a bad gateway error.

        " + }, + "citation":{ + "shape":"CitationEvent", + "documentation":"

        A citation event.

        " + }, + "conflictException":{ + "shape":"ConflictException", + "documentation":"

        Error occurred because of a conflict while performing an operation.

        " + }, + "dependencyFailedException":{ + "shape":"DependencyFailedException", + "documentation":"

        The request failed due to a dependency error.

        " + }, + "guardrail":{ + "shape":"GuardrailEvent", + "documentation":"

        A guardrail event.

        " + }, + "internalServerException":{ + "shape":"InternalServerException", + "documentation":"

        An internal server error occurred. Retry your request.

        " + }, + "output":{ + "shape":"RetrieveAndGenerateOutputEvent", + "documentation":"

        An output event.

        " + }, + "resourceNotFoundException":{ + "shape":"ResourceNotFoundException", + "documentation":"

        The specified resource ARN was not found. For troubleshooting this error, see ResourceNotFound in the Amazon Bedrock User Guide.

        " + }, + "serviceQuotaExceededException":{ + "shape":"ServiceQuotaExceededException", + "documentation":"

        Your request exceeds the service quota for your account. You can view your quotas at Viewing service quotas. You can resubmit your request later.

        " + }, + "throttlingException":{ + "shape":"ThrottlingException", + "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.

        " + }, + "validationException":{ + "shape":"ValidationException", + "documentation":"

        The input fails to satisfy the constraints specified by Amazon Bedrock. For troubleshooting this error, see ValidationError in the Amazon Bedrock User Guide.

        " + } + }, + "documentation":"

        A retrieve and generate stream response output.

        ", + "eventstream":true + }, "RetrieveAndGenerateType":{ "type":"string", "enum":[ @@ -3857,6 +4428,10 @@ "retrievalQuery" ], "members":{ + "guardrailConfiguration":{ + "shape":"GuardrailConfiguration", + "documentation":"

        Guardrail settings.

        " + }, "knowledgeBaseId":{ "shape":"KnowledgeBaseId", "documentation":"

        The unique identifier of the knowledge base to query.

        ", @@ -3881,6 +4456,10 @@ "type":"structure", "required":["retrievalResults"], "members":{ + "guardrailAction":{ + "shape":"GuadrailAction", + "documentation":"

        Specifies if there is a guardrail intervention in the response.

        " + }, "nextToken":{ "shape":"NextToken", "documentation":"

        If there are more results than can fit in the response, the response returns a nextToken. Use this token in the nextToken field of another request to retrieve the next batch of results.

        " @@ -4315,6 +4894,65 @@ }, "exception":true }, + "VectorSearchBedrockRerankingConfiguration":{ + "type":"structure", + "required":["modelConfiguration"], + "members":{ + "metadataConfiguration":{ + "shape":"MetadataConfigurationForReranking", + "documentation":"

        Contains configurations for the metadata to use in reranking.

        " + }, + "modelConfiguration":{ + "shape":"VectorSearchBedrockRerankingModelConfiguration", + "documentation":"

        Contains configurations for the reranker model.

        " + }, + "numberOfRerankedResults":{ + "shape":"VectorSearchBedrockRerankingConfigurationNumberOfRerankedResultsInteger", + "documentation":"

        The number of results to return after reranking.

        " + } + }, + "documentation":"

        Contains configurations for reranking with an Amazon Bedrock reranker model.

        " + }, + "VectorSearchBedrockRerankingConfigurationNumberOfRerankedResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "VectorSearchBedrockRerankingModelConfiguration":{ + "type":"structure", + "required":["modelArn"], + "members":{ + "additionalModelRequestFields":{ + "shape":"AdditionalModelRequestFields", + "documentation":"

        A JSON object whose keys are request fields for the model and whose values are values for those fields.

        " + }, + "modelArn":{ + "shape":"BedrockRerankingModelArn", + "documentation":"

        The ARN of the reranker model to use.

        " + } + }, + "documentation":"

        Contains configurations for an Amazon Bedrock reranker model.

        " + }, + "VectorSearchRerankingConfiguration":{ + "type":"structure", + "required":["type"], + "members":{ + "bedrockRerankingConfiguration":{ + "shape":"VectorSearchBedrockRerankingConfiguration", + "documentation":"

        Contains configurations for an Amazon Bedrock reranker model.

        " + }, + "type":{ + "shape":"VectorSearchRerankingConfigurationType", + "documentation":"

        The type of reranker model.

        " + } + }, + "documentation":"

        Contains configurations for reranking the retrieved results.

        " + }, + "VectorSearchRerankingConfigurationType":{ + "type":"string", + "enum":["BEDROCK_RERANKING_MODEL"] + }, "Verb":{ "type":"string", "sensitive":true diff --git a/tools/code-generation/api-descriptions/chime-sdk-voice-2022-08-03.normal.json b/tools/code-generation/api-descriptions/chime-sdk-voice-2022-08-03.normal.json index 688027c055a..e5e884a9cab 100644 --- a/tools/code-generation/api-descriptions/chime-sdk-voice-2022-08-03.normal.json +++ b/tools/code-generation/api-descriptions/chime-sdk-voice-2022-08-03.normal.json @@ -406,6 +406,26 @@ ], "documentation":"

        Deletes the emergency calling details from the specified Amazon Chime SDK Voice Connector.

        " }, + "DeleteVoiceConnectorExternalSystemsConfiguration":{ + "name":"DeleteVoiceConnectorExternalSystemsConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/voice-connectors/{voiceConnectorId}/external-systems-configuration", + "responseCode":204 + }, + "input":{"shape":"DeleteVoiceConnectorExternalSystemsConfigurationRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

        Deletes the external systems configuration for a Voice Connector.

        ", + "idempotent":true + }, "DeleteVoiceConnectorGroup":{ "name":"DeleteVoiceConnectorGroup", "http":{ @@ -842,6 +862,26 @@ ], "documentation":"

        Retrieves the emergency calling configuration details for the specified Voice Connector.

        " }, + "GetVoiceConnectorExternalSystemsConfiguration":{ + "name":"GetVoiceConnectorExternalSystemsConfiguration", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/external-systems-configuration", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorExternalSystemsConfigurationRequest"}, + "output":{"shape":"GetVoiceConnectorExternalSystemsConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

        Gets information about an external systems configuration for a Voice Connector.

        " + }, "GetVoiceConnectorGroup":{ "name":"GetVoiceConnectorGroup", "http":{ @@ -1358,6 +1398,28 @@ ], "documentation":"

        Updates a Voice Connector's emergency calling configuration.

        " }, + "PutVoiceConnectorExternalSystemsConfiguration":{ + "name":"PutVoiceConnectorExternalSystemsConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/voice-connectors/{voiceConnectorId}/external-systems-configuration", + "responseCode":200 + }, + "input":{"shape":"PutVoiceConnectorExternalSystemsConfigurationRequest"}, + "output":{"shape":"PutVoiceConnectorExternalSystemsConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

        Adds an external systems configuration to a Voice Connector.

        ", + "idempotent":true + }, "PutVoiceConnectorLoggingConfiguration":{ "name":"PutVoiceConnectorLoggingConfiguration", "http":{ @@ -2206,6 +2268,19 @@ "error":{"httpStatusCode":409}, "exception":true }, + "ContactCenterSystemType":{ + "type":"string", + "enum":[ + "GENESYS_ENGAGE_ON_PREMISES", + "AVAYA_AURA_CALL_CENTER_ELITE", + "AVAYA_AURA_CONTACT_CENTER", + "CISCO_UNIFIED_CONTACT_CENTER_ENTERPRISE" + ] + }, + "ContactCenterSystemTypeList":{ + "type":"list", + "member":{"shape":"ContactCenterSystemType"} + }, "Country":{ "type":"string", "pattern":"^$|^[A-Z]{2,2}$" @@ -2463,6 +2538,10 @@ "Tags":{ "shape":"TagList", "documentation":"

        The tags assigned to the Voice Connector.

        " + }, + "IntegrationType":{ + "shape":"VoiceConnectorIntegrationType", + "documentation":"

        The connectors for use with Amazon Connect.

        The following options are available:

        • CONNECT_CALL_TRANSFER_CONNECTOR - Enables enterprises to integrate Amazon Connect with other voice systems to directly transfer voice calls and metadata without using the public telephone network. They can use Amazon Connect telephony and Interactive Voice Response (IVR) with their existing voice systems to modernize the IVR experience of their existing contact center and their enterprise and branch voice systems. Additionally, enterprises migrating their contact center to Amazon Connect can start with Connect telephony and IVR for immediate modernization ahead of agent migration.

        • CONNECT_ANALYTICS_CONNECTOR - Enables enterprises to integrate Amazon Connect with other voice systems for real-time and post-call analytics. They can use Amazon Connect Contact Lens with their existing voice systems to provides call recordings, conversational analytics (including contact transcript, sensitive data redaction, content categorization, theme detection, sentiment analysis, real-time alerts, and post-contact summary), and agent performance evaluations (including evaluation forms, automated evaluation, supervisor review) with a rich user experience to display, search and filter customer interactions, and programmatic access to data streams and the data lake. Additionally, enterprises migrating their contact center to Amazon Connect can start with Contact Lens analytics and performance insights ahead of agent migration.

        " } } }, @@ -2649,6 +2728,18 @@ } } }, + "DeleteVoiceConnectorExternalSystemsConfigurationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

        The ID of the Voice Connector for which to delete the external system configuration.

        ", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, "DeleteVoiceConnectorGroupRequest":{ "type":"structure", "required":["VoiceConnectorGroupId"], @@ -2860,6 +2951,20 @@ "Gone" ] }, + "ExternalSystemsConfiguration":{ + "type":"structure", + "members":{ + "SessionBorderControllerTypes":{ + "shape":"SessionBorderControllerTypeList", + "documentation":"

        The session border controllers.

        " + }, + "ContactCenterSystemTypes":{ + "shape":"ContactCenterSystemTypeList", + "documentation":"

        The contact center system.

        " + } + }, + "documentation":"

        Contains information about an external systems configuration for a Voice Connector.

        " + }, "ForbiddenException":{ "type":"structure", "members":{ @@ -3128,6 +3233,27 @@ } } }, + "GetVoiceConnectorExternalSystemsConfigurationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

        The ID of the Voice Connector for which to return information about the external system configuration.

        ", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorExternalSystemsConfigurationResponse":{ + "type":"structure", + "members":{ + "ExternalSystemsConfiguration":{ + "shape":"ExternalSystemsConfiguration", + "documentation":"

        An object that contains information about an external systems configuration for a Voice Connector.

        " + } + } + }, "GetVoiceConnectorGroupRequest":{ "type":"structure", "required":["VoiceConnectorGroupId"], @@ -4437,6 +4563,35 @@ } } }, + "PutVoiceConnectorExternalSystemsConfigurationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString128", + "documentation":"

        The ID of the Voice Connector for which to add the external system configuration.

        ", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "SessionBorderControllerTypes":{ + "shape":"SessionBorderControllerTypeList", + "documentation":"

        The session border controllers to use.

        " + }, + "ContactCenterSystemTypes":{ + "shape":"ContactCenterSystemTypeList", + "documentation":"

        The contact center system to use.

        " + } + } + }, + "PutVoiceConnectorExternalSystemsConfigurationResponse":{ + "type":"structure", + "members":{ + "ExternalSystemsConfiguration":{ + "shape":"ExternalSystemsConfiguration", + "documentation":"

        An object that contains information about an external systems configuration for a Voice Connector.

        " + } + } + }, "PutVoiceConnectorLoggingConfigurationRequest":{ "type":"structure", "required":[ @@ -4762,6 +4917,20 @@ "exception":true, "fault":true }, + "SessionBorderControllerType":{ + "type":"string", + "enum":[ + "RIBBON_SBC", + "ORACLE_ACME_PACKET_SBC", + "AVAYA_SBCE", + "CISCO_UNIFIED_BORDER_ELEMENT", + "AUDIOCODES_MEDIANT_SBC" + ] + }, + "SessionBorderControllerTypeList":{ + "type":"list", + "member":{"shape":"SessionBorderControllerType"} + }, "SipApplicationPriority":{ "type":"integer", "min":1 @@ -5780,6 +5949,10 @@ "VoiceConnectorArn":{ "shape":"NonEmptyString", "documentation":"

        The ARN of the Voice Connector.

        " + }, + "IntegrationType":{ + "shape":"VoiceConnectorIntegrationType", + "documentation":"

        The connectors for use with Amazon Connect.

        " } }, "documentation":"

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

        " @@ -5843,6 +6016,13 @@ "min":1, "pattern":"[a-zA-Z0-9 _.-]+" }, + "VoiceConnectorIntegrationType":{ + "type":"string", + "enum":[ + "CONNECT_CALL_TRANSFER_CONNECTOR", + "CONNECT_ANALYTICS_CONNECTOR" + ] + }, "VoiceConnectorItem":{ "type":"structure", "required":[ diff --git a/tools/code-generation/api-descriptions/cleanrooms-2022-02-17.normal.json b/tools/code-generation/api-descriptions/cleanrooms-2022-02-17.normal.json index 319fb09771b..8231d125510 100644 --- a/tools/code-generation/api-descriptions/cleanrooms-2022-02-17.normal.json +++ b/tools/code-generation/api-descriptions/cleanrooms-2022-02-17.normal.json @@ -2153,6 +2153,57 @@ "CLEAN_ROOMS_SQL" ] }, + "AthenaDatabaseName":{ + "type":"string", + "max":128, + "min":0, + "pattern":"[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?" + }, + "AthenaOutputLocation":{ + "type":"string", + "max":1024, + "min":8, + "pattern":"s3://[a-z0-9.-]{3,63}(.*)" + }, + "AthenaTableName":{ + "type":"string", + "max":128, + "min":0, + "pattern":"[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?" + }, + "AthenaTableReference":{ + "type":"structure", + "required":[ + "workGroup", + "databaseName", + "tableName" + ], + "members":{ + "workGroup":{ + "shape":"AthenaWorkGroup", + "documentation":"

        The workgroup of the Athena table reference.

        " + }, + "outputLocation":{ + "shape":"AthenaOutputLocation", + "documentation":"

        The output location for the Athena table.

        " + }, + "databaseName":{ + "shape":"AthenaDatabaseName", + "documentation":"

        The database name.

        " + }, + "tableName":{ + "shape":"AthenaTableName", + "documentation":"

        The table reference.

        " + } + }, + "documentation":"

        A reference to a table within Athena.

        " + }, + "AthenaWorkGroup":{ + "type":"string", + "max":128, + "min":1, + "pattern":"([a-zA-Z0-9._-])*" + }, "BatchGetCollaborationAnalysisTemplateError":{ "type":"structure", "required":[ @@ -3109,7 +3160,7 @@ "documentation":"

        The type of the column.

        " } }, - "documentation":"

        A column within a schema relation, derived from the underlying Glue table.

        " + "documentation":"

        A column within a schema relation, derived from the underlying table.

        " }, "ColumnList":{ "type":"list", @@ -3338,7 +3389,7 @@ }, "tableReference":{ "shape":"TableReference", - "documentation":"

        The Glue table that this configured table represents.

        " + "documentation":"

        The table that this configured table represents.

        " }, "createTime":{ "shape":"Timestamp", @@ -4097,7 +4148,7 @@ }, "tableReference":{ "shape":"TableReference", - "documentation":"

        A reference to the Glue table being configured.

        " + "documentation":"

        A reference to the table being configured.

        " }, "allowedColumns":{ "shape":"AllowedColumnList", @@ -8296,6 +8347,12 @@ "documentation":"

        Information about the schema type properties.

        ", "union":true }, + "SecretsManagerArn":{ + "type":"string", + "max":256, + "min":0, + "pattern":"arn:aws:secretsmanager:[a-z]{2}-[a-z]+-[0-9]:\\d{12}:secret:.*" + }, "ServiceQuotaExceededException":{ "type":"structure", "required":[ @@ -8321,6 +8378,103 @@ }, "exception":true }, + "SnowflakeAccountIdentifier":{ + "type":"string", + "max":256, + "min":3, + "pattern":"[\\p{L}\\p{M}\\p{N}\\p{Pc}\\p{Pd}\\p{Zs}.]+" + }, + "SnowflakeDatabaseName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{N}\\p{Pc}\\p{Pd}\\p{Zs}]+" + }, + "SnowflakeSchemaName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{N}\\p{Pc}\\p{Pd}\\p{Zs}]+" + }, + "SnowflakeTableName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{N}\\p{Pc}\\p{Pd}\\p{Zs}]+" + }, + "SnowflakeTableReference":{ + "type":"structure", + "required":[ + "secretArn", + "accountIdentifier", + "databaseName", + "tableName", + "schemaName", + "tableSchema" + ], + "members":{ + "secretArn":{ + "shape":"SecretsManagerArn", + "documentation":"

        The secret ARN of the Snowflake table reference.

        " + }, + "accountIdentifier":{ + "shape":"SnowflakeAccountIdentifier", + "documentation":"

        The account identifier for the Snowflake table reference.

        " + }, + "databaseName":{ + "shape":"SnowflakeDatabaseName", + "documentation":"

        The name of the database the Snowflake table belongs to.

        " + }, + "tableName":{ + "shape":"SnowflakeTableName", + "documentation":"

        The name of the Snowflake table.

        " + }, + "schemaName":{ + "shape":"SnowflakeSchemaName", + "documentation":"

        The schema name of the Snowflake table reference.

        " + }, + "tableSchema":{ + "shape":"SnowflakeTableSchema", + "documentation":"

        The schema of the Snowflake table.

        " + } + }, + "documentation":"

        A reference to a table within Snowflake.

        " + }, + "SnowflakeTableSchema":{ + "type":"structure", + "members":{ + "v1":{ + "shape":"SnowflakeTableSchemaList", + "documentation":"

        The schema of a Snowflake table.

        " + } + }, + "documentation":"

        The schema of a Snowflake table.

        ", + "union":true + }, + "SnowflakeTableSchemaList":{ + "type":"list", + "member":{"shape":"SnowflakeTableSchemaV1"}, + "max":250, + "min":1 + }, + "SnowflakeTableSchemaV1":{ + "type":"structure", + "required":[ + "columnName", + "columnType" + ], + "members":{ + "columnName":{ + "shape":"ColumnName", + "documentation":"

        The column name.

        " + }, + "columnType":{ + "shape":"ColumnTypeString", + "documentation":"

        The column's data type. Supported data types: ARRAY, BIGINT, BOOLEAN, CHAR, DATE, DECIMAL, DOUBLE, DOUBLE PRECISION, FLOAT, FLOAT4, INT, INTEGER, MAP, NUMERIC, NUMBER, REAL, SMALLINT, STRING, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, DATETIME, TINYINT, VARCHAR, TEXT, CHARACTER.

        " + } + }, + "documentation":"

        The Snowflake table schema.

        " + }, "StartProtectedQueryInput":{ "type":"structure", "required":[ @@ -8388,9 +8542,17 @@ "glue":{ "shape":"GlueTableReference", "documentation":"

        If present, a reference to the Glue table referred to by this table reference.

        " + }, + "snowflake":{ + "shape":"SnowflakeTableReference", + "documentation":"

        If present, a reference to the Snowflake table referred to by this table reference.

        " + }, + "athena":{ + "shape":"AthenaTableReference", + "documentation":"

        If present, a reference to the Athena table referred to by this table reference.

        " } }, - "documentation":"

        A pointer to the dataset that underlies this table. Currently, this can only be an Glue table.

        ", + "documentation":"

        A pointer to the dataset that underlies this table.

        ", "union":true }, "TagKey":{ diff --git a/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json b/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json index c689ede72da..c8bd011477a 100644 --- a/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json +++ b/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json @@ -1558,7 +1558,7 @@ {"shape":"InternalServiceException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Gets details and status of a phone number that’s claimed to your Amazon Connect instance or traffic distribution group.

        If the number is claimed to a traffic distribution group, and you are calling in the Amazon Web Services Region where the traffic distribution group was created, you can use either a phone number ARN or UUID value for the PhoneNumberId URI request parameter. However, if the number is claimed to a traffic distribution group and you are calling this API in the alternate Amazon Web Services Region associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

        " + "documentation":"

        Gets details and status of a phone number that’s claimed to your Amazon Connect instance or traffic distribution group.

        If the number is claimed to a traffic distribution group, and you are calling in the Amazon Web Services Region where the traffic distribution group was created, you can use either a phone number ARN or UUID value for the PhoneNumberId URI request parameter. However, if the number is claimed to a traffic distribution group and you are calling this API in the alternate Amazon Web Services Region associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you receive a ResourceNotFoundException.

        " }, "DescribePredefinedAttribute":{ "name":"DescribePredefinedAttribute", @@ -2215,7 +2215,7 @@ {"shape":"IdempotencyException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Imports a claimed phone number from an external service, such as Amazon Pinpoint, 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 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.

        " + "documentation":"

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

        " }, "ListAgentStatuses":{ "name":"ListAgentStatuses", @@ -3444,7 +3444,7 @@ {"shape":"ThrottlingException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Processes chat integration events from Amazon Web Services or external integrations to Amazon Connect. A chat integration event includes:

        • SourceId, DestinationId, and Subtype: a set of identifiers, uniquely representing a chat

        • ChatEvent: details of the chat action to perform such as sending a message, event, or disconnecting from a chat

        When a chat integration event is sent with chat identifiers that do not map to an active chat contact, a new chat contact is also created before handling chat action.

        Access to this API is currently restricted to Amazon Pinpoint for supporting SMS integration.

        " + "documentation":"

        Processes chat integration events from Amazon Web Services or external integrations to Amazon Connect. A chat integration event includes:

        • SourceId, DestinationId, and Subtype: a set of identifiers, uniquely representing a chat

        • ChatEvent: details of the chat action to perform such as sending a message, event, or disconnecting from a chat

        When a chat integration event is sent with chat identifiers that do not map to an active chat contact, a new chat contact is also created before handling chat action.

        Access to this API is currently restricted to Amazon Web Services End User Messaging for supporting SMS integration.

        " }, "SendOutboundEmail":{ "name":"SendOutboundEmail", @@ -3588,7 +3588,7 @@ {"shape":"ThrottlingException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Initiates a new outbound SMS contact to a customer. Response of this API provides the ContactId of the outbound SMS contact created.

        SourceEndpoint only supports Endpoints with CONNECT_PHONENUMBER_ARN as Type and DestinationEndpoint only supports Endpoints with TELEPHONE_NUMBER as Type. ContactFlowId initiates the flow to manage the new SMS contact created.

        This API can be used to initiate outbound SMS contacts for an agent or it can also deflect an ongoing contact to an outbound SMS contact by using the StartOutboundChatContact Flow Action.

        For more information about using SMS in Amazon Connect, see the following topics in the Amazon Connect Administrator Guide:

        " + "documentation":"

        Initiates a new outbound SMS contact to a customer. Response of this API provides the ContactId of the outbound SMS contact created.

        SourceEndpoint only supports Endpoints with CONNECT_PHONENUMBER_ARN as Type and DestinationEndpoint only supports Endpoints with TELEPHONE_NUMBER as Type. ContactFlowId initiates the flow to manage the new SMS contact created.

        This API can be used to initiate outbound SMS contacts for an agent, or it can also deflect an ongoing contact to an outbound SMS contact by using the StartOutboundChatContact Flow Action.

        For more information about using SMS in Amazon Connect, see the following topics in the Amazon Connect Administrator Guide:

        " }, "StartOutboundEmailContact":{ "name":"StartOutboundEmailContact", @@ -3895,7 +3895,9 @@ {"shape":"InvalidParameterException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InternalServiceException"}, - {"shape":"ThrottlingException"} + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} ], "documentation":"

        This API is in preview release for Amazon Connect and is subject to change.

        Adds or updates user-defined contact information associated with the specified contact. At least one field to be updated must be present in the request.

        You can add or update user-defined contact information for both ongoing and completed contacts.

        " }, @@ -5411,7 +5413,7 @@ }, "ResourceId":{ "shape":"ARN", - "documentation":"

        The identifier of the resource.

        " + "documentation":"

        The identifier of the resource.

        • Amazon Web Services End User Messaging SMS phone number ARN when using SMS_PHONE_NUMBER

        • Amazon Web Services End User Messaging Social phone number ARN when using WHATSAPP_MESSAGING_PHONE_NUMBER

        " }, "FlowId":{ "shape":"ARN", @@ -6208,7 +6210,7 @@ }, "ResourceIds":{ "shape":"resourceArnListMaxLimit100", - "documentation":"

        A list of resource identifiers to retrieve flow associations.

        " + "documentation":"

        A list of resource identifiers to retrieve flow associations.

        • Amazon Web Services End User Messaging SMS phone number ARN when using SMS_PHONE_NUMBER

        • Amazon Web Services End User Messaging Social phone number ARN when using WHATSAPP_MESSAGING_PHONE_NUMBER

        " }, "ResourceType":{ "shape":"ListFlowAssociationResourceType", @@ -6500,7 +6502,7 @@ }, "SourcePhoneNumberArn":{ "shape":"ARN", - "documentation":"

        The claimed phone number ARN that was previously imported from the external service, such as Amazon Pinpoint. If it is from Amazon Pinpoint, it looks like the ARN of the phone number that was imported from Amazon Pinpoint.

        " + "documentation":"

        The claimed phone number ARN that was previously imported from the external service, such as Amazon Web Services End User Messaging. If it is from Amazon Web Services End User Messaging, it looks like the ARN of the phone number that was imported from Amazon Web Services End User Messaging.

        " } }, "documentation":"

        Information about a phone number that has been claimed to your Amazon Connect instance or traffic distribution group.

        " @@ -7206,6 +7208,14 @@ "error":{"httpStatusCode":410}, "exception":true }, + "ContactRecordingType":{ + "type":"string", + "enum":[ + "AGENT", + "IVR", + "SCREEN" + ] + }, "ContactReferences":{ "type":"map", "key":{"shape":"ReferenceKey"}, @@ -7938,7 +7948,7 @@ }, "IntegrationArn":{ "shape":"ARN", - "documentation":"

        The Amazon Resource Name (ARN) of the integration.

        When integrating with Amazon Pinpoint, the Amazon Connect and Amazon Pinpoint instances must be in the same account.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the integration.

        When integrating with Amazon Web Services End User Messaging, the Amazon Connect and Amazon Web Services End User Messaging instances must be in the same account.

        " }, "SourceApplicationUrl":{ "shape":"URI", @@ -10667,7 +10677,7 @@ }, "ResourceId":{ "shape":"ARN", - "documentation":"

        The identifier of the resource.

        ", + "documentation":"

        The identifier of the resource.

        • Amazon Web Services End User Messaging SMS phone number ARN when using SMS_PHONE_NUMBER

        • Amazon Web Services End User Messaging Social phone number ARN when using WHATSAPP_MESSAGING_PHONE_NUMBER

        ", "location":"uri", "locationName":"ResourceId" }, @@ -12427,7 +12437,9 @@ "enum":[ "SMS_PHONE_NUMBER", "INBOUND_EMAIL", - "OUTBOUND_EMAIL" + "OUTBOUND_EMAIL", + "ANALYTICS_CONNECTOR", + "WHATSAPP_MESSAGING_PHONE_NUMBER" ] }, "FlowAssociationSummary":{ @@ -12740,7 +12752,7 @@ }, "ResourceId":{ "shape":"ARN", - "documentation":"

        The identifier of the resource.

        ", + "documentation":"

        The identifier of the resource.

        • Amazon Web Services End User Messaging SMS phone number ARN when using SMS_PHONE_NUMBER

        • Amazon Web Services End User Messaging Social phone number ARN when using WHATSAPP_MESSAGING_PHONE_NUMBER

        ", "location":"uri", "locationName":"ResourceId" }, @@ -12857,15 +12869,15 @@ }, "Filters":{ "shape":"FiltersV2List", - "documentation":"

        The filters to apply to returned metrics. You can filter on the following resources:

        • Agents

        • Campaigns

        • Channels

        • Feature

        • Queues

        • Routing profiles

        • Routing step expression

        • User hierarchy groups

        At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

        For metrics for outbound campaigns analytics, you can also use campaigns to satisfy at least one filter requirement.

        To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator Guide.

        Note the following limits:

        • Filter keys: A maximum of 5 filter keys are supported in a single request. Valid filter keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | ANSWERING_MACHINE_DETECTION_STATUS | CAMPAIGN | CAMPAIGN_DELIVERY_EVENT_TYPE |CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype | DISCONNECT_REASON | FEATURE | FLOW_TYPE | FLOWS_NEXT_RESOURCE_ID | FLOWS_NEXT_RESOURCE_QUEUE_ID | FLOWS_OUTCOME_TYPE | FLOWS_RESOURCE_ID | INITIATION_METHOD | RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION | QUEUE | Q_CONNECT_ENABLED |

        • Filter values: A maximum of 100 filter values are supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of 100 filter values, along with 3 channel filters.

          contact_lens_conversational_analytics is a valid filterValue for the FEATURE filter key. It is available only to contacts analyzed by Contact Lens conversational analytics.

          connect:Chat, connect:SMS, connect:Telephony, and connect:WebRTC are valid filterValue examples (not exhaustive) for the contact/segmentAttributes/connect:Subtype filter key.

          ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000 length. This filter is case and order sensitive. JSON string fields must be sorted in ascending order and JSON array order should be kept as is.

          Q_CONNECT_ENABLED. TRUE and FALSE are the only valid filterValues for the Q_CONNECT_ENABLED filter key.

          • TRUE includes all contacts that had Amazon Q in Connect enabled as part of the flow.

          • FALSE includes all contacts that did not have Amazon Q in Connect enabled as part of the flow

          This filter is available only for contact record-driven metrics.

          Campaign ARNs are valid filterValues for the CAMPAIGN filter key.

        " + "documentation":"

        The filters to apply to returned metrics. You can filter on the following resources:

        • Agents

        • Campaigns

        • Channels

        • Feature

        • Queues

        • Routing profiles

        • Routing step expression

        • User hierarchy groups

        At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

        For metrics for outbound campaigns analytics, you can also use campaigns to satisfy at least one filter requirement.

        To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator Guide.

        Note the following limits:

        • Filter keys: A maximum of 5 filter keys are supported in a single request. Valid filter keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | ANSWERING_MACHINE_DETECTION_STATUS | BOT_ID | BOT_ALIAS | BOT_VERSION | BOT_LOCALE | BOT_INTENT_NAME | CAMPAIGN | CAMPAIGN_DELIVERY_EVENT_TYPE |CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype | DISCONNECT_REASON | FEATURE | FLOW_ACTION_ID | FLOW_TYPE | FLOWS_MODULE_RESOURCE_ID | FLOWS_NEXT_RESOURCE_ID | FLOWS_NEXT_RESOURCE_QUEUE_ID | FLOWS_OUTCOME_TYPE | FLOWS_RESOURCE_ID | INITIATION_METHOD | INVOKING_RESOURCE_PUBLISHED_TIMESTAMP | INVOKING_RESOURCE_TYPE | PARENT_FLOWS_RESOURCE_ID | RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION | QUEUE | Q_CONNECT_ENABLED |

        • Filter values: A maximum of 100 filter values are supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of 100 filter values, along with 3 channel filters.

          contact_lens_conversational_analytics is a valid filterValue for the FEATURE filter key. It is available only to contacts analyzed by Contact Lens conversational analytics.

          connect:Chat, connect:SMS, connect:Telephony, and connect:WebRTC are valid filterValue examples (not exhaustive) for the contact/segmentAttributes/connect:Subtype filter key.

          ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000 length. This filter is case and order sensitive. JSON string fields must be sorted in ascending order and JSON array order should be kept as is.

          Q_CONNECT_ENABLED. TRUE and FALSE are the only valid filterValues for the Q_CONNECT_ENABLED filter key.

          • TRUE includes all contacts that had Amazon Q in Connect enabled as part of the flow.

          • FALSE includes all contacts that did not have Amazon Q in Connect enabled as part of the flow

          This filter is available only for contact record-driven metrics.

          Campaign ARNs are valid filterValues for the CAMPAIGN filter key.

        " }, "Groupings":{ "shape":"GroupingsV2", - "documentation":"

        The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

        If no grouping is specified, a summary of all metrics is returned.

        Valid grouping keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | ANSWERING_MACHINE_DETECTION_STATUS | CAMPAIGN | CAMPAIGN_DELIVERY_EVENT_TYPE | CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype | DISCONNECT_REASON | FLOWS_RESOURCE_ID | FLOWS_MODULE_RESOURCE_ID | FLOW_TYPE | FLOWS_OUTCOME_TYPE | INITIATION_METHOD | Q_CONNECT_ENABLED | QUEUE | RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION

        " + "documentation":"

        The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

        If no grouping is specified, a summary of all metrics is returned.

        Valid grouping keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | ANSWERING_MACHINE_DETECTION_STATUS | BOT_ID | BOT_ALIAS | BOT_VERSION | BOT_LOCALE | BOT_INTENT_NAME | CAMPAIGN | CAMPAIGN_DELIVERY_EVENT_TYPE | CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype | DISCONNECT_REASON | FLOWS_RESOURCE_ID | FLOWS_MODULE_RESOURCE_ID | FLOW_ACTION_ID | FLOW_TYPE | FLOWS_OUTCOME_TYPE | INITIATION_METHOD | INVOKING_RESOURCE_PUBLISHED_TIMESTAMP | INVOKING_RESOURCE_TYPE | PARENT_FLOWS_RESOURCE_ID | Q_CONNECT_ENABLED | QUEUE | RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION

        " }, "Metrics":{ "shape":"MetricsV2", - "documentation":"

        The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator Guide.

        ABANDONMENT_RATE

        Unit: Percent

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Abandonment rate

        AGENT_ADHERENT_TIME

        This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Adherent time

        AGENT_ANSWER_RATE

        Unit: Percent

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Agent answer rate

        AGENT_NON_ADHERENT_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Non-adherent time

        AGENT_NON_RESPONSE

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Agent non-response

        AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

        UI name: Agent non-response without customer abandons

        AGENT_OCCUPANCY

        Unit: Percentage

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Occupancy

        AGENT_SCHEDULE_ADHERENCE

        This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

        Unit: Percent

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Adherence

        AGENT_SCHEDULED_TIME

        This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Scheduled time

        AVG_ABANDON_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average queue abandon time

        AVG_ACTIVE_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Average active time

        AVG_AFTER_CONTACT_WORK_TIME

        Unit: Seconds

        Valid metric filter key: INITIATION_METHOD

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average after contact work time

        Feature is a valid filter but not a valid grouping.

        AVG_AGENT_CONNECTING_TIME

        Unit: Seconds

        Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Average agent API connecting time

        The Negate key in metric-level filters is not applicable for this metric.

        AVG_AGENT_PAUSE_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Average agent pause time

        AVG_CASE_RELATED_CONTACTS

        Unit: Count

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Average contacts per case

        AVG_CASE_RESOLUTION_TIME

        Unit: Seconds

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Average case resolution time

        AVG_CONTACT_DURATION

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average contact duration

        Feature is a valid filter but not a valid grouping.

        AVG_CONVERSATION_DURATION

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average conversation duration

        AVG_DIALS_PER_MINUTE

        This metric is available only for outbound campaigns that use the agent assisted voice and automated voice delivery modes.

        Unit: Count

        Valid groupings and filters: Agent, Campaign, Queue, Routing Profile

        UI name: Average dials per minute

        AVG_FLOW_TIME

        Unit: Seconds

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Average flow time

        AVG_GREETING_TIME_AGENT

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent greeting time

        AVG_HANDLE_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

        UI name: Average handle time

        Feature is a valid filter but not a valid grouping.

        AVG_HOLD_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average customer hold time

        Feature is a valid filter but not a valid grouping.

        AVG_HOLD_TIME_ALL_CONTACTS

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average customer hold time all contacts

        AVG_HOLDS

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average holds

        Feature is a valid filter but not a valid grouping.

        AVG_INTERACTION_AND_HOLD_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent interaction and customer hold time

        AVG_INTERACTION_TIME

        Unit: Seconds

        Valid metric filter key: INITIATION_METHOD

        Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent interaction time

        Feature is a valid filter but not a valid grouping.

        AVG_INTERRUPTIONS_AGENT

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent interruptions

        AVG_INTERRUPTION_TIME_AGENT

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent interruption time

        AVG_NON_TALK_TIME

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average non-talk time

        AVG_QUEUE_ANSWER_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average queue answer time

        Feature is a valid filter but not a valid grouping.

        AVG_RESOLUTION_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average resolution time

        AVG_TALK_TIME

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average talk time

        AVG_TALK_TIME_AGENT

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent talk time

        AVG_TALK_TIME_CUSTOMER

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average customer talk time

        AVG_WAIT_TIME_AFTER_CUSTOMER_CONNECTION

        This metric is available only for outbound campaigns that use the agent assisted voice and automated voice delivery modes.

        Unit: Seconds

        Valid groupings and filters: Campaign

        UI name: Average wait time after customer connection

        CAMPAIGN_CONTACTS_ABANDONED_AFTER_X

        This metric is available only for outbound campaigns using the agent assisted voice and automated voice delivery modes.

        Unit: Count

        Valid groupings and filters: Agent, Campaign

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter GT (for Greater than).

        UI name: Campaign contacts abandoned after X

        CAMPAIGN_CONTACTS_ABANDONED_AFTER_X_RATE

        This metric is available only for outbound campaigns using the agent assisted voice and automated voice delivery modes.

        Unit: Percent

        Valid groupings and filters: Agent, Campaign

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter GT (for Greater than).

        UI name: Campaign contacts abandoned after X rate

        CAMPAIGN_INTERACTIONS

        This metric is available only for outbound campaigns using the email delivery mode.

        Unit: Count

        Valid metric filter key: CAMPAIGN_INTERACTION_EVENT_TYPE

        Valid groupings and filters: Campaign

        UI name: Campaign interactions

        CAMPAIGN_SEND_ATTEMPTS

        This metric is available only for outbound campaigns.

        Unit: Count

        Valid groupings and filters: Campaign, Channel, contact/segmentAttributes/connect:Subtype

        UI name: Campaign send attempts

        CASES_CREATED

        Unit: Count

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Cases created

        CONTACTS_CREATED

        Unit: Count

        Valid metric filter key: INITIATION_METHOD

        Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts created

        Feature is a valid filter but not a valid grouping.

        CONTACTS_HANDLED

        Unit: Count

        Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

        UI name: API contacts handled

        Feature is a valid filter but not a valid grouping.

        CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

        Unit: Count

        Valid metric filter key: INITIATION_METHOD

        Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts handled (connected to agent timestamp)

        CONTACTS_HOLD_ABANDONS

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts hold disconnect

        CONTACTS_ON_HOLD_AGENT_DISCONNECT

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contacts hold agent disconnect

        CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contacts hold customer disconnect

        CONTACTS_PUT_ON_HOLD

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contacts put on hold

        CONTACTS_TRANSFERRED_OUT_EXTERNAL

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contacts transferred out external

        CONTACTS_TRANSFERRED_OUT_INTERNAL

        Unit: Percent

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contacts transferred out internal

        CONTACTS_QUEUED

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts queued

        CONTACTS_QUEUED_BY_ENQUEUE

        Unit: Count

        Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

        UI name: Contacts queued (enqueue timestamp)

        CONTACTS_REMOVED_FROM_QUEUE_IN_X

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you can use LT (for \"Less than\") or LTE (for \"Less than equal\").

        UI name: Contacts removed from queue in X seconds

        CONTACTS_RESOLVED_IN_X

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you can use LT (for \"Less than\") or LTE (for \"Less than equal\").

        UI name: Contacts resolved in X

        CONTACTS_TRANSFERRED_OUT

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts transferred out

        Feature is a valid filter but not a valid grouping.

        CONTACTS_TRANSFERRED_OUT_BY_AGENT

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts transferred out by agent

        CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts transferred out queue

        CURRENT_CASES

        Unit: Count

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Current cases

        DELIVERY_ATTEMPTS

        This metric is available only for outbound campaigns.

        Unit: Count

        Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS, CAMPAIGN_DELIVERY_EVENT_TYPE, DISCONNECT_REASON

        Valid groupings and filters: Agent, Answering Machine Detection Status, Campaign, Campaign Delivery EventType, Channel, contact/segmentAttributes/connect:Subtype, Disconnect Reason, Queue, Routing Profile

        UI name: Delivery attempts

        Campaign Delivery EventType filter and grouping are only available for SMS and Email campaign delivery modes. Agent, Queue, Routing Profile, Answering Machine Detection Status and Disconnect Reason are only available for agent assisted voice and automated voice delivery modes.

        DELIVERY_ATTEMPT_DISPOSITION_RATE

        This metric is available only for outbound campaigns. Dispositions for the agent assisted voice and automated voice delivery modes are only available with answering machine detection enabled.

        Unit: Percent

        Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS, CAMPAIGN_DELIVERY_EVENT_TYPE, DISCONNECT_REASON

        Valid groupings and filters: Agent, Answering Machine Detection Status, Campaign, Channel, contact/segmentAttributes/connect:Subtype, Disconnect Reason, Queue, Routing Profile

        UI name: Delivery attempt disposition rate

        Campaign Delivery Event Type filter and grouping are only available for SMS and Email campaign delivery modes. Agent, Queue, Routing Profile, Answering Machine Detection Status and Disconnect Reason are only available for agent assisted voice and automated voice delivery modes.

        FLOWS_OUTCOME

        Unit: Count

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Flows outcome

        FLOWS_STARTED

        Unit: Count

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Flows started

        HUMAN_ANSWERED_CALLS

        This metric is available only for outbound campaigns. Dispositions for the agent assisted voice and automated voice delivery modes are only available with answering machine detection enabled.

        Unit: Count

        Valid groupings and filters: Agent, Campaign

        UI name: Human answered

        MAX_FLOW_TIME

        Unit: Seconds

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Maximum flow time

        MAX_QUEUED_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Maximum queued time

        MIN_FLOW_TIME

        Unit: Seconds

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Minimum flow time

        PERCENT_CASES_FIRST_CONTACT_RESOLVED

        Unit: Percent

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Cases resolved on first contact

        PERCENT_CONTACTS_STEP_EXPIRED

        Unit: Percent

        Valid groupings and filters: Queue, RoutingStepExpression

        UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

        PERCENT_CONTACTS_STEP_JOINED

        Unit: Percent

        Valid groupings and filters: Queue, RoutingStepExpression

        UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

        PERCENT_FLOWS_OUTCOME

        Unit: Percent

        Valid metric filter key: FLOWS_OUTCOME_TYPE

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Flows outcome percentage.

        The FLOWS_OUTCOME_TYPE is not a valid grouping.

        PERCENT_NON_TALK_TIME

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Percentage

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Non-talk time percent

        PERCENT_TALK_TIME

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Percentage

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Talk time percent

        PERCENT_TALK_TIME_AGENT

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Percentage

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Agent talk time percent

        PERCENT_TALK_TIME_CUSTOMER

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Percentage

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Customer talk time percent

        REOPENED_CASE_ACTIONS

        Unit: Count

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Cases reopened

        RESOLVED_CASE_ACTIONS

        Unit: Count

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Cases resolved

        SERVICE_LEVEL

        You can include up to 20 SERVICE_LEVEL metrics in a request.

        Unit: Percent

        Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you can use LT (for \"Less than\") or LTE (for \"Less than equal\").

        UI name: Service level X

        STEP_CONTACTS_QUEUED

        Unit: Count

        Valid groupings and filters: Queue, RoutingStepExpression

        UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

        SUM_AFTER_CONTACT_WORK_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: After contact work time

        SUM_CONNECTING_TIME_AGENT

        Unit: Seconds

        Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Agent API connecting time

        The Negate key in metric-level filters is not applicable for this metric.

        CONTACTS_ABANDONED

        Unit: Count

        Metric filter:

        • Valid values: API| Incoming | Outbound | Transfer | Callback | Queue_Transfer| Disconnect

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

        UI name: Contact abandoned

        SUM_CONTACTS_ABANDONED_IN_X

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you can use LT (for \"Less than\") or LTE (for \"Less than equal\").

        UI name: Contacts abandoned in X seconds

        SUM_CONTACTS_ANSWERED_IN_X

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you can use LT (for \"Less than\") or LTE (for \"Less than equal\").

        UI name: Contacts answered in X seconds

        SUM_CONTACT_FLOW_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contact flow time

        SUM_CONTACT_TIME_AGENT

        Unit: Seconds

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Agent on contact time

        SUM_CONTACTS_DISCONNECTED

        Valid metric filter key: DISCONNECT_REASON

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contact disconnected

        SUM_ERROR_STATUS_TIME_AGENT

        Unit: Seconds

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Error status time

        SUM_HANDLE_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contact handle time

        SUM_HOLD_TIME

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Customer hold time

        SUM_IDLE_TIME_AGENT

        Unit: Seconds

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Agent idle time

        SUM_INTERACTION_AND_HOLD_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Agent interaction and hold time

        SUM_INTERACTION_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Agent interaction time

        SUM_NON_PRODUCTIVE_TIME_AGENT

        Unit: Seconds

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Non-Productive Time

        SUM_ONLINE_TIME_AGENT

        Unit: Seconds

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Online time

        SUM_RETRY_CALLBACK_ATTEMPTS

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Callback attempts

        " + "documentation":"

        The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator Guide.

        ABANDONMENT_RATE

        Unit: Percent

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Abandonment rate

        AGENT_ADHERENT_TIME

        This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Adherent time

        AGENT_ANSWER_RATE

        Unit: Percent

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Agent answer rate

        AGENT_NON_ADHERENT_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Non-adherent time

        AGENT_NON_RESPONSE

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Agent non-response

        AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

        UI name: Agent non-response without customer abandons

        AGENT_OCCUPANCY

        Unit: Percentage

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Occupancy

        AGENT_SCHEDULE_ADHERENCE

        This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

        Unit: Percent

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Adherence

        AGENT_SCHEDULED_TIME

        This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Scheduled time

        AVG_ABANDON_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average queue abandon time

        AVG_ACTIVE_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Average active time

        AVG_AFTER_CONTACT_WORK_TIME

        Unit: Seconds

        Valid metric filter key: INITIATION_METHOD

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average after contact work time

        Feature is a valid filter but not a valid grouping.

        AVG_AGENT_CONNECTING_TIME

        Unit: Seconds

        Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Average agent API connecting time

        The Negate key in metric-level filters is not applicable for this metric.

        AVG_AGENT_PAUSE_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Average agent pause time

        AVG_BOT_CONVERSATION_TIME

        Unit: Seconds

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot version, Bot locale, Flows resource ID, Flows module resource ID, Flow type, Flow action ID, Invoking resource published timestamp, Initiation method, Invoking resource type, Parent flows resource ID

        UI name: Average bot conversation time

        AVG_BOT_CONVERSATION_TURNS

        Unit: Count

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot version, Bot locale, Flows resource ID, Flows module resource ID, Flow type, Flow action ID, Invoking resource published timestamp, Initiation method, Invoking resource type, Parent flows resource ID

        UI name: Average bot conversation turns

        AVG_CASE_RELATED_CONTACTS

        Unit: Count

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Average contacts per case

        AVG_CASE_RESOLUTION_TIME

        Unit: Seconds

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Average case resolution time

        AVG_CONTACT_DURATION

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average contact duration

        Feature is a valid filter but not a valid grouping.

        AVG_CONVERSATION_DURATION

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average conversation duration

        AVG_DIALS_PER_MINUTE

        This metric is available only for outbound campaigns that use the agent assisted voice and automated voice delivery modes.

        Unit: Count

        Valid groupings and filters: Agent, Campaign, Queue, Routing Profile

        UI name: Average dials per minute

        AVG_FLOW_TIME

        Unit: Seconds

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Average flow time

        AVG_GREETING_TIME_AGENT

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent greeting time

        AVG_HANDLE_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

        UI name: Average handle time

        Feature is a valid filter but not a valid grouping.

        AVG_HOLD_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average customer hold time

        Feature is a valid filter but not a valid grouping.

        AVG_HOLD_TIME_ALL_CONTACTS

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average customer hold time all contacts

        AVG_HOLDS

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average holds

        Feature is a valid filter but not a valid grouping.

        AVG_INTERACTION_AND_HOLD_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent interaction and customer hold time

        AVG_INTERACTION_TIME

        Unit: Seconds

        Valid metric filter key: INITIATION_METHOD

        Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent interaction time

        Feature is a valid filter but not a valid grouping.

        AVG_INTERRUPTIONS_AGENT

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent interruptions

        AVG_INTERRUPTION_TIME_AGENT

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent interruption time

        AVG_NON_TALK_TIME

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average non-talk time

        AVG_QUEUE_ANSWER_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average queue answer time

        Feature is a valid filter but not a valid grouping.

        AVG_RESOLUTION_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average resolution time

        AVG_TALK_TIME

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average talk time

        AVG_TALK_TIME_AGENT

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average agent talk time

        AVG_TALK_TIME_CUSTOMER

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Average customer talk time

        AVG_WAIT_TIME_AFTER_CUSTOMER_CONNECTION

        This metric is available only for outbound campaigns that use the agent assisted voice and automated voice delivery modes.

        Unit: Seconds

        Valid groupings and filters: Campaign

        UI name: Average wait time after customer connection

        BOT_CONVERSATIONS_COMPLETED

        Unit: Count

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot version, Bot locale, Flows resource ID, Flows module resource ID, Flow type, Flow action ID, Invoking resource published timestamp, Initiation method, Invoking resource type, Parent flows resource ID

        UI name: Bot conversations

        BOT_INTENTS_COMPLETED

        Unit: Count

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot version, Bot locale, Bot intent name, Flows resource ID, Flows module resource ID, Flow type, Flow action ID, Invoking resource published timestamp, Initiation method, Invoking resource type, Parent flows resource ID

        UI name: Bot intents completed

        CAMPAIGN_CONTACTS_ABANDONED_AFTER_X

        This metric is available only for outbound campaigns using the agent assisted voice and automated voice delivery modes.

        Unit: Count

        Valid groupings and filters: Agent, Campaign

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter GT (for Greater than).

        UI name: Campaign contacts abandoned after X

        CAMPAIGN_CONTACTS_ABANDONED_AFTER_X_RATE

        This metric is available only for outbound campaigns using the agent assisted voice and automated voice delivery modes.

        Unit: Percent

        Valid groupings and filters: Agent, Campaign

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter GT (for Greater than).

        UI name: Campaign contacts abandoned after X rate

        CAMPAIGN_INTERACTIONS

        This metric is available only for outbound campaigns using the email delivery mode.

        Unit: Count

        Valid metric filter key: CAMPAIGN_INTERACTION_EVENT_TYPE

        Valid groupings and filters: Campaign

        UI name: Campaign interactions

        CAMPAIGN_SEND_ATTEMPTS

        This metric is available only for outbound campaigns.

        Unit: Count

        Valid groupings and filters: Campaign, Channel, contact/segmentAttributes/connect:Subtype

        UI name: Campaign send attempts

        CASES_CREATED

        Unit: Count

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Cases created

        CONTACTS_CREATED

        Unit: Count

        Valid metric filter key: INITIATION_METHOD

        Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts created

        Feature is a valid filter but not a valid grouping.

        CONTACTS_HANDLED

        Unit: Count

        Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

        UI name: API contacts handled

        Feature is a valid filter but not a valid grouping.

        CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

        Unit: Count

        Valid metric filter key: INITIATION_METHOD

        Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts handled (connected to agent timestamp)

        CONTACTS_HOLD_ABANDONS

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts hold disconnect

        CONTACTS_ON_HOLD_AGENT_DISCONNECT

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contacts hold agent disconnect

        CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contacts hold customer disconnect

        CONTACTS_PUT_ON_HOLD

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contacts put on hold

        CONTACTS_TRANSFERRED_OUT_EXTERNAL

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contacts transferred out external

        CONTACTS_TRANSFERRED_OUT_INTERNAL

        Unit: Percent

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contacts transferred out internal

        CONTACTS_QUEUED

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts queued

        CONTACTS_QUEUED_BY_ENQUEUE

        Unit: Count

        Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

        UI name: Contacts queued (enqueue timestamp)

        CONTACTS_REMOVED_FROM_QUEUE_IN_X

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you can use LT (for \"Less than\") or LTE (for \"Less than equal\").

        UI name: Contacts removed from queue in X seconds

        CONTACTS_RESOLVED_IN_X

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you can use LT (for \"Less than\") or LTE (for \"Less than equal\").

        UI name: Contacts resolved in X

        CONTACTS_TRANSFERRED_OUT

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts transferred out

        Feature is a valid filter but not a valid grouping.

        CONTACTS_TRANSFERRED_OUT_BY_AGENT

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts transferred out by agent

        CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contacts transferred out queue

        CURRENT_CASES

        Unit: Count

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Current cases

        DELIVERY_ATTEMPTS

        This metric is available only for outbound campaigns.

        Unit: Count

        Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS, CAMPAIGN_DELIVERY_EVENT_TYPE, DISCONNECT_REASON

        Valid groupings and filters: Agent, Answering Machine Detection Status, Campaign, Campaign Delivery EventType, Channel, contact/segmentAttributes/connect:Subtype, Disconnect Reason, Queue, Routing Profile

        UI name: Delivery attempts

        Campaign Delivery EventType filter and grouping are only available for SMS and Email campaign delivery modes. Agent, Queue, Routing Profile, Answering Machine Detection Status and Disconnect Reason are only available for agent assisted voice and automated voice delivery modes.

        DELIVERY_ATTEMPT_DISPOSITION_RATE

        This metric is available only for outbound campaigns. Dispositions for the agent assisted voice and automated voice delivery modes are only available with answering machine detection enabled.

        Unit: Percent

        Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS, CAMPAIGN_DELIVERY_EVENT_TYPE, DISCONNECT_REASON

        Valid groupings and filters: Agent, Answering Machine Detection Status, Campaign, Channel, contact/segmentAttributes/connect:Subtype, Disconnect Reason, Queue, Routing Profile

        UI name: Delivery attempt disposition rate

        Campaign Delivery Event Type filter and grouping are only available for SMS and Email campaign delivery modes. Agent, Queue, Routing Profile, Answering Machine Detection Status and Disconnect Reason are only available for agent assisted voice and automated voice delivery modes.

        FLOWS_OUTCOME

        Unit: Count

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Flows outcome

        FLOWS_STARTED

        Unit: Count

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Flows started

        HUMAN_ANSWERED_CALLS

        This metric is available only for outbound campaigns. Dispositions for the agent assisted voice and automated voice delivery modes are only available with answering machine detection enabled.

        Unit: Count

        Valid groupings and filters: Agent, Campaign

        UI name: Human answered

        MAX_FLOW_TIME

        Unit: Seconds

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Maximum flow time

        MAX_QUEUED_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Maximum queued time

        MIN_FLOW_TIME

        Unit: Seconds

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Minimum flow time

        PERCENT_BOT_CONVERSATIONS_OUTCOME

        Unit: Percent

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot version, Bot locale, Flows resource ID, Flows module resource ID, Flow type, Flow action ID, Invoking resource published timestamp, Initiation method, Invoking resource type, Parent flows resource ID

        UI name: Percent bot conversations outcome

        PERCENT_BOT_INTENTS_OUTCOME

        Unit: Percent

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot version, Bot locale, Bot intent name, Flows resource ID, Flows module resource ID, Flow type, Flow action ID, Invoking resource published timestamp, Initiation method, Invoking resource type, Parent flows resource ID

        UI name: Percent bot intents outcome

        PERCENT_CASES_FIRST_CONTACT_RESOLVED

        Unit: Percent

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Cases resolved on first contact

        PERCENT_CONTACTS_STEP_EXPIRED

        Unit: Percent

        Valid groupings and filters: Queue, RoutingStepExpression

        UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

        PERCENT_CONTACTS_STEP_JOINED

        Unit: Percent

        Valid groupings and filters: Queue, RoutingStepExpression

        UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

        PERCENT_FLOWS_OUTCOME

        Unit: Percent

        Valid metric filter key: FLOWS_OUTCOME_TYPE

        Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

        UI name: Flows outcome percentage.

        The FLOWS_OUTCOME_TYPE is not a valid grouping.

        PERCENT_NON_TALK_TIME

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Percentage

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Non-talk time percent

        PERCENT_TALK_TIME

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Percentage

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Talk time percent

        PERCENT_TALK_TIME_AGENT

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Percentage

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Agent talk time percent

        PERCENT_TALK_TIME_CUSTOMER

        This metric is available only for contacts analyzed by Contact Lens conversational analytics.

        Unit: Percentage

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Customer talk time percent

        REOPENED_CASE_ACTIONS

        Unit: Count

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Cases reopened

        RESOLVED_CASE_ACTIONS

        Unit: Count

        Required filter key: CASE_TEMPLATE_ARN

        Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

        UI name: Cases resolved

        SERVICE_LEVEL

        You can include up to 20 SERVICE_LEVEL metrics in a request.

        Unit: Percent

        Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you can use LT (for \"Less than\") or LTE (for \"Less than equal\").

        UI name: Service level X

        STEP_CONTACTS_QUEUED

        Unit: Count

        Valid groupings and filters: Queue, RoutingStepExpression

        UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

        SUM_AFTER_CONTACT_WORK_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: After contact work time

        SUM_CONNECTING_TIME_AGENT

        Unit: Seconds

        Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Agent API connecting time

        The Negate key in metric-level filters is not applicable for this metric.

        CONTACTS_ABANDONED

        Unit: Count

        Metric filter:

        • Valid values: API| Incoming | Outbound | Transfer | Callback | Queue_Transfer| Disconnect

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

        UI name: Contact abandoned

        SUM_CONTACTS_ABANDONED_IN_X

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you can use LT (for \"Less than\") or LTE (for \"Less than equal\").

        UI name: Contacts abandoned in X seconds

        SUM_CONTACTS_ANSWERED_IN_X

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

        Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you can use LT (for \"Less than\") or LTE (for \"Less than equal\").

        UI name: Contacts answered in X seconds

        SUM_CONTACT_FLOW_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contact flow time

        SUM_CONTACT_TIME_AGENT

        Unit: Seconds

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Agent on contact time

        SUM_CONTACTS_DISCONNECTED

        Valid metric filter key: DISCONNECT_REASON

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Contact disconnected

        SUM_ERROR_STATUS_TIME_AGENT

        Unit: Seconds

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Error status time

        SUM_HANDLE_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Contact handle time

        SUM_HOLD_TIME

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Customer hold time

        SUM_IDLE_TIME_AGENT

        Unit: Seconds

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Agent idle time

        SUM_INTERACTION_AND_HOLD_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

        UI name: Agent interaction and hold time

        SUM_INTERACTION_TIME

        Unit: Seconds

        Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

        UI name: Agent interaction time

        SUM_NON_PRODUCTIVE_TIME_AGENT

        Unit: Seconds

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Non-Productive Time

        SUM_ONLINE_TIME_AGENT

        Unit: Seconds

        Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

        UI name: Online time

        SUM_RETRY_CALLBACK_ATTEMPTS

        Unit: Count

        Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

        UI name: Callback attempts

        " }, "NextToken":{ "shape":"NextToken2500", @@ -13674,7 +13686,7 @@ }, "SourcePhoneNumberArn":{ "shape":"ARN", - "documentation":"

        The claimed phone number ARN being imported from the external service, such as Amazon Pinpoint. If it is from Amazon Pinpoint, it looks like the ARN of the phone number to import from Amazon Pinpoint.

        " + "documentation":"

        The claimed phone number ARN being imported from the external service, such as Amazon Web Services End User Messaging. If it is from Amazon Web Services End User Messaging, it looks like the ARN of the phone number to import from Amazon Web Services End User Messaging.

        " }, "PhoneNumberDescription":{ "shape":"PhoneNumberDescription", @@ -14067,7 +14079,9 @@ "CASES_DOMAIN", "APPLICATION", "FILE_SCANNER", - "SES_IDENTITY" + "SES_IDENTITY", + "ANALYTICS_CONNECTOR", + "CALL_TRANSFER_CONNECTOR" ] }, "InternalServiceException":{ @@ -14188,6 +14202,10 @@ "type":"list", "member":{"shape":"IpCidr"} }, + "IvrRecordingTrack":{ + "type":"string", + "enum":["ALL"] + }, "JoinToken":{ "type":"string", "sensitive":true @@ -14942,9 +14960,11 @@ "ListFlowAssociationResourceType":{ "type":"string", "enum":[ + "WHATSAPP_MESSAGING_PHONE_NUMBER", "VOICE_PHONE_NUMBER", "INBOUND_EMAIL", - "OUTBOUND_EMAIL" + "OUTBOUND_EMAIL", + "ANALYTICS_CONNECTOR" ] }, "ListFlowAssociationsRequest":{ @@ -15356,7 +15376,7 @@ }, "SourcePhoneNumberArn":{ "shape":"ARN", - "documentation":"

        The claimed phone number ARN that was previously imported from the external service, such as Amazon Pinpoint. If it is from Amazon Pinpoint, it looks like the ARN of the phone number that was imported from Amazon Pinpoint.

        " + "documentation":"

        The claimed phone number ARN that was previously imported from the external service, such as Amazon Web Services End User Messaging. If it is from Amazon Web Services End User Messaging, it looks like the ARN of the phone number that was imported from Amazon Web Services End User Messaging.

        " } }, "documentation":"

        Information about phone numbers that have been claimed to your Amazon Connect instance or traffic distribution group.

        " @@ -16642,7 +16662,7 @@ }, "MetricFilterValues":{ "shape":"MetricFilterValueList", - "documentation":"

        The values to use for filtering data. Values for metric-level filters can be either a fixed set of values or a customized list, depending on the use case.

        For valid values of metric-level filters INITIATION_METHOD, DISCONNECT_REASON, and ANSWERING_MACHINE_DETECTION_STATUS, see ContactTraceRecord in the Amazon Connect Administrator Guide.

        For valid values of the metric-level filter FLOWS_OUTCOME_TYPE, see the description for the Flow outcome metric in the Amazon Connect Administrator Guide.

        " + "documentation":"

        The values to use for filtering data. Values for metric-level filters can be either a fixed set of values or a customized list, depending on the use case.

        For valid values of metric-level filters INITIATION_METHOD, DISCONNECT_REASON, and ANSWERING_MACHINE_DETECTION_STATUS, see ContactTraceRecord in the Amazon Connect Administrator Guide.

        For valid values of the metric-level filter FLOWS_OUTCOME_TYPE, see the description for the Flow outcome metric in the Amazon Connect Administrator Guide.

        For valid values of the metric-level filter BOT_CONVERSATION_OUTCOME_TYPE, see the description for the Bot conversations completed in the Amazon Connect Administrator Guide.

        For valid values of the metric-level filter BOT_INTENT_OUTCOME_TYPE, see the description for the Bot intents completed metric in the Amazon Connect Administrator Guide.

        " }, "Negate":{ "shape":"Boolean", @@ -18071,6 +18091,16 @@ }, "documentation":"

        If this contact was queued, this contains information about the queue.

        " }, + "QueueInfoInput":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"QueueId", + "documentation":"

        The identifier of the queue.

        " + } + }, + "documentation":"

        Information about a queue.

        " + }, "QueueMaxContacts":{ "type":"integer", "min":0 @@ -19207,6 +19237,10 @@ "InitialContactId":{ "shape":"ContactId", "documentation":"

        The identifier of the contact. This is the identifier of the contact associated with the first interaction with the contact center.

        " + }, + "ContactRecordingType":{ + "shape":"ContactRecordingType", + "documentation":"

        The type of recording being operated on.

        " } } }, @@ -20792,7 +20826,7 @@ }, "Arn":{ "shape":"ARN", - "documentation":"

        The Amazon Resource Name (ARN) for the secruity profile.

        " + "documentation":"

        The Amazon Resource Name (ARN) for the security profile.

        " }, "SecurityProfileName":{ "shape":"SecurityProfileName", @@ -21006,11 +21040,11 @@ }, "DestinationId":{ "shape":"DestinationId", - "documentation":"

        Chat system identifier, used in part to uniquely identify chat. This is associated with the Amazon Connect instance and flow to be used to start chats. For SMS, this is the phone number destination of inbound SMS messages represented by an Amazon Pinpoint phone number ARN.

        " + "documentation":"

        Chat system identifier, used in part to uniquely identify chat. This is associated with the Amazon Connect instance and flow to be used to start chats. For Server Migration Service, this is the phone number destination of inbound Server Migration Service messages represented by an Amazon Web Services End User Messaging phone number ARN.

        " }, "Subtype":{ "shape":"Subtype", - "documentation":"

        Classification of a channel. This is used in part to uniquely identify chat.

        Valid value: [\"connect:sms\"]

        " + "documentation":"

        Classification of a channel. This is used in part to uniquely identify chat.

        Valid value: [\"connect:sms\", connect:\"WhatsApp\"]

        " }, "Event":{ "shape":"ChatEvent", @@ -22030,6 +22064,10 @@ "InitialContactId":{ "shape":"ContactId", "documentation":"

        The identifier of the contact. This is the identifier of the contact associated with the first interaction with the contact center.

        " + }, + "ContactRecordingType":{ + "shape":"ContactRecordingType", + "documentation":"

        The type of recording being operated on.

        " } } }, @@ -22259,6 +22297,10 @@ "InitialContactId":{ "shape":"ContactId", "documentation":"

        The identifier of the contact. This is the identifier of the contact associated with the first interaction with the contact center.

        " + }, + "ContactRecordingType":{ + "shape":"ContactRecordingType", + "documentation":"

        The type of recording being operated on.

        " } } }, @@ -22395,7 +22437,7 @@ "members":{ "key":{ "shape":"TagKey", - "documentation":"

        The tag key in the tagSet.

        " + "documentation":"

        The tag key in the TagSet.

        " }, "value":{ "shape":"TagValue", @@ -23432,6 +23474,22 @@ "SegmentAttributes":{ "shape":"SegmentAttributes", "documentation":"

        A set of system defined key-value pairs stored on individual contact segments (unique contact ID) using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows.

        Attribute keys can include only alphanumeric, -, and _.

        This field can be used to show channel subtype, such as connect:Guide.

        Currently Contact Expiry is the only segment attribute which can be updated by using the UpdateContact API.

        " + }, + "QueueInfo":{ + "shape":"QueueInfoInput", + "documentation":"

        Information about the queue associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see Amazon Connect Contact Lens integration in the Amazon Connect Administrator Guide.

        " + }, + "UserInfo":{ + "shape":"UserInfo", + "documentation":"

        Information about the agent associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see Amazon Connect Contact Lens integration in the Amazon Connect Administrator Guide.

        " + }, + "CustomerEndpoint":{ + "shape":"Endpoint", + "documentation":"

        The endpoint of the customer for which the contact was initiated. For external audio contacts, this is usually the end customer's phone number. This value can only be updated for external audio contacts. For more information, see Amazon Connect Contact Lens integration in the Amazon Connect Administrator Guide.

        " + }, + "SystemEndpoint":{ + "shape":"Endpoint", + "documentation":"

        External system endpoint for the contact was initiated. For external audio contacts, this is the phone number of the external system such as the contact center. This value can only be updated for external audio contacts. For more information, see Amazon Connect Contact Lens integration in the Amazon Connect Administrator Guide.

        " } } }, @@ -25710,6 +25768,10 @@ "VoiceRecordingTrack":{ "shape":"VoiceRecordingTrack", "documentation":"

        Identifies which track is being recorded.

        " + }, + "IvrRecordingTrack":{ + "shape":"IvrRecordingTrack", + "documentation":"

        Identifies which IVR track is being recorded.

        " } }, "documentation":"

        Contains information about the recording configuration settings.

        " @@ -25740,5 +25802,5 @@ }, "timestamp":{"type":"timestamp"} }, - "documentation":"

        Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer contact center and provide reliable customer engagement at any scale.

        Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing. You can also resolve customer issues more efficiently by getting customers in touch with the appropriate agents.

        There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number of requests that you can make per second. For more information, see Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

        You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

        " + "documentation":"

        Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer contact center and provide reliable customer engagement at any scale.

        Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing. You can also resolve customer issues more efficiently by getting customers in touch with the appropriate agents.

        There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number of requests that you can make per second. For more information, see Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

        You can use an endpoint to connect programmatically to an Amazon Web Services service. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

        " } diff --git a/tools/code-generation/api-descriptions/connectcampaignsv2-2024-04-23.normal.json b/tools/code-generation/api-descriptions/connectcampaignsv2-2024-04-23.normal.json index baf7d34cb25..d1a02e3c219 100644 --- a/tools/code-generation/api-descriptions/connectcampaignsv2-2024-04-23.normal.json +++ b/tools/code-generation/api-descriptions/connectcampaignsv2-2024-04-23.normal.json @@ -359,6 +359,27 @@ "documentation":"

        Creates outbound requests for the specified campaign Amazon Connect account. This API is idempotent.

        ", "idempotent":true }, + "PutProfileOutboundRequestBatch":{ + "name":"PutProfileOutboundRequestBatch", + "http":{ + "method":"PUT", + "requestUri":"/v2/campaigns/{id}/profile-outbound-requests", + "responseCode":200 + }, + "input":{"shape":"PutProfileOutboundRequestBatchRequest"}, + "output":{"shape":"PutProfileOutboundRequestBatchResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Takes in a list of profile outbound requests to be placed as part of an outbound campaign. This API is idempotent.

        ", + "idempotent":true + }, "ResumeCampaign":{ "name":"ResumeCampaign", "http":{ @@ -1251,6 +1272,13 @@ "documentation":"

        Server-side encryption type.

        ", "enum":["KMS"] }, + "EventTrigger":{ + "type":"structure", + "members":{ + "customerProfilesDomainArn":{"shape":"Arn"} + }, + "documentation":"

        Event trigger of the campaign

        " + }, "EventType":{ "type":"string", "documentation":"

        Enumeration of Customer Profiles event type

        ", @@ -1276,6 +1304,22 @@ "max":25, "min":0 }, + "FailedProfileOutboundRequest":{ + "type":"structure", + "members":{ + "clientToken":{"shape":"ClientToken"}, + "id":{"shape":"ProfileOutboundRequestId"}, + "failureCode":{"shape":"ProfileOutboundRequestFailureCode"} + }, + "documentation":"

        Failure details for a profile outbound request

        " + }, + "FailedProfileOutboundRequestList":{ + "type":"list", + "member":{"shape":"FailedProfileOutboundRequest"}, + "documentation":"

        List of failed profile outbound requests

        ", + "max":20, + "min":0 + }, "FailedRequest":{ "type":"structure", "members":{ @@ -1729,6 +1773,49 @@ }, "documentation":"

        Predictive config

        " }, + "ProfileId":{ + "type":"string", + "documentation":"

        Identifier of the customer profile

        ", + "pattern":"[a-f0-9]{32}" + }, + "ProfileOutboundRequest":{ + "type":"structure", + "required":[ + "clientToken", + "profileId" + ], + "members":{ + "clientToken":{"shape":"ClientToken"}, + "profileId":{"shape":"ProfileId"}, + "expirationTime":{"shape":"TimeStamp"} + }, + "documentation":"

        Information about a profile outbound request

        " + }, + "ProfileOutboundRequestFailureCode":{ + "type":"string", + "documentation":"

        Predefined code indicating the error that caused the failure

        ", + "enum":[ + "UnknownError", + "ResourceNotFound", + "Conflict", + "RequestThrottled", + "InvalidInput" + ] + }, + "ProfileOutboundRequestId":{ + "type":"string", + "documentation":"

        Identifier of the profile outbound request

        ", + "max":256, + "min":0, + "pattern":"[a-zA-Z0-9_\\-.]*" + }, + "ProfileOutboundRequestList":{ + "type":"list", + "member":{"shape":"ProfileOutboundRequest"}, + "documentation":"

        List of profile outbound requests

        ", + "max":20, + "min":1 + }, "ProgressiveConfig":{ "type":"structure", "required":["bandwidthAllocation"], @@ -1777,6 +1864,30 @@ }, "documentation":"

        The response for PutOutboundRequestBatch API.

        " }, + "PutProfileOutboundRequestBatchRequest":{ + "type":"structure", + "required":[ + "id", + "profileOutboundRequests" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "profileOutboundRequests":{"shape":"ProfileOutboundRequestList"} + }, + "documentation":"

        The request for PutProfileOutboundRequestBatch API

        " + }, + "PutProfileOutboundRequestBatchResponse":{ + "type":"structure", + "members":{ + "successfulRequests":{"shape":"SuccessfulProfileOutboundRequestList"}, + "failedRequests":{"shape":"FailedProfileOutboundRequestList"} + }, + "documentation":"

        The response for PutProfileOutboundRequestBatch API

        " + }, "QConnectIntegrationConfig":{ "type":"structure", "required":["knowledgeBaseArn"], @@ -1956,7 +2067,8 @@ "Source":{ "type":"structure", "members":{ - "customerProfilesSegmentArn":{"shape":"Arn"} + "customerProfilesSegmentArn":{"shape":"Arn"}, + "eventTrigger":{"shape":"EventTrigger"} }, "documentation":"

        Source of the campaign

        ", "union":true @@ -2030,6 +2142,21 @@ "max":25, "min":0 }, + "SuccessfulProfileOutboundRequest":{ + "type":"structure", + "members":{ + "clientToken":{"shape":"ClientToken"}, + "id":{"shape":"ProfileOutboundRequestId"} + }, + "documentation":"

        Success details for a profile outbound request

        " + }, + "SuccessfulProfileOutboundRequestList":{ + "type":"list", + "member":{"shape":"SuccessfulProfileOutboundRequest"}, + "documentation":"

        List of successful profile outbound requests

        ", + "max":20, + "min":0 + }, "SuccessfulRequest":{ "type":"structure", "members":{ diff --git a/tools/code-generation/api-descriptions/customer-profiles-2020-08-15.normal.json b/tools/code-generation/api-descriptions/customer-profiles-2020-08-15.normal.json index 845d0978102..00a74a1066b 100644 --- a/tools/code-generation/api-descriptions/customer-profiles-2020-08-15.normal.json +++ b/tools/code-generation/api-descriptions/customer-profiles-2020-08-15.normal.json @@ -117,6 +117,23 @@ ], "documentation":"

        Creates an event stream, which is a subscription to real-time events, such as when profiles are created and updated through Amazon Connect Customer Profiles.

        Each event stream can be associated with only one Kinesis Data Stream destination in the same region and Amazon Web Services account as the customer profiles domain

        " }, + "CreateEventTrigger":{ + "name":"CreateEventTrigger", + "http":{ + "method":"POST", + "requestUri":"/domains/{DomainName}/event-triggers/{EventTriggerName}" + }, + "input":{"shape":"CreateEventTriggerRequest"}, + "output":{"shape":"CreateEventTriggerResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Creates an event trigger, which specifies the rules when to perform action based on customer's ingested data.

        Each event stream can be associated with only one integration in the same region and AWS account as the event stream.

        " + }, "CreateIntegrationWorkflow":{ "name":"CreateIntegrationWorkflow", "http":{ @@ -256,6 +273,23 @@ "documentation":"

        Disables and deletes the specified event stream.

        ", "idempotent":true }, + "DeleteEventTrigger":{ + "name":"DeleteEventTrigger", + "http":{ + "method":"DELETE", + "requestUri":"/domains/{DomainName}/event-triggers/{EventTriggerName}" + }, + "input":{"shape":"DeleteEventTriggerRequest"}, + "output":{"shape":"DeleteEventTriggerResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Disable and deletes the Event Trigger.

        You cannot delete an Event Trigger with an active Integration associated.

        " + }, "DeleteIntegration":{ "name":"DeleteIntegration", "http":{ @@ -479,6 +513,23 @@ ], "documentation":"

        Returns information about the specified event stream in a specific domain.

        " }, + "GetEventTrigger":{ + "name":"GetEventTrigger", + "http":{ + "method":"GET", + "requestUri":"/domains/{DomainName}/event-triggers/{EventTriggerName}" + }, + "input":{"shape":"GetEventTriggerRequest"}, + "output":{"shape":"GetEventTriggerResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Get a specific Event Trigger from the domain.

        " + }, "GetIdentityResolutionJob":{ "name":"GetIdentityResolutionJob", "http":{ @@ -771,6 +822,23 @@ ], "documentation":"

        Returns a list of all the event streams in a specific domain.

        " }, + "ListEventTriggers":{ + "name":"ListEventTriggers", + "http":{ + "method":"GET", + "requestUri":"/domains/{DomainName}/event-triggers" + }, + "input":{"shape":"ListEventTriggersRequest"}, + "output":{"shape":"ListEventTriggersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        List all Event Triggers under a domain.

        " + }, "ListIdentityResolutionJobs":{ "name":"ListIdentityResolutionJobs", "http":{ @@ -1105,6 +1173,23 @@ ], "documentation":"

        Updates the properties of a domain, including creating or selecting a dead letter queue or an encryption key.

        After a domain is created, the name can’t be changed.

        Use this API or CreateDomain to enable identity resolution: set Matching to true.

        To prevent cross-service impersonation when you call this API, see Cross-service confused deputy prevention for sample policies that you should apply.

        To add or remove tags on an existing Domain, see TagResource/UntagResource.

        " }, + "UpdateEventTrigger":{ + "name":"UpdateEventTrigger", + "http":{ + "method":"PUT", + "requestUri":"/domains/{DomainName}/event-triggers/{EventTriggerName}" + }, + "input":{"shape":"UpdateEventTriggerRequest"}, + "output":{"shape":"UpdateEventTriggerResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Update the properties of an Event Trigger.

        " + }, "UpdateProfile":{ "name":"UpdateProfile", "http":{ @@ -1808,6 +1893,26 @@ "key":{"shape":"typeName"}, "value":{"shape":"CalculatedAttributeDimension"} }, + "ComparisonOperator":{ + "type":"string", + "enum":[ + "INCLUSIVE", + "EXCLUSIVE", + "CONTAINS", + "BEGINS_WITH", + "ENDS_WITH", + "GREATER_THAN", + "LESS_THAN", + "GREATER_THAN_OR_EQUAL", + "LESS_THAN_OR_EQUAL", + "EQUAL", + "BEFORE", + "AFTER", + "ON", + "BETWEEN", + "NOT_BETWEEN" + ] + }, "ConditionOverrides":{ "type":"structure", "members":{ @@ -2128,6 +2233,94 @@ } } }, + "CreateEventTriggerRequest":{ + "type":"structure", + "required":[ + "DomainName", + "EventTriggerName", + "ObjectTypeName", + "EventTriggerConditions" + ], + "members":{ + "DomainName":{ + "shape":"name", + "documentation":"

        The unique name of the domain.

        ", + "location":"uri", + "locationName":"DomainName" + }, + "EventTriggerName":{ + "shape":"name", + "documentation":"

        The unique name of the event trigger.

        ", + "location":"uri", + "locationName":"EventTriggerName" + }, + "ObjectTypeName":{ + "shape":"typeName", + "documentation":"

        The unique name of the object type.

        " + }, + "Description":{ + "shape":"sensitiveText", + "documentation":"

        The description of the event trigger.

        " + }, + "EventTriggerConditions":{ + "shape":"EventTriggerConditions", + "documentation":"

        A list of conditions that determine when an event should trigger the destination.

        " + }, + "SegmentFilter":{ + "shape":"name", + "documentation":"

        The destination is triggered only for profiles that meet the criteria of a segment definition.

        " + }, + "EventTriggerLimits":{ + "shape":"EventTriggerLimits", + "documentation":"

        Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

        " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

        An array of key-value pairs to apply to this resource.

        " + } + } + }, + "CreateEventTriggerResponse":{ + "type":"structure", + "members":{ + "EventTriggerName":{ + "shape":"name", + "documentation":"

        The unique name of the event trigger.

        " + }, + "ObjectTypeName":{ + "shape":"typeName", + "documentation":"

        The unique name of the object type.

        " + }, + "Description":{ + "shape":"sensitiveText", + "documentation":"

        The description of the event trigger.

        " + }, + "EventTriggerConditions":{ + "shape":"EventTriggerConditions", + "documentation":"

        A list of conditions that determine when an event should trigger the destination.

        " + }, + "SegmentFilter":{ + "shape":"name", + "documentation":"

        The destination is triggered only for profiles that meet the criteria of a segment definition.

        " + }, + "EventTriggerLimits":{ + "shape":"EventTriggerLimits", + "documentation":"

        Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

        " + }, + "CreatedAt":{ + "shape":"timestamp", + "documentation":"

        The timestamp of when the event trigger was created.

        " + }, + "LastUpdatedAt":{ + "shape":"timestamp", + "documentation":"

        The timestamp of when the event trigger was most recently updated.

        " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

        An array of key-value pairs to apply to this resource.

        " + } + } + }, "CreateIntegrationWorkflowRequest":{ "type":"structure", "required":[ @@ -2593,6 +2786,37 @@ "members":{ } }, + "DeleteEventTriggerRequest":{ + "type":"structure", + "required":[ + "DomainName", + "EventTriggerName" + ], + "members":{ + "DomainName":{ + "shape":"name", + "documentation":"

        The unique name of the domain.

        ", + "location":"uri", + "locationName":"DomainName" + }, + "EventTriggerName":{ + "shape":"name", + "documentation":"

        The unique name of the event trigger.

        ", + "location":"uri", + "locationName":"EventTriggerName" + } + } + }, + "DeleteEventTriggerResponse":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"message", + "documentation":"

        A message that indicates the delete request is done.

        " + } + } + }, "DeleteIntegrationRequest":{ "type":"structure", "required":[ @@ -3047,6 +3271,117 @@ "type":"list", "member":{"shape":"EventStreamSummary"} }, + "EventTriggerCondition":{ + "type":"structure", + "required":[ + "EventTriggerDimensions", + "LogicalOperator" + ], + "members":{ + "EventTriggerDimensions":{ + "shape":"EventTriggerDimensions", + "documentation":"

        A list of dimensions to be evaluated for the event.

        " + }, + "LogicalOperator":{ + "shape":"EventTriggerLogicalOperator", + "documentation":"

        The operator used to combine multiple dimensions.

        " + } + }, + "documentation":"

        Specifies the circumstances under which the event should trigger the destination.

        " + }, + "EventTriggerConditions":{ + "type":"list", + "member":{"shape":"EventTriggerCondition"}, + "max":5, + "min":1, + "sensitive":true + }, + "EventTriggerDimension":{ + "type":"structure", + "required":["ObjectAttributes"], + "members":{ + "ObjectAttributes":{ + "shape":"ObjectAttributes", + "documentation":"

        A list of object attributes to be evaluated.

        " + } + }, + "documentation":"

        A specific event dimension to be assessed.

        " + }, + "EventTriggerDimensions":{ + "type":"list", + "member":{"shape":"EventTriggerDimension"}, + "max":10, + "min":1 + }, + "EventTriggerLimits":{ + "type":"structure", + "members":{ + "EventExpiration":{ + "shape":"optionalLong", + "documentation":"

        In milliseconds. Specifies that an event will only trigger the destination if it is processed within a certain latency period.

        " + }, + "Periods":{ + "shape":"Periods", + "documentation":"

        A list of time periods during which the limits apply.

        " + } + }, + "documentation":"

        Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

        " + }, + "EventTriggerLogicalOperator":{ + "type":"string", + "enum":[ + "ANY", + "ALL", + "NONE" + ] + }, + "EventTriggerNames":{ + "type":"list", + "member":{"shape":"name"}, + "max":1, + "min":1 + }, + "EventTriggerSummaryItem":{ + "type":"structure", + "members":{ + "ObjectTypeName":{ + "shape":"typeName", + "documentation":"

        The unique name of the object type.

        " + }, + "EventTriggerName":{ + "shape":"name", + "documentation":"

        The unique name of the event trigger.

        " + }, + "Description":{ + "shape":"text", + "documentation":"

        The description of the event trigger.

        " + }, + "CreatedAt":{ + "shape":"timestamp", + "documentation":"

        The timestamp of when the event trigger was created.

        " + }, + "LastUpdatedAt":{ + "shape":"timestamp", + "documentation":"

        The timestamp of when the event trigger was most recently updated.

        " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

        An array of key-value pairs to apply to this resource.

        " + } + }, + "documentation":"

        The summary of the event trigger.

        " + }, + "EventTriggerSummaryList":{ + "type":"list", + "member":{"shape":"EventTriggerSummaryItem"}, + "sensitive":true + }, + "EventTriggerValues":{ + "type":"list", + "member":{"shape":"string1To255"}, + "max":10, + "min":1 + }, "ExportingConfig":{ "type":"structure", "members":{ @@ -3658,6 +3993,68 @@ } } }, + "GetEventTriggerRequest":{ + "type":"structure", + "required":[ + "DomainName", + "EventTriggerName" + ], + "members":{ + "DomainName":{ + "shape":"name", + "documentation":"

        The unique name of the domain.

        ", + "location":"uri", + "locationName":"DomainName" + }, + "EventTriggerName":{ + "shape":"name", + "documentation":"

        The unique name of the event trigger.

        ", + "location":"uri", + "locationName":"EventTriggerName" + } + } + }, + "GetEventTriggerResponse":{ + "type":"structure", + "members":{ + "EventTriggerName":{ + "shape":"name", + "documentation":"

        The unique name of the event trigger.

        " + }, + "ObjectTypeName":{ + "shape":"typeName", + "documentation":"

        The unique name of the object type.

        " + }, + "Description":{ + "shape":"sensitiveText", + "documentation":"

        The description of the event trigger.

        " + }, + "EventTriggerConditions":{ + "shape":"EventTriggerConditions", + "documentation":"

        A list of conditions that determine when an event should trigger the destination.

        " + }, + "SegmentFilter":{ + "shape":"name", + "documentation":"

        The destination is triggered only for profiles that meet the criteria of a segment definition.

        " + }, + "EventTriggerLimits":{ + "shape":"EventTriggerLimits", + "documentation":"

        Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

        " + }, + "CreatedAt":{ + "shape":"timestamp", + "documentation":"

        The timestamp of when the event trigger was created.

        " + }, + "LastUpdatedAt":{ + "shape":"timestamp", + "documentation":"

        The timestamp of when the event trigger was most recently updated.

        " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

        An array of key-value pairs to apply to this resource.

        " + } + } + }, "GetIdentityResolutionJobRequest":{ "type":"structure", "required":[ @@ -3795,6 +4192,10 @@ "RoleArn":{ "shape":"RoleArn", "documentation":"

        The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make Customer Profiles requests on your behalf.

        " + }, + "EventTriggerNames":{ + "shape":"EventTriggerNames", + "documentation":"

        A list of unique names for active event triggers associated with the integration. This list would be empty if no Event Trigger is associated with the integration.

        " } } }, @@ -4859,6 +5260,43 @@ } } }, + "ListEventTriggersRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"name", + "documentation":"

        The unique name of the domain.

        ", + "location":"uri", + "locationName":"DomainName" + }, + "NextToken":{ + "shape":"token", + "documentation":"

        The pagination token to use with ListEventTriggers.

        ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"maxSize100", + "documentation":"

        The maximum number of results to return per page.

        ", + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListEventTriggersResponse":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"EventTriggerSummaryList", + "documentation":"

        The list of Event Triggers.

        " + }, + "NextToken":{ + "shape":"token", + "documentation":"

        The pagination token from the previous call to ListEventTriggers.

        " + } + } + }, "ListIdentityResolutionJobsRequest":{ "type":"structure", "required":["DomainName"], @@ -4944,6 +5382,10 @@ "RoleArn":{ "shape":"RoleArn", "documentation":"

        The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make Customer Profiles requests on your behalf.

        " + }, + "EventTriggerNames":{ + "shape":"EventTriggerNames", + "documentation":"

        A list of unique names for active event triggers associated with the integration.

        " } }, "documentation":"

        An integration in list of integrations.

        " @@ -5644,6 +6086,38 @@ "max":512, "pattern":"\\S+" }, + "ObjectAttribute":{ + "type":"structure", + "required":[ + "ComparisonOperator", + "Values" + ], + "members":{ + "Source":{ + "shape":"text", + "documentation":"

        An attribute contained within a source object.

        " + }, + "FieldName":{ + "shape":"fieldName", + "documentation":"

        A field defined within an object type.

        " + }, + "ComparisonOperator":{ + "shape":"ComparisonOperator", + "documentation":"

        The operator used to compare an attribute against a list of values.

        " + }, + "Values":{ + "shape":"EventTriggerValues", + "documentation":"

        A list of attribute values used for comparison.

        " + } + }, + "documentation":"

        The criteria that a specific object attribute must meet to trigger the destination.

        " + }, + "ObjectAttributes":{ + "type":"list", + "member":{"shape":"ObjectAttribute"}, + "max":10, + "min":1 + }, "ObjectCount":{ "type":"integer", "max":100, @@ -5753,6 +6227,47 @@ ], "sensitive":true }, + "Period":{ + "type":"structure", + "required":[ + "Unit", + "Value" + ], + "members":{ + "Unit":{ + "shape":"PeriodUnit", + "documentation":"

        The unit of time.

        " + }, + "Value":{ + "shape":"maxSize24", + "documentation":"

        The amount of time of the specified unit.

        " + }, + "MaxInvocationsPerProfile":{ + "shape":"maxSize1000", + "documentation":"

        The maximum allowed number of destination invocations per profile.

        " + }, + "Unlimited":{ + "shape":"boolean", + "documentation":"

        If set to true, there is no limit on the number of destination invocations per profile. The default is false.

        " + } + }, + "documentation":"

        Defines a limit and the time period during which it is enforced.

        " + }, + "PeriodUnit":{ + "type":"string", + "enum":[ + "HOURS", + "DAYS", + "WEEKS", + "MONTHS" + ] + }, + "Periods":{ + "type":"list", + "member":{"shape":"Period"}, + "max":4, + "min":1 + }, "PhoneNumberList":{ "type":"list", "member":{"shape":"string1To255"}, @@ -6165,6 +6680,10 @@ "RoleArn":{ "shape":"RoleArn", "documentation":"

        The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make Customer Profiles requests on your behalf.

        " + }, + "EventTriggerNames":{ + "shape":"EventTriggerNames", + "documentation":"

        A list of unique names for active event triggers associated with the integration.

        " } } }, @@ -6216,6 +6735,10 @@ "RoleArn":{ "shape":"RoleArn", "documentation":"

        The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make Customer Profiles requests on your behalf.

        " + }, + "EventTriggerNames":{ + "shape":"EventTriggerNames", + "documentation":"

        A list of unique names for active event triggers associated with the integration. This list would be empty if no Event Trigger is associated with the integration.

        " } } }, @@ -7417,6 +7940,88 @@ } } }, + "UpdateEventTriggerRequest":{ + "type":"structure", + "required":[ + "DomainName", + "EventTriggerName" + ], + "members":{ + "DomainName":{ + "shape":"name", + "documentation":"

        The unique name of the domain.

        ", + "location":"uri", + "locationName":"DomainName" + }, + "EventTriggerName":{ + "shape":"name", + "documentation":"

        The unique name of the event trigger.

        ", + "location":"uri", + "locationName":"EventTriggerName" + }, + "ObjectTypeName":{ + "shape":"typeName", + "documentation":"

        The unique name of the object type.

        " + }, + "Description":{ + "shape":"sensitiveText", + "documentation":"

        The description of the event trigger.

        " + }, + "EventTriggerConditions":{ + "shape":"EventTriggerConditions", + "documentation":"

        A list of conditions that determine when an event should trigger the destination.

        " + }, + "SegmentFilter":{ + "shape":"name", + "documentation":"

        The destination is triggered only for profiles that meet the criteria of a segment definition.

        " + }, + "EventTriggerLimits":{ + "shape":"EventTriggerLimits", + "documentation":"

        Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

        " + } + } + }, + "UpdateEventTriggerResponse":{ + "type":"structure", + "members":{ + "EventTriggerName":{ + "shape":"name", + "documentation":"

        The unique name of the event trigger.

        " + }, + "ObjectTypeName":{ + "shape":"typeName", + "documentation":"

        The unique name of the object type.

        " + }, + "Description":{ + "shape":"sensitiveText", + "documentation":"

        The description of the event trigger.

        " + }, + "EventTriggerConditions":{ + "shape":"EventTriggerConditions", + "documentation":"

        A list of conditions that determine when an event should trigger the destination.

        " + }, + "SegmentFilter":{ + "shape":"name", + "documentation":"

        The destination is triggered only for profiles that meet the criteria of a segment definition.

        " + }, + "EventTriggerLimits":{ + "shape":"EventTriggerLimits", + "documentation":"

        Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

        " + }, + "CreatedAt":{ + "shape":"timestamp", + "documentation":"

        The timestamp of when the event trigger was created.

        " + }, + "LastUpdatedAt":{ + "shape":"timestamp", + "documentation":"

        The timestamp of when the event trigger was most recently updated.

        " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

        An array of key-value pairs to apply to this resource.

        " + } + } + }, "UpdateProfileRequest":{ "type":"structure", "required":[ @@ -7656,6 +8261,12 @@ "max":1098, "min":1 }, + "fieldName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9_.-]+$" + }, "foundByList":{ "type":"list", "member":{"shape":"FoundByKeyValue"}, @@ -7679,6 +8290,16 @@ "max":100, "min":1 }, + "maxSize1000":{ + "type":"integer", + "max":1000, + "min":1 + }, + "maxSize24":{ + "type":"integer", + "max":24, + "min":1 + }, "message":{"type":"string"}, "minSize0":{ "type":"integer", @@ -7689,6 +8310,7 @@ "min":1 }, "optionalBoolean":{"type":"boolean"}, + "optionalLong":{"type":"long"}, "requestValueList":{ "type":"list", "member":{"shape":"string1To255"} diff --git a/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json b/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json index b988267798a..9d7e611990b 100644 --- a/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json +++ b/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json @@ -491,6 +491,16 @@ "input":{"shape":"CancelConversionRequest"}, "documentation":"

        Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

        " }, + "CancelDeclarativePoliciesReport":{ + "name":"CancelDeclarativePoliciesReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelDeclarativePoliciesReportRequest"}, + "output":{"shape":"CancelDeclarativePoliciesReportResult"}, + "documentation":"

        Cancels the generation of an account status report.

        You can only cancel a report while it has the running status. Reports with other statuses (complete, cancelled, or error) can't be canceled.

        For more information, see Generating the account status report for declarative policies in the Amazon Web Services Organizations User Guide.

        " + }, "CancelExportTask":{ "name":"CancelExportTask", "http":{ @@ -2507,6 +2517,16 @@ "output":{"shape":"DescribeCustomerGatewaysResult"}, "documentation":"

        Describes one or more of your VPN customer gateways.

        For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN User Guide.

        " }, + "DescribeDeclarativePoliciesReports":{ + "name":"DescribeDeclarativePoliciesReports", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDeclarativePoliciesReportsRequest"}, + "output":{"shape":"DescribeDeclarativePoliciesReportsResult"}, + "documentation":"

        Describes the metadata of an account status report, including the status of the report.

        To view the full report, download it from the Amazon S3 bucket where it was saved. Reports are accessible only when they have the complete status. Reports with other statuses (running, cancelled, or error) are not available in the S3 bucket. For more information about downloading objects from an S3 bucket, see Downloading objects in the Amazon Simple Storage Service User Guide.

        For more information, see Generating the account status report for declarative policies in the Amazon Web Services Organizations User Guide.

        " + }, "DescribeDhcpOptions":{ "name":"DescribeDhcpOptions", "http":{ @@ -2715,7 +2735,7 @@ }, "input":{"shape":"DescribeImagesRequest"}, "output":{"shape":"DescribeImagesResult"}, - "documentation":"

        Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

        The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

        Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

        We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

        The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

        " + "documentation":"

        Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

        The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

        Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

        When Allowed AMIs is set to enabled, only allowed images are returned in the results, with the imageAllowed field set to true for each image. In audit-mode, the imageAllowed field is set to true for images that meet the account's Allowed AMIs criteria, and false for images that don't meet the criteria. For more information, see EnableAllowedImagesSettings.

        We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

        The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

        " }, "DescribeImportImageTasks":{ "name":"DescribeImportImageTasks", @@ -2795,7 +2815,7 @@ }, "input":{"shape":"DescribeInstanceImageMetadataRequest"}, "output":{"shape":"DescribeInstanceImageMetadataResult"}, - "documentation":"

        Describes the AMI that was used to launch an instance, even if the AMI is deprecated, deregistered, or made private (no longer public or shared with your account).

        If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance.

        If you specify an instance ID that is not valid, an instance that doesn't exist, or an instance that you do not own, an error (InvalidInstanceID.NotFound) is returned.

        Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

        In the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected Availability Zone, or do not specify any instance IDs at all, the call fails. If you specify only instance IDs that are in an unaffected Availability Zone, the call works normally.

        The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

        " + "documentation":"

        Describes the AMI that was used to launch an instance, even if the AMI is deprecated, deregistered, made private (no longer public or shared with your account), or not allowed.

        If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance.

        If you specify an instance ID that is not valid, an instance that doesn't exist, or an instance that you do not own, an error (InvalidInstanceID.NotFound) is returned.

        Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

        In the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected Availability Zone, or do not specify any instance IDs at all, the call fails. If you specify only instance IDs that are in an unaffected Availability Zone, the call works normally.

        The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

        " }, "DescribeInstanceStatus":{ "name":"DescribeInstanceStatus", @@ -3747,6 +3767,16 @@ "output":{"shape":"DescribeVpcClassicLinkDnsSupportResult"}, "documentation":"

        This action is deprecated.

        Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance.

        " }, + "DescribeVpcEndpointAssociations":{ + "name":"DescribeVpcEndpointAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcEndpointAssociationsRequest"}, + "output":{"shape":"DescribeVpcEndpointAssociationsResult"}, + "documentation":"

        Describes the VPC resources, VPC endpoint services, Amazon Lattice services, or service networks associated with the VPC endpoint.

        " + }, "DescribeVpcEndpointConnectionNotifications":{ "name":"DescribeVpcEndpointConnectionNotifications", "http":{ @@ -3914,6 +3944,16 @@ "output":{"shape":"DisableAddressTransferResult"}, "documentation":"

        Disables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

        " }, + "DisableAllowedImagesSettings":{ + "name":"DisableAllowedImagesSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableAllowedImagesSettingsRequest"}, + "output":{"shape":"DisableAllowedImagesSettingsResult"}, + "documentation":"

        Disables Allowed AMIs for your account in the specified Amazon Web Services Region. When set to disabled, the image criteria in your Allowed AMIs settings do not apply, and no restrictions are placed on AMI discoverability or usage. Users in your account can launch instances using any public AMI or AMI shared with your account.

        The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of the criteria you set, the AMIs created by your account will always be discoverable and usable by users in your account.

        For more information, see Control the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon EC2 User Guide.

        " + }, "DisableAwsNetworkPerformanceMetricSubscription":{ "name":"DisableAwsNetworkPerformanceMetricSubscription", "http":{ @@ -4241,6 +4281,16 @@ "output":{"shape":"EnableAddressTransferResult"}, "documentation":"

        Enables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

        " }, + "EnableAllowedImagesSettings":{ + "name":"EnableAllowedImagesSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableAllowedImagesSettingsRequest"}, + "output":{"shape":"EnableAllowedImagesSettingsResult"}, + "documentation":"

        Enables Allowed AMIs for your account in the specified Amazon Web Services Region. Two values are accepted:

        • enabled: The image criteria in your Allowed AMIs settings are applied. As a result, only AMIs matching these criteria are discoverable and can be used by your account to launch instances.

        • audit-mode: The image criteria in your Allowed AMIs settings are not applied. No restrictions are placed on AMI discoverability or usage. Users in your account can launch instances using any public AMI or AMI shared with your account.

          The purpose of audit-mode is to indicate which AMIs will be affected when Allowed AMIs is enabled. In audit-mode, each AMI displays either \"ImageAllowed\": true or \"ImageAllowed\": false to indicate whether the AMI will be discoverable and available to users in the account when Allowed AMIs is enabled.

        The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of the criteria you set, the AMIs created by your account will always be discoverable and usable by users in your account.

        For more information, see Control the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon EC2 User Guide.

        " + }, "EnableAwsNetworkPerformanceMetricSubscription":{ "name":"EnableAwsNetworkPerformanceMetricSubscription", "http":{ @@ -4449,6 +4499,26 @@ "output":{"shape":"ExportTransitGatewayRoutesResult"}, "documentation":"

        Exports routes from the specified transit gateway route table to the specified S3 bucket. By default, all routes are exported. Alternatively, you can filter by CIDR range.

        The routes are saved to the specified bucket in a JSON file. For more information, see Export route tables to Amazon S3 in the Amazon Web Services Transit Gateways Guide.

        " }, + "ExportVerifiedAccessInstanceClientConfiguration":{ + "name":"ExportVerifiedAccessInstanceClientConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportVerifiedAccessInstanceClientConfigurationRequest"}, + "output":{"shape":"ExportVerifiedAccessInstanceClientConfigurationResult"}, + "documentation":"

        Exports the client configuration for a Verified Access instance.

        " + }, + "GetAllowedImagesSettings":{ + "name":"GetAllowedImagesSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAllowedImagesSettingsRequest"}, + "output":{"shape":"GetAllowedImagesSettingsResult"}, + "documentation":"

        Gets the current state of the Allowed AMIs setting and the list of Allowed AMIs criteria at the account level in the specified Region.

        The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of the criteria you set, the AMIs created by your account will always be discoverable and usable by users in your account.

        For more information, see Control the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon EC2 User Guide.

        " + }, "GetAssociatedEnclaveCertificateIamRoles":{ "name":"GetAssociatedEnclaveCertificateIamRoles", "http":{ @@ -4519,6 +4589,16 @@ "output":{"shape":"GetConsoleScreenshotResult"}, "documentation":"

        Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

        The returned content is Base64-encoded.

        For more information, see Instance console output in the Amazon EC2 User Guide.

        " }, + "GetDeclarativePoliciesReportSummary":{ + "name":"GetDeclarativePoliciesReportSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDeclarativePoliciesReportSummaryRequest"}, + "output":{"shape":"GetDeclarativePoliciesReportSummaryResult"}, + "documentation":"

        Retrieves a summary of the account status report.

        To view the full report, download it from the Amazon S3 bucket where it was saved. Reports are accessible only when they have the complete status. Reports with other statuses (running, cancelled, or error) are not available in the S3 bucket. For more information about downloading objects from an S3 bucket, see Downloading objects in the Amazon Simple Storage Service User Guide.

        For more information, see Generating the account status report for declarative policies in the Amazon Web Services Organizations User Guide.

        " + }, "GetDefaultCreditSpecification":{ "name":"GetDefaultCreditSpecification", "http":{ @@ -4899,6 +4979,16 @@ "output":{"shape":"GetVerifiedAccessEndpointPolicyResult"}, "documentation":"

        Get the Verified Access policy associated with the endpoint.

        " }, + "GetVerifiedAccessEndpointTargets":{ + "name":"GetVerifiedAccessEndpointTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetVerifiedAccessEndpointTargetsRequest"}, + "output":{"shape":"GetVerifiedAccessEndpointTargetsResult"}, + "documentation":"

        Gets the targets for the specified network CIDR endpoint for Verified Access.

        " + }, "GetVerifiedAccessGroupPolicy":{ "name":"GetVerifiedAccessGroupPolicy", "http":{ @@ -5978,6 +6068,16 @@ "output":{"shape":"ReplaceIamInstanceProfileAssociationResult"}, "documentation":"

        Replaces an IAM instance profile for the specified running instance. You can use this action to change the IAM instance profile that's associated with an instance without having to disassociate the existing IAM instance profile first.

        Use DescribeIamInstanceProfileAssociations to get the association ID.

        " }, + "ReplaceImageCriteriaInAllowedImagesSettings":{ + "name":"ReplaceImageCriteriaInAllowedImagesSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReplaceImageCriteriaInAllowedImagesSettingsRequest"}, + "output":{"shape":"ReplaceImageCriteriaInAllowedImagesSettingsResult"}, + "documentation":"

        Sets or replaces the criteria for Allowed AMIs.

        The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of the criteria you set, the AMIs created by your account will always be discoverable and usable by users in your account.

        For more information, see Control the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon EC2 User Guide.

        " + }, "ReplaceNetworkAclAssociation":{ "name":"ReplaceNetworkAclAssociation", "http":{ @@ -6270,6 +6370,16 @@ "input":{"shape":"SendDiagnosticInterruptRequest"}, "documentation":"

        Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances). For instances based on Intel and AMD processors, the interrupt is received as a non-maskable interrupt (NMI).

        In general, the operating system crashes and reboots when a kernel panic or stop error is triggered. The operating system can also be configured to perform diagnostic tasks, such as generating a memory dump file, loading a secondary kernel, or obtaining a call trace.

        Before sending a diagnostic interrupt to your instance, ensure that its operating system is configured to perform the required diagnostic tasks.

        For more information about configuring your operating system to generate a crash dump when a kernel panic or stop error occurs, see Send a diagnostic interrupt (for advanced users) in the Amazon EC2 User Guide.

        " }, + "StartDeclarativePoliciesReport":{ + "name":"StartDeclarativePoliciesReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDeclarativePoliciesReportRequest"}, + "output":{"shape":"StartDeclarativePoliciesReportResult"}, + "documentation":"

        Generates an account status report. The report is generated asynchronously, and can take several hours to complete.

        The report provides the current status of all attributes supported by declarative policies for the accounts within the specified scope. The scope is determined by the specified TargetId, which can represent an individual account, or all the accounts that fall under the specified organizational unit (OU) or root (the entire Amazon Web Services Organization).

        The report is saved to your specified S3 bucket, using the following path structure (with the italicized placeholders representing your specific values):

        s3://amzn-s3-demo-bucket/your-optional-s3-prefix/ec2_targetId_reportId_yyyyMMddThhmmZ.csv

        Prerequisites for generating a report

        • The StartDeclarativePoliciesReport API can only be called by the management account or delegated administrators for the organization.

        • An S3 bucket must be available before generating the report (you can create a new one or use an existing one), and it must have an appropriate bucket policy. For a sample S3 policy, see Sample Amazon S3 policy under .

        • Trusted access must be enabled for the service for which the declarative policy will enforce a baseline configuration. If you use the Amazon Web Services Organizations console, this is done automatically when you enable declarative policies. The API uses the following service principal to identify the EC2 service: ec2.amazonaws.com. For more information on how to enable trusted access with the Amazon Web Services CLI and Amazon Web Services SDKs, see Using Organizations with other Amazon Web Services services in the Amazon Web Services Organizations User Guide.

        • Only one report per organization can be generated at a time. Attempting to generate a report while another is in progress will result in an error.

        For more information, including the required IAM permissions to run this API, see Generating the account status report for declarative policies in the Amazon Web Services Organizations User Guide.

        " + }, "StartInstances":{ "name":"StartInstances", "http":{ @@ -7557,6 +7667,17 @@ "type":"string", "enum":["used"] }, + "AllowedImagesSettingsDisabledState":{ + "type":"string", + "enum":["disabled"] + }, + "AllowedImagesSettingsEnabledState":{ + "type":"string", + "enum":[ + "enabled", + "audit-mode" + ] + }, "AllowedInstanceType":{ "type":"string", "max":30, @@ -9306,6 +9427,44 @@ }, "documentation":"

        Describes a value for a resource attribute that is a Boolean value.

        " }, + "AttributeSummary":{ + "type":"structure", + "members":{ + "AttributeName":{ + "shape":"String", + "documentation":"

        The name of the attribute.

        ", + "locationName":"attributeName" + }, + "MostFrequentValue":{ + "shape":"String", + "documentation":"

        The configuration value that is most frequently observed for the attribute.

        ", + "locationName":"mostFrequentValue" + }, + "NumberOfMatchedAccounts":{ + "shape":"Integer", + "documentation":"

        The number of accounts with the same configuration value for the attribute that is most frequently observed.

        ", + "locationName":"numberOfMatchedAccounts" + }, + "NumberOfUnmatchedAccounts":{ + "shape":"Integer", + "documentation":"

        The number of accounts with a configuration value different from the most frequently observed value for the attribute.

        ", + "locationName":"numberOfUnmatchedAccounts" + }, + "RegionalSummaries":{ + "shape":"RegionalSummaryList", + "documentation":"

        The summary report for each Region for the attribute.

        ", + "locationName":"regionalSummarySet" + } + }, + "documentation":"

        A summary report for the attribute across all Regions.

        " + }, + "AttributeSummaryList":{ + "type":"list", + "member":{ + "shape":"AttributeSummary", + "locationName":"item" + } + }, "AttributeValue":{ "type":"structure", "members":{ @@ -10244,6 +10403,30 @@ } } }, + "CancelDeclarativePoliciesReportRequest":{ + "type":"structure", + "required":["ReportId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + }, + "ReportId":{ + "shape":"DeclarativePoliciesReportId", + "documentation":"

        The ID of the report.

        " + } + } + }, + "CancelDeclarativePoliciesReportResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

        Is true if the request succeeds, and an error otherwise.

        ", + "locationName":"return" + } + } + }, "CancelExportTaskRequest":{ "type":"structure", "required":["ExportTaskId"], @@ -16377,6 +16560,30 @@ } } }, + "CreateVerifiedAccessEndpointCidrOptions":{ + "type":"structure", + "members":{ + "Protocol":{ + "shape":"VerifiedAccessEndpointProtocol", + "documentation":"

        The protocol.

        " + }, + "SubnetIds":{ + "shape":"CreateVerifiedAccessEndpointSubnetIdList", + "documentation":"

        The IDs of the subnets.

        ", + "locationName":"SubnetId" + }, + "Cidr":{ + "shape":"String", + "documentation":"

        The CIDR.

        " + }, + "PortRanges":{ + "shape":"CreateVerifiedAccessEndpointPortRangeList", + "documentation":"

        The port ranges.

        ", + "locationName":"PortRange" + } + }, + "documentation":"

        Describes the CIDR options for a Verified Access endpoint.

        " + }, "CreateVerifiedAccessEndpointEniOptions":{ "type":"structure", "members":{ @@ -16391,6 +16598,11 @@ "Port":{ "shape":"VerifiedAccessEndpointPortNumber", "documentation":"

        The IP port number.

        " + }, + "PortRanges":{ + "shape":"CreateVerifiedAccessEndpointPortRangeList", + "documentation":"

        The port ranges.

        ", + "locationName":"PortRange" } }, "documentation":"

        Describes the network interface options when creating an Amazon Web Services Verified Access endpoint using the network-interface type.

        " @@ -16414,19 +16626,77 @@ "shape":"CreateVerifiedAccessEndpointSubnetIdList", "documentation":"

        The IDs of the subnets.

        ", "locationName":"SubnetId" + }, + "PortRanges":{ + "shape":"CreateVerifiedAccessEndpointPortRangeList", + "documentation":"

        The port ranges.

        ", + "locationName":"PortRange" } }, "documentation":"

        Describes the load balancer options when creating an Amazon Web Services Verified Access endpoint using the load-balancer type.

        " }, + "CreateVerifiedAccessEndpointPortRange":{ + "type":"structure", + "members":{ + "FromPort":{ + "shape":"VerifiedAccessEndpointPortNumber", + "documentation":"

        The start of the port range.

        " + }, + "ToPort":{ + "shape":"VerifiedAccessEndpointPortNumber", + "documentation":"

        The end of the port range.

        " + } + }, + "documentation":"

        Describes the port range for a Verified Access endpoint.

        " + }, + "CreateVerifiedAccessEndpointPortRangeList":{ + "type":"list", + "member":{ + "shape":"CreateVerifiedAccessEndpointPortRange", + "locationName":"item" + } + }, + "CreateVerifiedAccessEndpointRdsOptions":{ + "type":"structure", + "members":{ + "Protocol":{ + "shape":"VerifiedAccessEndpointProtocol", + "documentation":"

        The protocol.

        " + }, + "Port":{ + "shape":"VerifiedAccessEndpointPortNumber", + "documentation":"

        The port.

        " + }, + "RdsDbInstanceArn":{ + "shape":"RdsDbInstanceArn", + "documentation":"

        The ARN of the RDS instance.

        " + }, + "RdsDbClusterArn":{ + "shape":"RdsDbClusterArn", + "documentation":"

        The ARN of the DB cluster.

        " + }, + "RdsDbProxyArn":{ + "shape":"RdsDbProxyArn", + "documentation":"

        The ARN of the RDS proxy.

        " + }, + "RdsEndpoint":{ + "shape":"String", + "documentation":"

        The RDS endpoint.

        " + }, + "SubnetIds":{ + "shape":"CreateVerifiedAccessEndpointSubnetIdList", + "documentation":"

        The IDs of the subnets.

        ", + "locationName":"SubnetId" + } + }, + "documentation":"

        Describes the RDS options for a Verified Access endpoint.

        " + }, "CreateVerifiedAccessEndpointRequest":{ "type":"structure", "required":[ "VerifiedAccessGroupId", "EndpointType", - "AttachmentType", - "DomainCertificateArn", - "ApplicationDomain", - "EndpointDomainPrefix" + "AttachmentType" ], "members":{ "VerifiedAccessGroupId":{ @@ -16491,6 +16761,14 @@ "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationRequest", "documentation":"

        The options for server side encryption.

        " + }, + "RdsOptions":{ + "shape":"CreateVerifiedAccessEndpointRdsOptions", + "documentation":"

        The RDS details. This parameter is required if the endpoint type is rds.

        " + }, + "CidrOptions":{ + "shape":"CreateVerifiedAccessEndpointCidrOptions", + "documentation":"

        The CIDR options. This parameter is required if the endpoint type is cidr.

        " } } }, @@ -16581,6 +16859,10 @@ "FIPSEnabled":{ "shape":"Boolean", "documentation":"

        Enable or disable support for Federal Information Processing Standards (FIPS) on the instance.

        " + }, + "CidrEndpointsCustomSubDomain":{ + "shape":"String", + "documentation":"

        The custom subdomain.

        " } } }, @@ -16594,6 +16876,44 @@ } } }, + "CreateVerifiedAccessNativeApplicationOidcOptions":{ + "type":"structure", + "members":{ + "PublicSigningKeyEndpoint":{ + "shape":"String", + "documentation":"

        The public signing key endpoint.

        " + }, + "Issuer":{ + "shape":"String", + "documentation":"

        The OIDC issuer identifier of the IdP.

        " + }, + "AuthorizationEndpoint":{ + "shape":"String", + "documentation":"

        The authorization endpoint of the IdP.

        " + }, + "TokenEndpoint":{ + "shape":"String", + "documentation":"

        The token endpoint of the IdP.

        " + }, + "UserInfoEndpoint":{ + "shape":"String", + "documentation":"

        The user info endpoint of the IdP.

        " + }, + "ClientId":{ + "shape":"String", + "documentation":"

        The OAuth 2.0 client identifier.

        " + }, + "ClientSecret":{ + "shape":"ClientSecretType", + "documentation":"

        The OAuth 2.0 client secret.

        " + }, + "Scope":{ + "shape":"String", + "documentation":"

        The set of user claims to be requested from the IdP.

        " + } + }, + "documentation":"

        Describes the OpenID Connect (OIDC) options.

        " + }, "CreateVerifiedAccessTrustProviderDeviceOptions":{ "type":"structure", "members":{ @@ -16694,6 +17014,10 @@ "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationRequest", "documentation":"

        The options for server side encryption.

        " + }, + "NativeApplicationOidcOptions":{ + "shape":"CreateVerifiedAccessNativeApplicationOidcOptions", + "documentation":"

        The OpenID Connect (OIDC) options.

        " } } }, @@ -16897,10 +17221,7 @@ }, "CreateVpcEndpointRequest":{ "type":"structure", - "required":[ - "VpcId", - "ServiceName" - ], + "required":["VpcId"], "members":{ "DryRun":{ "shape":"Boolean", @@ -16963,6 +17284,14 @@ "documentation":"

        The subnet configurations for the endpoint.

        ", "locationName":"SubnetConfiguration" }, + "ServiceNetworkArn":{ + "shape":"ServiceNetworkArn", + "documentation":"

        The Amazon Resource Name (ARN) of a service network that will be associated with the VPC endpoint of type service-network.

        " + }, + "ResourceConfigurationArn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of a resource configuration that will be associated with the VPC endpoint of type resource.

        " + }, "ServiceRegion":{ "shape":"String", "documentation":"

        The Region where the service is hosted. The default is the current Region.

        " @@ -17460,6 +17789,65 @@ ] }, "DateTime":{"type":"timestamp"}, + "DeclarativePoliciesMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "DeclarativePoliciesReport":{ + "type":"structure", + "members":{ + "ReportId":{ + "shape":"String", + "documentation":"

        The ID of the report.

        ", + "locationName":"reportId" + }, + "S3Bucket":{ + "shape":"String", + "documentation":"

        The name of the Amazon S3 bucket where the report is located.

        ", + "locationName":"s3Bucket" + }, + "S3Prefix":{ + "shape":"String", + "documentation":"

        The prefix for your S3 object.

        ", + "locationName":"s3Prefix" + }, + "TargetId":{ + "shape":"String", + "documentation":"

        The root ID, organizational unit ID, or account ID.

        Format:

        • For root: r-ab12

        • For OU: ou-ab12-cdef1234

        • For account: 123456789012

        ", + "locationName":"targetId" + }, + "StartTime":{ + "shape":"MillisecondDateTime", + "documentation":"

        The time when the report generation started.

        ", + "locationName":"startTime" + }, + "EndTime":{ + "shape":"MillisecondDateTime", + "documentation":"

        The time when the report generation ended.

        ", + "locationName":"endTime" + }, + "Status":{ + "shape":"ReportState", + "documentation":"

        The current status of the report.

        ", + "locationName":"status" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

        Any tags assigned to the report.

        ", + "locationName":"tagSet" + } + }, + "documentation":"

        Describes the metadata of the account status report.

        " + }, + "DeclarativePoliciesReportId":{"type":"string"}, + "DeclarativePoliciesReportList":{ + "type":"list", + "member":{ + "shape":"DeclarativePoliciesReport", + "locationName":"item" + } + }, "DedicatedHostFlag":{"type":"boolean"}, "DedicatedHostId":{"type":"string"}, "DedicatedHostIdList":{ @@ -20798,6 +21186,43 @@ }, "documentation":"

        Contains the output of DescribeCustomerGateways.

        " }, + "DescribeDeclarativePoliciesReportsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + }, + "NextToken":{ + "shape":"String", + "documentation":"

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

        " + }, + "MaxResults":{ + "shape":"DeclarativePoliciesMaxResults", + "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.

        " + }, + "ReportIds":{ + "shape":"ValueStringList", + "documentation":"

        One or more report IDs.

        ", + "locationName":"ReportId" + } + } + }, + "DescribeDeclarativePoliciesReportsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

        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.

        ", + "locationName":"nextToken" + }, + "Reports":{ + "shape":"DeclarativePoliciesReportList", + "documentation":"

        The report metadata.

        ", + "locationName":"reportSet" + } + } + }, "DescribeDhcpOptionsMaxResults":{ "type":"integer", "max":1000, @@ -21861,7 +22286,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

        The filters.

        • architecture - The image architecture (i386 | x86_64 | arm64 | x86_64_mac | arm64_mac).

        • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.

        • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

        • block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

        • block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

        • block-device-mapping.volume-type - The volume type of the Amazon EBS volume (io1 | io2 | gp2 | gp3 | sc1 | st1 | standard).

        • block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

        • creation-date - The time when the image was created, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2021-09-29T*, which matches an entire day.

        • description - The description of the image (provided during image creation).

        • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

        • hypervisor - The hypervisor type (ovm | xen).

        • image-id - The ID of the image.

        • image-type - The image type (machine | kernel | ramdisk).

        • is-public - A Boolean that indicates whether the image is public.

        • kernel-id - The kernel ID.

        • manifest-location - The location of the image manifest.

        • name - The name of the AMI (provided during image creation).

        • owner-alias - The owner alias (amazon | aws-backup-vault | aws-marketplace). The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

        • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the Owner request parameter instead of this filter.

        • platform - The platform. The only supported value is windows.

        • product-code - The product code.

        • product-code.type - The type of the product code (marketplace).

        • ramdisk-id - The RAM disk ID.

        • root-device-name - The device name of the root device volume (for example, /dev/sda1).

        • root-device-type - The type of the root device volume (ebs | instance-store).

        • source-instance-id - The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This filter is applicable only if the AMI was created using CreateImage.

        • state - The state of the image (available | pending | failed).

        • state-reason-code - The reason code for the state change.

        • state-reason-message - The message for the state change.

        • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

        • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        • virtualization-type - The virtualization type (paravirtual | hvm).

        ", + "documentation":"

        The filters.

        • architecture - The image architecture (i386 | x86_64 | arm64 | x86_64_mac | arm64_mac).

        • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.

        • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

        • block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

        • block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

        • block-device-mapping.volume-type - The volume type of the Amazon EBS volume (io1 | io2 | gp2 | gp3 | sc1 | st1 | standard).

        • block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

        • creation-date - The time when the image was created, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2021-09-29T*, which matches an entire day.

        • description - The description of the image (provided during image creation).

        • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

        • hypervisor - The hypervisor type (ovm | xen).

        • image-allowed - A Boolean that indicates whether the image meets the criteria specified for Allowed AMIs.

        • image-id - The ID of the image.

        • image-type - The image type (machine | kernel | ramdisk).

        • is-public - A Boolean that indicates whether the image is public.

        • kernel-id - The kernel ID.

        • manifest-location - The location of the image manifest.

        • name - The name of the AMI (provided during image creation).

        • owner-alias - The owner alias (amazon | aws-backup-vault | aws-marketplace). The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

        • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the Owner request parameter instead of this filter.

        • platform - The platform. The only supported value is windows.

        • product-code - The product code.

        • product-code.type - The type of the product code (marketplace).

        • ramdisk-id - The RAM disk ID.

        • root-device-name - The device name of the root device volume (for example, /dev/sda1).

        • root-device-type - The type of the root device volume (ebs | instance-store).

        • source-image-id - The ID of the source AMI from which the AMI was created.

        • source-image-region - The Region of the source AMI.

        • source-instance-id - The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This filter is applicable only if the AMI was created using CreateImage.

        • state - The state of the image (available | pending | failed).

        • state-reason-code - The reason code for the state change.

        • state-reason-message - The message for the state change.

        • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

        • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        • virtualization-type - The virtualization type (paravirtual | hvm).

        ", "locationName":"Filter" } } @@ -22148,7 +22573,7 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

        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) of the instance.

        • instance-id - The ID of the instance.

        • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

        • instance-type - The type of instance (for example, t3.micro).

        • launch-time - The time when the instance was launched, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2023-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2023-09-29T*, which matches an entire day.

        • tag:<key> - 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.

        • zone-id - The ID of the Availability Zone (for example, usw2-az2) or Local Zone (for example, usw2-lax1-az1) of the instance.

        ", + "documentation":"

        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) of the instance.

        • instance-id - The ID of the instance.

        • image-allowed - A Boolean that indicates whether the image meets the criteria specified for Allowed AMIs.

        • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

        • instance-type - The type of instance (for example, t3.micro).

        • launch-time - The time when the instance was launched, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2023-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2023-09-29T*, which matches an entire day.

        • owner-alias - The owner alias (amazon | aws-marketplace | aws-backup-vault). The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

        • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the Owner request parameter instead of this filter.

        • tag:<key> - 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.

        • zone-id - The ID of the Availability Zone (for example, usw2-az2) or Local Zone (for example, usw2-lax1-az1) of the instance.

        ", "locationName":"Filter" }, "InstanceIds":{ @@ -24702,7 +25127,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

        The filters.

        • description - A description of the snapshot.

        • encrypted - Indicates whether the snapshot is encrypted (true | false)

        • owner-alias - The owner alias, from an Amazon-maintained list (amazon). This is not the user-configured Amazon Web Services account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.

        • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the related parameter instead of this filter.

        • progress - The progress of the snapshot, as a percentage (for example, 80%).

        • snapshot-id - The snapshot ID.

        • start-time - The time stamp when the snapshot was initiated.

        • status - The status of the snapshot (pending | completed | error).

        • storage-tier - The storage tier of the snapshot (archive | standard).

        • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        • volume-id - The ID of the volume the snapshot is for.

        • volume-size - The size of the volume, in GiB.

        ", + "documentation":"

        The filters.

        • description - A description of the snapshot.

        • encrypted - Indicates whether the snapshot is encrypted (true | false)

        • owner-alias - The owner alias, from an Amazon-maintained list (amazon). This is not the user-configured Amazon Web Services account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.

        • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the related parameter instead of this filter.

        • progress - The progress of the snapshot, as a percentage (for example, 80%).

        • snapshot-id - The snapshot ID.

        • start-time - The time stamp when the snapshot was initiated.

        • status - The status of the snapshot (pending | completed | error).

        • storage-tier - The storage tier of the snapshot (archive | standard).

        • transfer-type - The type of operation used to create the snapshot (time-based | standard).

        • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        • volume-id - The ID of the volume the snapshot is for.

        • volume-size - The size of the volume, in GiB.

        ", "locationName":"Filter" } } @@ -26444,6 +26869,48 @@ } } }, + "DescribeVpcEndpointAssociationsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + }, + "VpcEndpointIds":{ + "shape":"VpcEndpointIdList", + "documentation":"

        The IDs of the VPC endpoints.

        ", + "locationName":"VpcEndpointId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

        The filters.

        • vpc-endpoint-id - The ID of the VPC endpoint.

        • associated-resource-accessibility - The association state. When the state is accessible, it returns AVAILABLE. When the state is inaccessible, it returns PENDING or FAILED.

        • association-id - The ID of the VPC endpoint association.

        • associated-resource-id - The ID of the associated resource configuration.

        • service-network-arn - The Amazon Resource Name (ARN) of the associated service network. Only VPC endpoints of type service network will be returned.

        • resource-configuration-group-arn - The Amazon Resource Name (ARN) of the resource configuration of type GROUP.

        • service-network-resource-association-id - The ID of the association.

        ", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"maxResults", + "documentation":"

        The maximum page size.

        " + }, + "NextToken":{ + "shape":"String", + "documentation":"

        The pagination token.

        " + } + } + }, + "DescribeVpcEndpointAssociationsResult":{ + "type":"structure", + "members":{ + "VpcEndpointAssociations":{ + "shape":"VpcEndpointAssociationSet", + "documentation":"

        Details of the endpoint associations.

        ", + "locationName":"vpcEndpointAssociationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

        The pagination token.

        ", + "locationName":"nextToken" + } + } + }, "DescribeVpcEndpointConnectionNotificationsRequest":{ "type":"structure", "members":{ @@ -27101,6 +27568,13 @@ "jumpcloud" ] }, + "DeviceTrustProviderTypeList":{ + "type":"list", + "member":{ + "shape":"DeviceTrustProviderType", + "locationName":"item" + } + }, "DeviceType":{ "type":"string", "enum":[ @@ -27224,6 +27698,25 @@ } } }, + "DisableAllowedImagesSettingsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + } + } + }, + "DisableAllowedImagesSettingsResult":{ + "type":"structure", + "members":{ + "AllowedImagesSettingsState":{ + "shape":"AllowedImagesSettingsDisabledState", + "documentation":"

        Returns disabled if the request succeeds; otherwise, it returns an error.

        ", + "locationName":"allowedImagesSettingsState" + } + } + }, "DisableAwsNetworkPerformanceMetricSubscriptionRequest":{ "type":"structure", "members":{ @@ -28636,7 +29129,7 @@ }, "Operator":{ "shape":"OperatorResponse", - "documentation":"

        The entity that manages the EBS volume.

        ", + "documentation":"

        The service provider that manages the EBS volume.

        ", "locationName":"operator" } }, @@ -29222,6 +29715,30 @@ } } }, + "EnableAllowedImagesSettingsRequest":{ + "type":"structure", + "required":["AllowedImagesSettingsState"], + "members":{ + "AllowedImagesSettingsState":{ + "shape":"AllowedImagesSettingsEnabledState", + "documentation":"

        Specify enabled to apply the image criteria specified by the Allowed AMIs settings. Specify audit-mode so that you can check which AMIs will be allowed or not allowed by the image criteria.

        " + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + } + } + }, + "EnableAllowedImagesSettingsResult":{ + "type":"structure", + "members":{ + "AllowedImagesSettingsState":{ + "shape":"AllowedImagesSettingsEnabledState", + "documentation":"

        Returns enabled or audit-mode if the request succeeds; otherwise, it returns an error.

        ", + "locationName":"allowedImagesSettingsState" + } + } + }, "EnableAwsNetworkPerformanceMetricSubscriptionRequest":{ "type":"structure", "members":{ @@ -30635,6 +31152,55 @@ } } }, + "ExportVerifiedAccessInstanceClientConfigurationRequest":{ + "type":"structure", + "required":["VerifiedAccessInstanceId"], + "members":{ + "VerifiedAccessInstanceId":{ + "shape":"VerifiedAccessInstanceId", + "documentation":"

        The ID of the Verified Access instance.

        " + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + } + } + }, + "ExportVerifiedAccessInstanceClientConfigurationResult":{ + "type":"structure", + "members":{ + "Version":{ + "shape":"String", + "documentation":"

        The version.

        ", + "locationName":"version" + }, + "VerifiedAccessInstanceId":{ + "shape":"String", + "documentation":"

        The ID of the Verified Access instance.

        ", + "locationName":"verifiedAccessInstanceId" + }, + "Region":{ + "shape":"String", + "documentation":"

        The Region.

        ", + "locationName":"region" + }, + "DeviceTrustProviders":{ + "shape":"DeviceTrustProviderTypeList", + "documentation":"

        The device trust providers.

        ", + "locationName":"deviceTrustProviderSet" + }, + "UserTrustProvider":{ + "shape":"VerifiedAccessInstanceUserTrustProviderClientConfiguration", + "documentation":"

        The user identity trust provider.

        ", + "locationName":"userTrustProvider" + }, + "OpenVpnConfigurations":{ + "shape":"VerifiedAccessInstanceOpenVpnClientConfigurationList", + "documentation":"

        The Open VPN configuration.

        ", + "locationName":"openVpnConfigurationSet" + } + } + }, "ExportVmTaskId":{"type":"string"}, "FailedCapacityReservationFleetCancellationResult":{ "type":"structure", @@ -31815,6 +32381,35 @@ "type":"string", "enum":["ipsec.1"] }, + "GetAllowedImagesSettingsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + } + } + }, + "GetAllowedImagesSettingsResult":{ + "type":"structure", + "members":{ + "State":{ + "shape":"String", + "documentation":"

        The current state of the Allowed AMIs setting at the account level in the specified Amazon Web Services Region.

        Possible values:

        • disabled: All AMIs are allowed.

        • audit-mode: All AMIs are allowed, but the ImageAllowed field is set to true if the AMI would be allowed with the current list of criteria if allowed AMIs was enabled.

        • enabled: Only AMIs matching the image criteria are discoverable and available for use.

        ", + "locationName":"state" + }, + "ImageCriteria":{ + "shape":"ImageCriterionList", + "documentation":"

        The list of criteria for images that are discoverable and usable in the account in the specified Amazon Web Services Region.

        ", + "locationName":"imageCriterionSet" + }, + "ManagedBy":{ + "shape":"ManagedBy", + "documentation":"

        The entity that manages the Allowed AMIs settings. Possible values include:

        • account - The Allowed AMIs settings is managed by the account.

        • declarative-policy - The Allowed AMIs settings is managed by a declarative policy and can't be modified by the account.

        ", + "locationName":"managedBy" + } + } + }, "GetAssociatedEnclaveCertificateIamRolesRequest":{ "type":"structure", "required":["CertificateArn"], @@ -32112,6 +32707,70 @@ } } }, + "GetDeclarativePoliciesReportSummaryRequest":{ + "type":"structure", + "required":["ReportId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + }, + "ReportId":{ + "shape":"DeclarativePoliciesReportId", + "documentation":"

        The ID of the report.

        " + } + } + }, + "GetDeclarativePoliciesReportSummaryResult":{ + "type":"structure", + "members":{ + "ReportId":{ + "shape":"String", + "documentation":"

        The ID of the report.

        ", + "locationName":"reportId" + }, + "S3Bucket":{ + "shape":"String", + "documentation":"

        The name of the Amazon S3 bucket where the report is located.

        ", + "locationName":"s3Bucket" + }, + "S3Prefix":{ + "shape":"String", + "documentation":"

        The prefix for your S3 object.

        ", + "locationName":"s3Prefix" + }, + "TargetId":{ + "shape":"String", + "documentation":"

        The root ID, organizational unit ID, or account ID.

        Format:

        • For root: r-ab12

        • For OU: ou-ab12-cdef1234

        • For account: 123456789012

        ", + "locationName":"targetId" + }, + "StartTime":{ + "shape":"MillisecondDateTime", + "documentation":"

        The time when the report generation started.

        ", + "locationName":"startTime" + }, + "EndTime":{ + "shape":"MillisecondDateTime", + "documentation":"

        The time when the report generation ended.

        ", + "locationName":"endTime" + }, + "NumberOfAccounts":{ + "shape":"Integer", + "documentation":"

        The total number of accounts associated with the specified targetId.

        ", + "locationName":"numberOfAccounts" + }, + "NumberOfFailedAccounts":{ + "shape":"Integer", + "documentation":"

        The number of accounts where attributes could not be retrieved in any Region.

        ", + "locationName":"numberOfFailedAccounts" + }, + "AttributeSummaries":{ + "shape":"AttributeSummaryList", + "documentation":"

        The attributes described in the report.

        ", + "locationName":"attributeSummarySet" + } + } + }, "GetDefaultCreditSpecificationRequest":{ "type":"structure", "required":["InstanceFamily"], @@ -32316,6 +32975,11 @@ "shape":"String", "documentation":"

        The current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.

        Possible values:

        • block-new-sharing - Any attempt to publicly share your AMIs in the specified Region is blocked.

        • unblocked - Your AMIs in the specified Region can be publicly shared.

        ", "locationName":"imageBlockPublicAccessState" + }, + "ManagedBy":{ + "shape":"ManagedBy", + "documentation":"

        The entity that manages the state for block public access for AMIs. Possible values include:

        • account - The state is managed by the account.

        • declarative-policy - The state is managed by a declarative policy and can't be modified by the account.

        ", + "locationName":"managedBy" } } }, @@ -33185,6 +33849,11 @@ "shape":"Boolean", "documentation":"

        If true, access to the EC2 serial console of all instances is enabled for your account. If false, access to the EC2 serial console of all instances is disabled for your account.

        ", "locationName":"serialConsoleAccessEnabled" + }, + "ManagedBy":{ + "shape":"ManagedBy", + "documentation":"

        The entity that manages access to the serial console. Possible values include:

        • account - Access is managed by the account.

        • declarative-policy - Access is managed by a declarative policy and can't be modified by the account.

        ", + "locationName":"managedBy" } } }, @@ -33204,6 +33873,11 @@ "shape":"SnapshotBlockPublicAccessState", "documentation":"

        The current state of block public access for snapshots. Possible values include:

        • block-all-sharing - All public sharing of snapshots is blocked. Users in the account can't request new public sharing. Additionally, snapshots that were already publicly shared are treated as private and are not publicly available.

        • block-new-sharing - Only new public sharing of snapshots is blocked. Users in the account can't request new public sharing. However, snapshots that were already publicly shared, remain publicly available.

        • unblocked - Public sharing is not blocked. Users can publicly share snapshots.

        ", "locationName":"state" + }, + "ManagedBy":{ + "shape":"ManagedBy", + "documentation":"

        The entity that manages the state for block public access for snapshots. Possible values include:

        • account - The state is managed by the account.

        • declarative-policy - The state is managed by a declarative policy and can't be modified by the account.

        ", + "locationName":"managedBy" } } }, @@ -33636,6 +34310,48 @@ } } }, + "GetVerifiedAccessEndpointTargetsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "GetVerifiedAccessEndpointTargetsRequest":{ + "type":"structure", + "required":["VerifiedAccessEndpointId"], + "members":{ + "VerifiedAccessEndpointId":{ + "shape":"VerifiedAccessEndpointId", + "documentation":"

        The ID of the network CIDR endpoint.

        " + }, + "MaxResults":{ + "shape":"GetVerifiedAccessEndpointTargetsMaxResults", + "documentation":"

        The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

        " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

        The token for the next page of results.

        " + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + } + } + }, + "GetVerifiedAccessEndpointTargetsResult":{ + "type":"structure", + "members":{ + "VerifiedAccessEndpointTargets":{ + "shape":"VerifiedAccessEndpointTargetList", + "documentation":"

        The Verified Access targets.

        ", + "locationName":"verifiedAccessEndpointTargetSet" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        ", + "locationName":"nextToken" + } + } + }, "GetVerifiedAccessGroupPolicyRequest":{ "type":"structure", "required":["VerifiedAccessGroupId"], @@ -34614,6 +35330,11 @@ "documentation":"

        The date and time, in ISO 8601 date-time format, when the AMI was last used to launch an EC2 instance. When the AMI is used to launch an instance, there is a 24-hour delay before that usage is reported.

        lastLaunchedTime data is available starting April 2017.

        ", "locationName":"lastLaunchedTime" }, + "ImageAllowed":{ + "shape":"Boolean", + "documentation":"

        If true, the AMI satisfies the criteria for Allowed AMIs and can be discovered and used in the account. If false and Allowed AMIs is set to enabled, the AMI can't be discovered or used in the account. If false and Allowed AMIs is set to audit-mode, the AMI can be discovered and used in the account.

        For more information, see Control the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon EC2 User Guide.

        ", + "locationName":"imageAllowed" + }, "SourceImageId":{ "shape":"String", "documentation":"

        The ID of the source AMI from which the AMI was created.

        The ID only appears if the AMI was created using CreateImage, CopyImage, or CreateRestoreImageTask. The ID does not appear if the AMI was created using any other API. For some older AMIs, the ID might not be available. For more information, see Identify the source AMI used to create a new AMI in the Amazon EC2 User Guide.

        ", @@ -34789,6 +35510,42 @@ "type":"string", "enum":["block-new-sharing"] }, + "ImageCriterion":{ + "type":"structure", + "members":{ + "ImageProviders":{ + "shape":"ImageProviderList", + "documentation":"

        A list of AMI providers whose AMIs are discoverable and useable in the account. Up to a total of 200 values can be specified.

        Possible values:

        amazon: Allow AMIs created by Amazon Web Services.

        aws-marketplace: Allow AMIs created by verified providers in the Amazon Web Services Marketplace.

        aws-backup-vault: Allow AMIs created by Amazon Web Services Backup.

        12-digit account ID: Allow AMIs created by this account. One or more account IDs can be specified.

        none: Allow AMIs created by your own account only.

        ", + "locationName":"imageProviderSet" + } + }, + "documentation":"

        The list of criteria that are evaluated to determine whch AMIs are discoverable and usable in the account in the specified Amazon Web Services Region. Currently, the only criteria that can be specified are AMI providers.

        Up to 10 imageCriteria objects can be specified, and up to a total of 200 values for all imageProviders. For more information, see JSON configuration for the Allowed AMIs criteria in the Amazon EC2 User Guide.

        " + }, + "ImageCriterionList":{ + "type":"list", + "member":{ + "shape":"ImageCriterion", + "locationName":"item" + } + }, + "ImageCriterionRequest":{ + "type":"structure", + "members":{ + "ImageProviders":{ + "shape":"ImageProviderRequestList", + "documentation":"

        A list of image providers whose AMIs are discoverable and useable in the account. Up to a total of 200 values can be specified.

        Possible values:

        amazon: Allow AMIs created by Amazon Web Services.

        aws-marketplace: Allow AMIs created by verified providers in the Amazon Web Services Marketplace.

        aws-backup-vault: Allow AMIs created by Amazon Web Services Backup.

        12-digit account ID: Allow AMIs created by this account. One or more account IDs can be specified.

        none: Allow AMIs created by your own account only. When none is specified, no other values can be specified.

        ", + "locationName":"ImageProvider" + } + }, + "documentation":"

        The list of criteria that are evaluated to determine whch AMIs are discoverable and usable in the account in the specified Amazon Web Services Region. Currently, the only criteria that can be specified are AMI providers.

        Up to 10 imageCriteria objects can be specified, and up to a total of 200 values for all imageProviders. For more information, see JSON configuration for the Allowed AMIs criteria in the Amazon EC2 User Guide.

        " + }, + "ImageCriterionRequestList":{ + "type":"list", + "member":{ + "shape":"ImageCriterionRequest", + "locationName":"ImageCriterion" + } + }, "ImageDiskContainer":{ "type":"structure", "members":{ @@ -34886,6 +35643,11 @@ "documentation":"

        The deprecation date and time of the AMI, in UTC, in the following format: YYYY-MM-DDTHH:MM:SSZ.

        ", "locationName":"deprecationTime" }, + "ImageAllowed":{ + "shape":"Boolean", + "documentation":"

        If true, the AMI satisfies the criteria for Allowed AMIs and can be discovered and used in the account. If false, the AMI can't be discovered or used in the account.

        For more information, see Control the discovery and use of AMIs in Amazon EC2 with Allowed AMIs in Amazon EC2 User Guide.

        ", + "locationName":"imageAllowed" + }, "IsPublic":{ "shape":"Boolean", "documentation":"

        Indicates whether the AMI has public launch permissions. A value of true means this AMI has public launch permissions, while false means it has only implicit (AMI owner) or explicit (shared with your account) launch permissions.

        ", @@ -34894,6 +35656,22 @@ }, "documentation":"

        Information about the AMI.

        " }, + "ImageProvider":{"type":"string"}, + "ImageProviderList":{ + "type":"list", + "member":{ + "shape":"ImageProvider", + "locationName":"item" + } + }, + "ImageProviderRequest":{"type":"string"}, + "ImageProviderRequestList":{ + "type":"list", + "member":{ + "shape":"ImageProviderRequest", + "locationName":"item" + } + }, "ImageRecycleBinInfo":{ "type":"structure", "members":{ @@ -35963,7 +36741,7 @@ }, "Operator":{ "shape":"OperatorResponse", - "documentation":"

        The entity that manages the instance.

        ", + "documentation":"

        The service provider that manages the instance.

        ", "locationName":"operator" }, "InstanceId":{ @@ -36902,6 +37680,16 @@ "shape":"InstanceMetadataTagsState", "documentation":"

        Indicates whether access to instance tags from the instance metadata is enabled or disabled. For more information, see Work with instance tags using the instance metadata in the Amazon EC2 User Guide.

        ", "locationName":"instanceMetadataTags" + }, + "ManagedBy":{ + "shape":"ManagedBy", + "documentation":"

        The entity that manages the IMDS default settings. Possible values include:

        • account - The IMDS default settings are managed by the account.

        • declarative-policy - The IMDS default settings are managed by a declarative policy and can't be modified by the account.

        ", + "locationName":"managedBy" + }, + "ManagedExceptionMessage":{ + "shape":"String", + "documentation":"

        The customized exception message that is specified in the declarative policy.

        ", + "locationName":"managedExceptionMessage" } }, "documentation":"

        The default instance metadata service (IMDS) settings that were set at the account level in the specified Amazon Web Services
 Region.

        " @@ -37119,7 +37907,7 @@ }, "Operator":{ "shape":"OperatorResponse", - "documentation":"

        The entity that manages the network interface.

        ", + "documentation":"

        The service provider that manages the network interface.

        ", "locationName":"operator" } }, @@ -37720,7 +38508,7 @@ }, "Operator":{ "shape":"OperatorResponse", - "documentation":"

        The entity that manages the instance.

        ", + "documentation":"

        The service provider that manages the instance.

        ", "locationName":"operator" }, "Events":{ @@ -38809,7 +39597,25 @@ "x8g.24xlarge", "x8g.48xlarge", "x8g.metal-24xl", - "x8g.metal-48xl" + "x8g.metal-48xl", + "i7ie.large", + "i7ie.xlarge", + "i7ie.2xlarge", + "i7ie.3xlarge", + "i7ie.6xlarge", + "i7ie.12xlarge", + "i7ie.18xlarge", + "i7ie.24xlarge", + "i7ie.48xlarge", + "i8g.large", + "i8g.xlarge", + "i8g.2xlarge", + "i8g.4xlarge", + "i8g.8xlarge", + "i8g.12xlarge", + "i8g.16xlarge", + "i8g.24xlarge", + "i8g.metal-24xl" ] }, "InstanceTypeHypervisor":{ @@ -43471,6 +44277,13 @@ }, "documentation":"

        Details for Site-to-Site VPN tunnel endpoint maintenance events.

        " }, + "ManagedBy":{ + "type":"string", + "enum":[ + "account", + "declarative-policy" + ] + }, "ManagedPrefixList":{ "type":"structure", "members":{ @@ -45725,6 +46538,17 @@ } } }, + "ModifyVerifiedAccessEndpointCidrOptions":{ + "type":"structure", + "members":{ + "PortRanges":{ + "shape":"ModifyVerifiedAccessEndpointPortRangeList", + "documentation":"

        The port ranges.

        ", + "locationName":"PortRange" + } + }, + "documentation":"

        The CIDR options for a Verified Access endpoint.

        " + }, "ModifyVerifiedAccessEndpointEniOptions":{ "type":"structure", "members":{ @@ -45735,6 +46559,11 @@ "Port":{ "shape":"VerifiedAccessEndpointPortNumber", "documentation":"

        The IP port number.

        " + }, + "PortRanges":{ + "shape":"ModifyVerifiedAccessEndpointPortRangeList", + "documentation":"

        The port ranges.

        ", + "locationName":"PortRange" } }, "documentation":"

        Describes the options when modifying a Verified Access endpoint with the network-interface type.

        " @@ -45754,6 +46583,11 @@ "Port":{ "shape":"VerifiedAccessEndpointPortNumber", "documentation":"

        The IP port number.

        " + }, + "PortRanges":{ + "shape":"ModifyVerifiedAccessEndpointPortRangeList", + "documentation":"

        The port ranges.

        ", + "locationName":"PortRange" } }, "documentation":"

        Describes a load balancer when creating an Amazon Web Services Verified Access endpoint using the load-balancer type.

        " @@ -45809,6 +46643,46 @@ } } }, + "ModifyVerifiedAccessEndpointPortRange":{ + "type":"structure", + "members":{ + "FromPort":{ + "shape":"VerifiedAccessEndpointPortNumber", + "documentation":"

        The start of the port range.

        " + }, + "ToPort":{ + "shape":"VerifiedAccessEndpointPortNumber", + "documentation":"

        The end of the port range.

        " + } + }, + "documentation":"

        Describes the port range for a Verified Access endpoint.

        " + }, + "ModifyVerifiedAccessEndpointPortRangeList":{ + "type":"list", + "member":{ + "shape":"ModifyVerifiedAccessEndpointPortRange", + "locationName":"item" + } + }, + "ModifyVerifiedAccessEndpointRdsOptions":{ + "type":"structure", + "members":{ + "SubnetIds":{ + "shape":"ModifyVerifiedAccessEndpointSubnetIdList", + "documentation":"

        The IDs of the subnets.

        ", + "locationName":"SubnetId" + }, + "Port":{ + "shape":"VerifiedAccessEndpointPortNumber", + "documentation":"

        The port.

        " + }, + "RdsEndpoint":{ + "shape":"String", + "documentation":"

        The RDS endpoint.

        " + } + }, + "documentation":"

        The RDS options for a Verified Access endpoint.

        " + }, "ModifyVerifiedAccessEndpointRequest":{ "type":"structure", "required":["VerifiedAccessEndpointId"], @@ -45841,6 +46715,14 @@ "DryRun":{ "shape":"Boolean", "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + }, + "RdsOptions":{ + "shape":"ModifyVerifiedAccessEndpointRdsOptions", + "documentation":"

        The RDS options.

        " + }, + "CidrOptions":{ + "shape":"ModifyVerifiedAccessEndpointCidrOptions", + "documentation":"

        The CIDR options.

        " } } }, @@ -46005,6 +46887,10 @@ "shape":"String", "documentation":"

        A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

        ", "idempotencyToken":true + }, + "CidrEndpointsCustomSubDomain":{ + "shape":"String", + "documentation":"

        The custom subdomain.

        " } } }, @@ -46018,12 +46904,50 @@ } } }, + "ModifyVerifiedAccessNativeApplicationOidcOptions":{ + "type":"structure", + "members":{ + "PublicSigningKeyEndpoint":{ + "shape":"String", + "documentation":"

        The public signing key endpoint.

        " + }, + "Issuer":{ + "shape":"String", + "documentation":"

        The OIDC issuer identifier of the IdP.

        " + }, + "AuthorizationEndpoint":{ + "shape":"String", + "documentation":"

        The authorization endpoint of the IdP.

        " + }, + "TokenEndpoint":{ + "shape":"String", + "documentation":"

        The token endpoint of the IdP.

        " + }, + "UserInfoEndpoint":{ + "shape":"String", + "documentation":"

        The user info endpoint of the IdP.

        " + }, + "ClientId":{ + "shape":"String", + "documentation":"

        The OAuth 2.0 client identifier.

        " + }, + "ClientSecret":{ + "shape":"ClientSecretType", + "documentation":"

        The OAuth 2.0 client secret.

        " + }, + "Scope":{ + "shape":"String", + "documentation":"

        The set of user claims to be requested from the IdP.

        " + } + }, + "documentation":"

        Describes the OpenID Connect (OIDC) options.

        " + }, "ModifyVerifiedAccessTrustProviderDeviceOptions":{ "type":"structure", "members":{ "PublicSigningKeyUrl":{ "shape":"String", - "documentation":"

        The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

        " + "documentation":"

        The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

        " } }, "documentation":"

        Modifies the configuration of the specified device-based Amazon Web Services Verified Access trust provider.

        " @@ -46094,6 +47018,10 @@ "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationRequest", "documentation":"

        The options for server side encryption.

        " + }, + "NativeApplicationOidcOptions":{ + "shape":"ModifyVerifiedAccessNativeApplicationOidcOptions", + "documentation":"

        The OpenID Connect (OIDC) options.

        " } } }, @@ -47168,6 +48096,47 @@ "deleted" ] }, + "NativeApplicationOidcOptions":{ + "type":"structure", + "members":{ + "PublicSigningKeyEndpoint":{ + "shape":"String", + "documentation":"

        The public signing key endpoint.

        ", + "locationName":"publicSigningKeyEndpoint" + }, + "Issuer":{ + "shape":"String", + "documentation":"

        The OIDC issuer identifier of the IdP.

        ", + "locationName":"issuer" + }, + "AuthorizationEndpoint":{ + "shape":"String", + "documentation":"

        The authorization endpoint of the IdP.

        ", + "locationName":"authorizationEndpoint" + }, + "TokenEndpoint":{ + "shape":"String", + "documentation":"

        The token endpoint of the IdP.

        ", + "locationName":"tokenEndpoint" + }, + "UserInfoEndpoint":{ + "shape":"String", + "documentation":"

        The user info endpoint of the IdP.

        ", + "locationName":"userInfoEndpoint" + }, + "ClientId":{ + "shape":"String", + "documentation":"

        The OAuth 2.0 client identifier.

        ", + "locationName":"clientId" + }, + "Scope":{ + "shape":"String", + "documentation":"

        The set of user claims to be requested from the IdP.

        ", + "locationName":"scope" + } + }, + "documentation":"

        Describes the OpenID Connect (OIDC) options.

        " + }, "NetmaskLength":{"type":"integer"}, "NetworkAcl":{ "type":"structure", @@ -47928,7 +48897,7 @@ }, "Operator":{ "shape":"OperatorResponse", - "documentation":"

        The entity that manages the network interface.

        ", + "documentation":"

        The service provider that manages the network interface.

        ", "locationName":"operator" } }, @@ -48580,26 +49549,26 @@ "members":{ "Principal":{ "shape":"String", - "documentation":"

        The entity that manages the resource.

        " + "documentation":"

        The service provider that manages the resource.

        " } }, - "documentation":"

        The entity that manages the resource.

        " + "documentation":"

        The service provider that manages the resource.

        " }, "OperatorResponse":{ "type":"structure", "members":{ "Managed":{ "shape":"Boolean", - "documentation":"

        If true, the resource is managed by an entity.

        ", + "documentation":"

        If true, the resource is managed by an service provider.

        ", "locationName":"managed" }, "Principal":{ "shape":"String", - "documentation":"

        If managed is true, then the principal is returned. The principal is the entity that manages the resource.

        ", + "documentation":"

        If managed is true, then the principal is returned. The principal is the service provider that manages the resource.

        ", "locationName":"principal" } }, - "documentation":"

        Describes whether the resource is managed by an entity and, if so, describes the entity that manages it.

        " + "documentation":"

        Describes whether the resource is managed by an service provider and, if so, describes the service provider that manages it.

        " }, "OrganizationArnStringList":{ "type":"list", @@ -50673,6 +51642,9 @@ ] }, "RamdiskId":{"type":"string"}, + "RdsDbClusterArn":{"type":"string"}, + "RdsDbInstanceArn":{"type":"string"}, + "RdsDbProxyArn":{"type":"string"}, "ReasonCodesList":{ "type":"list", "member":{ @@ -50795,6 +51767,34 @@ "max":10, "min":0 }, + "RegionalSummary":{ + "type":"structure", + "members":{ + "RegionName":{ + "shape":"String", + "documentation":"

        The Amazon Web Services Region.

        ", + "locationName":"regionName" + }, + "NumberOfMatchedAccounts":{ + "shape":"Integer", + "documentation":"

        The number of accounts in the Region with the same configuration value for the attribute that is most frequently observed.

        ", + "locationName":"numberOfMatchedAccounts" + }, + "NumberOfUnmatchedAccounts":{ + "shape":"Integer", + "documentation":"

        The number of accounts in the Region with a configuration value different from the most frequently observed value for the attribute.

        ", + "locationName":"numberOfUnmatchedAccounts" + } + }, + "documentation":"

        A summary report for the attribute for a Region.

        " + }, + "RegionalSummaryList":{ + "type":"list", + "member":{ + "shape":"RegionalSummary", + "locationName":"item" + } + }, "RegisterImageRequest":{ "type":"structure", "required":["Name"], @@ -51328,6 +52328,30 @@ } } }, + "ReplaceImageCriteriaInAllowedImagesSettingsRequest":{ + "type":"structure", + "members":{ + "ImageCriteria":{ + "shape":"ImageCriterionRequestList", + "documentation":"

        The list of criteria that are evaluated to determine whether AMIs are discoverable and usable in the account in the specified Amazon Web Services Region.

        ", + "locationName":"ImageCriterion" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + } + } + }, + "ReplaceImageCriteriaInAllowedImagesSettingsResult":{ + "type":"structure", + "members":{ + "ReturnValue":{ + "shape":"Boolean", + "documentation":"

        Returns true if the request succeeds; otherwise, it returns an error.

        ", + "locationName":"return" + } + } + }, "ReplaceNetworkAclAssociationRequest":{ "type":"structure", "required":[ @@ -51770,6 +52794,15 @@ "type":"string", "sensitive":true }, + "ReportState":{ + "type":"string", + "enum":[ + "running", + "cancelled", + "complete", + "error" + ] + }, "ReportStatusType":{ "type":"string", "enum":[ @@ -52941,6 +53974,7 @@ "max":1283, "min":1 }, + "ResourceConfigurationArn":{"type":"string"}, "ResourceIdList":{ "type":"list", "member":{"shape":"TaggableResourceId"} @@ -52992,6 +54026,7 @@ "customer-gateway", "carrier-gateway", "coip-pool", + "declarative-policies-report", "dedicated-host", "dhcp-options", "egress-only-internet-gateway", @@ -53073,6 +54108,7 @@ "ipam-resource-discovery", "ipam-resource-discovery-association", "instance-connect-endpoint", + "verified-access-endpoint-target", "ipam-external-resource-verification-token" ] }, @@ -55666,6 +56702,7 @@ "locationName":"item" } }, + "ServiceNetworkArn":{"type":"string"}, "ServiceState":{ "type":"string", "enum":[ @@ -57094,6 +58131,46 @@ "locationName":"item" } }, + "StartDeclarativePoliciesReportRequest":{ + "type":"structure", + "required":[ + "S3Bucket", + "TargetId" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

        " + }, + "S3Bucket":{ + "shape":"String", + "documentation":"

        The name of the S3 bucket where the report will be saved.

        " + }, + "S3Prefix":{ + "shape":"String", + "documentation":"

        The prefix for your S3 object.

        " + }, + "TargetId":{ + "shape":"String", + "documentation":"

        The root ID, organizational unit ID, or account ID.

        Format:

        • For root: r-ab12

        • For OU: ou-ab12-cdef1234

        • For account: 123456789012

        " + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

        The tags to apply.

        ", + "locationName":"TagSpecification" + } + } + }, + "StartDeclarativePoliciesReportResult":{ + "type":"structure", + "members":{ + "ReportId":{ + "shape":"String", + "documentation":"

        The ID of the report.

        ", + "locationName":"reportId" + } + } + }, "StartInstancesRequest":{ "type":"structure", "required":["InstanceIds"], @@ -57243,7 +58320,8 @@ "Deleted", "Rejected", "Failed", - "Expired" + "Expired", + "Partial" ] }, "StateReason":{ @@ -57677,6 +58755,29 @@ "locationName":"SubnetId" } }, + "SubnetIpPrefixes":{ + "type":"structure", + "members":{ + "SubnetId":{ + "shape":"String", + "documentation":"

        ID of the subnet.

        ", + "locationName":"subnetId" + }, + "IpPrefixes":{ + "shape":"ValueStringList", + "documentation":"

        Array of SubnetIpPrefixes objects.

        ", + "locationName":"ipPrefixSet" + } + }, + "documentation":"

        Prefixes of the subnet IP.

        " + }, + "SubnetIpPrefixesList":{ + "type":"list", + "member":{ + "shape":"SubnetIpPrefixes", + "locationName":"item" + } + }, "SubnetIpv6CidrBlockAssociation":{ "type":"structure", "members":{ @@ -61297,6 +62398,16 @@ "shape":"VerifiedAccessSseSpecificationResponse", "documentation":"

        The options in use for server side encryption.

        ", "locationName":"sseSpecification" + }, + "RdsOptions":{ + "shape":"VerifiedAccessEndpointRdsOptions", + "documentation":"

        The options for an RDS endpoint.

        ", + "locationName":"rdsOptions" + }, + "CidrOptions":{ + "shape":"VerifiedAccessEndpointCidrOptions", + "documentation":"

        The options for a CIDR endpoint.

        ", + "locationName":"cidrOptions" } }, "documentation":"

        An Amazon Web Services Verified Access endpoint specifies the application that Amazon Web Services Verified Access provides access to. It must be attached to an Amazon Web Services Verified Access group. An Amazon Web Services Verified Access endpoint must also have an attached access policy before you attached it to a group.

        " @@ -61305,6 +62416,32 @@ "type":"string", "enum":["vpc"] }, + "VerifiedAccessEndpointCidrOptions":{ + "type":"structure", + "members":{ + "Cidr":{ + "shape":"String", + "documentation":"

        The CIDR.

        ", + "locationName":"cidr" + }, + "PortRanges":{ + "shape":"VerifiedAccessEndpointPortRangeList", + "documentation":"

        The port ranges.

        ", + "locationName":"portRangeSet" + }, + "Protocol":{ + "shape":"VerifiedAccessEndpointProtocol", + "documentation":"

        The protocol.

        ", + "locationName":"protocol" + }, + "SubnetIds":{ + "shape":"VerifiedAccessEndpointSubnetIdList", + "documentation":"

        The IDs of the subnets.

        ", + "locationName":"subnetIdSet" + } + }, + "documentation":"

        Describes the CIDR options for a Verified Access endpoint.

        " + }, "VerifiedAccessEndpointEniOptions":{ "type":"structure", "members":{ @@ -61322,6 +62459,11 @@ "shape":"VerifiedAccessEndpointPortNumber", "documentation":"

        The IP port number.

        ", "locationName":"port" + }, + "PortRanges":{ + "shape":"VerifiedAccessEndpointPortRangeList", + "documentation":"

        The port ranges.

        ", + "locationName":"portRangeSet" } }, "documentation":"

        Options for a network-interface type endpoint.

        " @@ -61363,6 +62505,11 @@ "shape":"VerifiedAccessEndpointSubnetIdList", "documentation":"

        The IDs of the subnets.

        ", "locationName":"subnetIdSet" + }, + "PortRanges":{ + "shape":"VerifiedAccessEndpointPortRangeList", + "documentation":"

        The port ranges.

        ", + "locationName":"portRangeSet" } }, "documentation":"

        Describes a load balancer when creating an Amazon Web Services Verified Access endpoint using the load-balancer type.

        " @@ -61372,13 +62519,78 @@ "max":65535, "min":1 }, + "VerifiedAccessEndpointPortRange":{ + "type":"structure", + "members":{ + "FromPort":{ + "shape":"VerifiedAccessEndpointPortNumber", + "documentation":"

        The start of the port range.

        ", + "locationName":"fromPort" + }, + "ToPort":{ + "shape":"VerifiedAccessEndpointPortNumber", + "documentation":"

        The end of the port range.

        ", + "locationName":"toPort" + } + }, + "documentation":"

        Describes a port range.

        " + }, + "VerifiedAccessEndpointPortRangeList":{ + "type":"list", + "member":{ + "shape":"VerifiedAccessEndpointPortRange", + "locationName":"item" + } + }, "VerifiedAccessEndpointProtocol":{ "type":"string", "enum":[ "http", - "https" + "https", + "tcp" ] }, + "VerifiedAccessEndpointRdsOptions":{ + "type":"structure", + "members":{ + "Protocol":{ + "shape":"VerifiedAccessEndpointProtocol", + "documentation":"

        The protocol.

        ", + "locationName":"protocol" + }, + "Port":{ + "shape":"VerifiedAccessEndpointPortNumber", + "documentation":"

        The port.

        ", + "locationName":"port" + }, + "RdsDbInstanceArn":{ + "shape":"String", + "documentation":"

        The ARN of the RDS instance.

        ", + "locationName":"rdsDbInstanceArn" + }, + "RdsDbClusterArn":{ + "shape":"String", + "documentation":"

        The ARN of the DB cluster.

        ", + "locationName":"rdsDbClusterArn" + }, + "RdsDbProxyArn":{ + "shape":"String", + "documentation":"

        The ARN of the RDS proxy.

        ", + "locationName":"rdsDbProxyArn" + }, + "RdsEndpoint":{ + "shape":"String", + "documentation":"

        The RDS endpoint.

        ", + "locationName":"rdsEndpoint" + }, + "SubnetIds":{ + "shape":"VerifiedAccessEndpointSubnetIdList", + "documentation":"

        The IDs of the subnets.

        ", + "locationName":"subnetIdSet" + } + }, + "documentation":"

        Describes the RDS options for a Verified Access endpoint.

        " + }, "VerifiedAccessEndpointStatus":{ "type":"structure", "members":{ @@ -61412,11 +62624,41 @@ "locationName":"item" } }, + "VerifiedAccessEndpointTarget":{ + "type":"structure", + "members":{ + "VerifiedAccessEndpointId":{ + "shape":"VerifiedAccessEndpointId", + "documentation":"

        The ID of the Verified Access endpoint.

        ", + "locationName":"verifiedAccessEndpointId" + }, + "VerifiedAccessEndpointTargetIpAddress":{ + "shape":"String", + "documentation":"

        The IP address of the target.

        ", + "locationName":"verifiedAccessEndpointTargetIpAddress" + }, + "VerifiedAccessEndpointTargetDns":{ + "shape":"String", + "documentation":"

        The DNS name of the target.

        ", + "locationName":"verifiedAccessEndpointTargetDns" + } + }, + "documentation":"

        Describes the targets for the specified Verified Access endpoint.

        " + }, + "VerifiedAccessEndpointTargetList":{ + "type":"list", + "member":{ + "shape":"VerifiedAccessEndpointTarget", + "locationName":"item" + } + }, "VerifiedAccessEndpointType":{ "type":"string", "enum":[ "load-balancer", - "network-interface" + "network-interface", + "rds", + "cidr" ] }, "VerifiedAccessGroup":{ @@ -61527,10 +62769,31 @@ "shape":"Boolean", "documentation":"

        Indicates whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.

        ", "locationName":"fipsEnabled" + }, + "CidrEndpointsCustomSubDomain":{ + "shape":"VerifiedAccessInstanceCustomSubDomain", + "documentation":"

        The custom subdomain.

        ", + "locationName":"cidrEndpointsCustomSubDomain" } }, "documentation":"

        Describes a Verified Access instance.

        " }, + "VerifiedAccessInstanceCustomSubDomain":{ + "type":"structure", + "members":{ + "SubDomain":{ + "shape":"String", + "documentation":"

        The subdomain.

        ", + "locationName":"subDomain" + }, + "Nameservers":{ + "shape":"ValueStringList", + "documentation":"

        The name servers.

        ", + "locationName":"nameserverSet" + } + }, + "documentation":"

        Describes a custom subdomain for a network CIDR endpoint for Verified Access.

        " + }, "VerifiedAccessInstanceId":{"type":"string"}, "VerifiedAccessInstanceIdList":{ "type":"list", @@ -61569,6 +62832,103 @@ "locationName":"item" } }, + "VerifiedAccessInstanceOpenVpnClientConfiguration":{ + "type":"structure", + "members":{ + "Config":{ + "shape":"String", + "documentation":"

        The base64-encoded Open VPN client configuration.

        ", + "locationName":"config" + }, + "Routes":{ + "shape":"VerifiedAccessInstanceOpenVpnClientConfigurationRouteList", + "documentation":"

        The routes.

        ", + "locationName":"routeSet" + } + }, + "documentation":"

        Describes a set of routes.

        " + }, + "VerifiedAccessInstanceOpenVpnClientConfigurationList":{ + "type":"list", + "member":{ + "shape":"VerifiedAccessInstanceOpenVpnClientConfiguration", + "locationName":"item" + } + }, + "VerifiedAccessInstanceOpenVpnClientConfigurationRoute":{ + "type":"structure", + "members":{ + "Cidr":{ + "shape":"String", + "documentation":"

        The CIDR block.

        ", + "locationName":"cidr" + } + }, + "documentation":"

        Describes a route.

        " + }, + "VerifiedAccessInstanceOpenVpnClientConfigurationRouteList":{ + "type":"list", + "member":{ + "shape":"VerifiedAccessInstanceOpenVpnClientConfigurationRoute", + "locationName":"item" + } + }, + "VerifiedAccessInstanceUserTrustProviderClientConfiguration":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"UserTrustProviderType", + "documentation":"

        The trust provider type.

        ", + "locationName":"type" + }, + "Scopes":{ + "shape":"String", + "documentation":"

        The set of user claims to be requested from the IdP.

        ", + "locationName":"scopes" + }, + "Issuer":{ + "shape":"String", + "documentation":"

        The OIDC issuer identifier of the IdP.

        ", + "locationName":"issuer" + }, + "AuthorizationEndpoint":{ + "shape":"String", + "documentation":"

        The authorization endpoint of the IdP.

        ", + "locationName":"authorizationEndpoint" + }, + "PublicSigningKeyEndpoint":{ + "shape":"String", + "documentation":"

        The public signing key endpoint.

        ", + "locationName":"publicSigningKeyEndpoint" + }, + "TokenEndpoint":{ + "shape":"String", + "documentation":"

        The token endpoint of the IdP.

        ", + "locationName":"tokenEndpoint" + }, + "UserInfoEndpoint":{ + "shape":"String", + "documentation":"

        The user info endpoint of the IdP.

        ", + "locationName":"userInfoEndpoint" + }, + "ClientId":{ + "shape":"String", + "documentation":"

        The OAuth 2.0 client identifier.

        ", + "locationName":"clientId" + }, + "ClientSecret":{ + "shape":"ClientSecretType", + "documentation":"

        The OAuth 2.0 client secret.

        ", + "locationName":"clientSecret" + }, + "PkceEnabled":{ + "shape":"Boolean", + "documentation":"

        Indicates whether Proof of Key Code Exchange (PKCE) is enabled.

        ", + "locationName":"pkceEnabled" + } + }, + "documentation":"

        Describes the trust provider.

        " + }, "VerifiedAccessLogCloudWatchLogsDestination":{ "type":"structure", "members":{ @@ -61867,6 +63227,11 @@ "shape":"VerifiedAccessSseSpecificationResponse", "documentation":"

        The options in use for server side encryption.

        ", "locationName":"sseSpecification" + }, + "NativeApplicationOidcOptions":{ + "shape":"NativeApplicationOidcOptions", + "documentation":"

        The OpenID Connect (OIDC) options.

        ", + "locationName":"nativeApplicationOidcOptions" } }, "documentation":"

        Describes a Verified Access trust provider.

        " @@ -62047,7 +63412,7 @@ }, "Operator":{ "shape":"OperatorResponse", - "documentation":"

        The entity that manages the volume.

        ", + "documentation":"

        The service provider that manages the volume.

        ", "locationName":"operator" }, "VolumeId":{ @@ -62695,6 +64060,13 @@ "disable-complete" ] }, + "VpcBlockPublicAccessExclusionsAllowed":{ + "type":"string", + "enum":[ + "allowed", + "not-allowed" + ] + }, "VpcBlockPublicAccessOptions":{ "type":"structure", "members":{ @@ -62727,6 +64099,16 @@ "shape":"MillisecondDateTime", "documentation":"

        The last time the VPC BPA mode was updated.

        ", "locationName":"lastUpdateTimestamp" + }, + "ManagedBy":{ + "shape":"ManagedBy", + "documentation":"

        The entity that manages the state of VPC BPA. Possible values include:

        • account - The state is managed by the account.

        • declarative-policy - The state is managed by a declarative policy and can't be modified by the account.

        ", + "locationName":"managedBy" + }, + "ExclusionsAllowed":{ + "shape":"VpcBlockPublicAccessExclusionsAllowed", + "documentation":"

        Determines if exclusions are allowed. If you have enabled VPC BPA at the Organization level, exclusions may be not-allowed. Otherwise, they are allowed.

        ", + "locationName":"exclusionsAllowed" } }, "documentation":"

        VPC Block Public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

        " @@ -62928,6 +64310,31 @@ "documentation":"

        The last error that occurred for endpoint.

        ", "locationName":"lastError" }, + "Ipv4Prefixes":{ + "shape":"SubnetIpPrefixesList", + "documentation":"

        Array of IPv4 prefixes.

        ", + "locationName":"ipv4PrefixSet" + }, + "Ipv6Prefixes":{ + "shape":"SubnetIpPrefixesList", + "documentation":"

        Array of IPv6 prefixes.

        ", + "locationName":"ipv6PrefixSet" + }, + "FailureReason":{ + "shape":"String", + "documentation":"

        Reason for the failure.

        ", + "locationName":"failureReason" + }, + "ServiceNetworkArn":{ + "shape":"ServiceNetworkArn", + "documentation":"

        The Amazon Resource Name (ARN) of the service network.

        ", + "locationName":"serviceNetworkArn" + }, + "ResourceConfigurationArn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource configuration.

        ", + "locationName":"resourceConfigurationArn" + }, "ServiceRegion":{ "shape":"String", "documentation":"

        The Region where the service is hosted.

        ", @@ -62936,6 +64343,79 @@ }, "documentation":"

        Describes a VPC endpoint.

        " }, + "VpcEndpointAssociation":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"String", + "documentation":"

        The ID of the VPC endpoint association.

        ", + "locationName":"id" + }, + "VpcEndpointId":{ + "shape":"VpcEndpointId", + "documentation":"

        The ID of the VPC endpoint.

        ", + "locationName":"vpcEndpointId" + }, + "ServiceNetworkArn":{ + "shape":"ServiceNetworkArn", + "documentation":"

        The Amazon Resource Name (ARN) of the service network.

        ", + "locationName":"serviceNetworkArn" + }, + "ServiceNetworkName":{ + "shape":"String", + "documentation":"

        The name of the service network.

        ", + "locationName":"serviceNetworkName" + }, + "AssociatedResourceAccessibility":{ + "shape":"String", + "documentation":"

        The connectivity status of the resources associated to a VPC endpoint. The resource is accessible if the associated resource configuration is AVAILABLE, otherwise the resource is inaccessible.

        ", + "locationName":"associatedResourceAccessibility" + }, + "FailureReason":{ + "shape":"String", + "documentation":"

        A message related to why an VPC endpoint association failed.

        ", + "locationName":"failureReason" + }, + "FailureCode":{ + "shape":"String", + "documentation":"

        An error code related to why an VPC endpoint association failed.

        ", + "locationName":"failureCode" + }, + "DnsEntry":{ + "shape":"DnsEntry", + "documentation":"

        The DNS entry of the VPC endpoint association.

        ", + "locationName":"dnsEntry" + }, + "PrivateDnsEntry":{ + "shape":"DnsEntry", + "documentation":"

        The private DNS entry of the VPC endpoint association.

        ", + "locationName":"privateDnsEntry" + }, + "AssociatedResourceArn":{ + "shape":"String", + "documentation":"

        The Amazon Resource Name (ARN) of the associated resource.

        ", + "locationName":"associatedResourceArn" + }, + "ResourceConfigurationGroupArn":{ + "shape":"String", + "documentation":"

        The Amazon Resource Name (ARN) of the resource configuration group.

        ", + "locationName":"resourceConfigurationGroupArn" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

        The tags to apply to the VPC endpoint association.

        ", + "locationName":"tagSet" + } + }, + "documentation":"

        Describes the VPC resources, VPC endpoint services, Lattice services, or service networks associated with the VPC endpoint.

        " + }, + "VpcEndpointAssociationSet":{ + "type":"list", + "member":{ + "shape":"VpcEndpointAssociation", + "locationName":"item" + } + }, "VpcEndpointConnection":{ "type":"structure", "members":{ @@ -63058,7 +64538,9 @@ "enum":[ "Interface", "Gateway", - "GatewayLoadBalancer" + "GatewayLoadBalancer", + "Resource", + "ServiceNetwork" ] }, "VpcFlowLogId":{"type":"string"}, @@ -63797,6 +65279,11 @@ "type":"string", "sensitive":true }, + "maxResults":{ + "type":"integer", + "max":100, + "min":1 + }, "preSharedKey":{ "type":"string", "sensitive":true diff --git a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json index 955d7e80c18..4a7000b9d2d 100644 --- a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json +++ b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json @@ -135,7 +135,7 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

        Deletes the specified capacity provider.

        The FARGATE and FARGATE_SPOT capacity providers are reserved and can't be deleted. You can disassociate them from a cluster using either PutCapacityProviderProviders or by deleting the cluster.

        Prior to a capacity provider being deleted, the capacity provider must be removed from the capacity provider strategy from all services. The UpdateService API can be used to remove a capacity provider from a service's capacity provider strategy. When updating a service, the forceNewDeployment option can be used to ensure that any tasks using the Amazon EC2 instance capacity provided by the capacity provider are transitioned to use the capacity from the remaining capacity providers. Only capacity providers that aren't associated with a cluster can be deleted. To remove a capacity provider from a cluster, you can either use PutClusterCapacityProviders or delete the cluster.

        " + "documentation":"

        Deletes the specified capacity provider.

        The FARGATE and FARGATE_SPOT capacity providers are reserved and can't be deleted. You can disassociate them from a cluster using either PutClusterCapacityProviders or by deleting the cluster.

        Prior to a capacity provider being deleted, the capacity provider must be removed from the capacity provider strategy from all services. The UpdateService API can be used to remove a capacity provider from a service's capacity provider strategy. When updating a service, the forceNewDeployment option can be used to ensure that any tasks using the Amazon EC2 instance capacity provided by the capacity provider are transitioned to use the capacity from the remaining capacity providers. Only capacity providers that aren't associated with a cluster can be deleted. To remove a capacity provider from a cluster, you can either use PutClusterCapacityProviders or delete the cluster.

        " }, "DeleteCluster":{ "name":"DeleteCluster", @@ -270,7 +270,7 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

        Describes one or more of your clusters.

        " + "documentation":"

        Describes one or more of your clusters.

        For CLI examples, see describe-clusters.rst on GitHub.

        " }, "DescribeContainerInstances":{ "name":"DescribeContainerInstances", @@ -1197,7 +1197,7 @@ }, "assignPublicIp":{ "shape":"AssignPublicIp", - "documentation":"

        Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.

        " + "documentation":"

        Whether the task's elastic network interface receives a public IP address. The default value is ENABLED.

        " } }, "documentation":"

        An object representing the networking details for a task or service. For example awsVpcConfiguration={subnets=[\"subnet-12344321\"],securityGroups=[\"sg-12344321\"]}.

        " @@ -1489,10 +1489,10 @@ }, "value":{ "shape":"String", - "documentation":"

        The value to set for the cluster setting. The supported values are enabled and disabled.

        If you set name to containerInsights and value to enabled, CloudWatch Container Insights will be on for the cluster, otherwise it will be off unless the containerInsights account setting is turned on. If a cluster value is specified, it will override the containerInsights value set with PutAccountSetting or PutAccountSettingDefault.

        " + "documentation":"

        The value to set for the cluster setting. The supported values are enhanced, enabled, and disabled.

        To use Container Insights with enhanced observability, set the containerInsights account setting to enhanced.

        To use Container Insights, set the containerInsights account setting to enabled.

        If a cluster value is specified, it will override the containerInsights value set with PutAccountSetting or PutAccountSettingDefault.

        " } }, - "documentation":"

        The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.

        " + "documentation":"

        The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.

        Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up.

        For more information, see Monitor Amazon ECS containers using Container Insights with enhanced observability in the Amazon Elastic Container Service Developer Guide.

        " }, "ClusterSettingName":{ "type":"string", @@ -2989,7 +2989,7 @@ "members":{ "cluster":{ "shape":"String", - "documentation":"

        The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you are describing were launched in any cluster other than the default cluster.

        " + "documentation":"

        The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required. If you do not specify a value, the default cluster is used.

        " }, "tasks":{ "shape":"StringList", @@ -3246,7 +3246,7 @@ "members":{ "sizeInGiB":{ "shape":"Integer", - "documentation":"

        The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is 20 GiB and the maximum supported value is 200 GiB.

        " + "documentation":"

        The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is 21 GiB and the maximum supported value is 200 GiB.

        " } }, "documentation":"

        The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on Fargate. For more information, see Using data volumes in tasks in the Amazon ECS Developer Guide;.

        For tasks using the Fargate launch type, the task requires the following platforms:

        • Linux platform version 1.4.0 or later.

        • Windows platform version 1.0.0 or later.

        " @@ -3886,7 +3886,7 @@ }, "cluster":{ "shape":"String", - "documentation":"

        The cluster that hosts the service. This can either be the cluster name or ARN. Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performanceIf you don't specify a cluster, deault is used.

        " + "documentation":"

        The cluster that hosts the service. This can either be the cluster name or ARN. Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performanceIf you don't specify a cluster, default is used.

        " }, "status":{ "shape":"ServiceDeploymentStatusList", @@ -4669,11 +4669,11 @@ "members":{ "name":{ "shape":"SettingName", - "documentation":"

        The resource name for which to modify the account setting.

        The following are the valid values for the account setting name.

        • serviceLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • taskLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • containerInstanceLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • awsvpcTrunking - When modified, the elastic network interface (ENI) limit for any new container instances that support the feature is changed. If awsvpcTrunking is turned on, any new container instances that support the feature are launched have the increased ENI limits available to them. For more information, see Elastic Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.

        • containerInsights - When modified, the default setting indicating whether Amazon Web Services CloudWatch Container Insights is turned on for your clusters is changed. If containerInsights is turned on, any new clusters that are created will have Container Insights turned on unless you disable it during cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide.

        • dualStackIPv6 - When turned on, when using a VPC in dual stack mode, your tasks using the awsvpc network mode can have an IPv6 address assigned. For more information on using IPv6 with tasks launched on Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6 with tasks launched on Fargate, see Using a VPC in dual-stack mode.

        • fargateFIPSMode - If you specify fargateFIPSMode, Fargate FIPS 140 compliance is affected.

        • fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be stopped and new tasks launched to replace them. Use fargateTaskRetirementWaitPeriod to configure the wait time to retire a Fargate task. For information about the Fargate tasks maintenance, see Amazon Web Services Fargate task maintenance in the Amazon ECS Developer Guide.

        • tagResourceAuthorization - Amazon ECS is introducing tagging authorization for resource creation. Users must have permissions for actions that create the resource, such as ecsCreateCluster. If tags are specified when you create a resource, Amazon Web Services performs additional authorization to verify if users or roles have permissions to create tags. Therefore, you must grant explicit permissions to use the ecs:TagResource action. For more information, see Grant permission to tag resources on creation in the Amazon ECS Developer Guide.

        • guardDutyActivate - The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

        " + "documentation":"

        The resource name for which to modify the account setting.

        The following are the valid values for the account setting name.

        • serviceLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • taskLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • containerInstanceLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • awsvpcTrunking - When modified, the elastic network interface (ENI) limit for any new container instances that support the feature is changed. If awsvpcTrunking is turned on, any new container instances that support the feature are launched have the increased ENI limits available to them. For more information, see Elastic Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.

        • containerInsights - Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up.

          To use Container Insights with enhanced observability, set the containerInsights account setting to enhanced.

          To use Container Insights, set the containerInsights account setting to enabled.

          For more information, see Monitor Amazon ECS containers using Container Insights with enhanced observability in the Amazon Elastic Container Service Developer Guide.

        • dualStackIPv6 - When turned on, when using a VPC in dual stack mode, your tasks using the awsvpc network mode can have an IPv6 address assigned. For more information on using IPv6 with tasks launched on Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6 with tasks launched on Fargate, see Using a VPC in dual-stack mode.

        • fargateFIPSMode - If you specify fargateFIPSMode, Fargate FIPS 140 compliance is affected.

        • fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be stopped and new tasks launched to replace them. Use fargateTaskRetirementWaitPeriod to configure the wait time to retire a Fargate task. For information about the Fargate tasks maintenance, see Amazon Web Services Fargate task maintenance in the Amazon ECS Developer Guide.

        • tagResourceAuthorization - Amazon ECS is introducing tagging authorization for resource creation. Users must have permissions for actions that create the resource, such as ecsCreateCluster. If tags are specified when you create a resource, Amazon Web Services performs additional authorization to verify if users or roles have permissions to create tags. Therefore, you must grant explicit permissions to use the ecs:TagResource action. For more information, see Grant permission to tag resources on creation in the Amazon ECS Developer Guide.

        • guardDutyActivate - The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

        " }, "value":{ "shape":"String", - "documentation":"

        The account setting value for the specified principal ARN. Accepted values are enabled, disabled, on, and off.

        When you specify fargateTaskRetirementWaitPeriod for the name, the following are the valid values:

        • 0 - Amazon Web Services sends the notification, and immediately retires the affected tasks.

        • 7 - Amazon Web Services sends the notification, and waits 7 calendar days to retire the tasks.

        • 14 - Amazon Web Services sends the notification, and waits 14 calendar days to retire the tasks.

        " + "documentation":"

        The account setting value for the specified principal ARN. Accepted values are enabled, disabled, on, enhanced, and off.

        When you specify fargateTaskRetirementWaitPeriod for the name, the following are the valid values:

        • 0 - Amazon Web Services sends the notification, and immediately retires the affected tasks.

        • 7 - Amazon Web Services sends the notification, and waits 7 calendar days to retire the tasks.

        • 14 - Amazon Web Services sends the notification, and waits 14 calendar days to retire the tasks.

        " } } }, @@ -4695,11 +4695,11 @@ "members":{ "name":{ "shape":"SettingName", - "documentation":"

        The Amazon ECS account setting name to modify.

        The following are the valid values for the account setting name.

        • serviceLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • taskLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • containerInstanceLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • awsvpcTrunking - When modified, the elastic network interface (ENI) limit for any new container instances that support the feature is changed. If awsvpcTrunking is turned on, any new container instances that support the feature are launched have the increased ENI limits available to them. For more information, see Elastic Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.

        • containerInsights - When modified, the default setting indicating whether Amazon Web Services CloudWatch Container Insights is turned on for your clusters is changed. If containerInsights is turned on, any new clusters that are created will have Container Insights turned on unless you disable it during cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide.

        • dualStackIPv6 - When turned on, when using a VPC in dual stack mode, your tasks using the awsvpc network mode can have an IPv6 address assigned. For more information on using IPv6 with tasks launched on Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6 with tasks launched on Fargate, see Using a VPC in dual-stack mode.

        • fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be stopped and new tasks launched to replace them. Use fargateTaskRetirementWaitPeriod to configure the wait time to retire a Fargate task. For information about the Fargate tasks maintenance, see Amazon Web Services Fargate task maintenance in the Amazon ECS Developer Guide.

        • tagResourceAuthorization - Amazon ECS is introducing tagging authorization for resource creation. Users must have permissions for actions that create the resource, such as ecsCreateCluster. If tags are specified when you create a resource, Amazon Web Services performs additional authorization to verify if users or roles have permissions to create tags. Therefore, you must grant explicit permissions to use the ecs:TagResource action. For more information, see Grant permission to tag resources on creation in the Amazon ECS Developer Guide.

        • guardDutyActivate - The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

        " + "documentation":"

        The Amazon ECS account setting name to modify.

        The following are the valid values for the account setting name.

        • serviceLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • taskLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • containerInstanceLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

        • awsvpcTrunking - When modified, the elastic network interface (ENI) limit for any new container instances that support the feature is changed. If awsvpcTrunking is turned on, any new container instances that support the feature are launched have the increased ENI limits available to them. For more information, see Elastic Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.

        • containerInsights - Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up.

          To use Container Insights with enhanced observability, set the containerInsights account setting to enhanced.

          To use Container Insights, set the containerInsights account setting to enabled.

          For more information, see Monitor Amazon ECS containers using Container Insights with enhanced observability in the Amazon Elastic Container Service Developer Guide.

        • dualStackIPv6 - When turned on, when using a VPC in dual stack mode, your tasks using the awsvpc network mode can have an IPv6 address assigned. For more information on using IPv6 with tasks launched on Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6 with tasks launched on Fargate, see Using a VPC in dual-stack mode.

        • fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be stopped and new tasks launched to replace them. Use fargateTaskRetirementWaitPeriod to configure the wait time to retire a Fargate task. For information about the Fargate tasks maintenance, see Amazon Web Services Fargate task maintenance in the Amazon ECS Developer Guide.

        • tagResourceAuthorization - Amazon ECS is introducing tagging authorization for resource creation. Users must have permissions for actions that create the resource, such as ecsCreateCluster. If tags are specified when you create a resource, Amazon Web Services performs additional authorization to verify if users or roles have permissions to create tags. Therefore, you must grant explicit permissions to use the ecs:TagResource action. For more information, see Grant permission to tag resources on creation in the Amazon ECS Developer Guide.

        • guardDutyActivate - The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

        " }, "value":{ "shape":"String", - "documentation":"

        The account setting value for the specified principal ARN. Accepted values are enabled, disabled, on, and off.

        When you specify fargateTaskRetirementWaitPeriod for the name, the following are the valid values:

        • 0 - Amazon Web Services sends the notification, and immediately retires the affected tasks.

        • 7 - Amazon Web Services sends the notification, and waits 7 calendar days to retire the tasks.

        • 14 - Amazon Web Services sends the notification, and waits 14 calendar days to retire the tasks.

        " + "documentation":"

        The account setting value for the specified principal ARN. Accepted values are enabled, disabled, enhanced, on, and off.

        When you specify fargateTaskRetirementWaitPeriod for the name, the following are the valid values:

        • 0 - Amazon Web Services sends the notification, and immediately retires the affected tasks.

        • 7 - Amazon Web Services sends the notification, and waits 7 calendar days to retire the tasks.

        • 14 - Amazon Web Services sends the notification, and waits 14 calendar days to retire the tasks.

        " }, "principalArn":{ "shape":"String", diff --git a/tools/code-generation/api-descriptions/eks-2017-11-01.normal.json b/tools/code-generation/api-descriptions/eks-2017-11-01.normal.json index c5b551fc8e3..1a80210d64b 100644 --- a/tools/code-generation/api-descriptions/eks-2017-11-01.normal.json +++ b/tools/code-generation/api-descriptions/eks-2017-11-01.normal.json @@ -1286,6 +1286,10 @@ "shape":"StringList", "documentation":"

        The architectures that the version supports.

        " }, + "computeTypes":{ + "shape":"StringList", + "documentation":"

        Indicates the compute type of the addon version.

        " + }, "compatibilities":{ "shape":"Compatibilities", "documentation":"

        An object representing the compatibilities of a version.

        " @@ -1485,6 +1489,16 @@ "error":{"httpStatusCode":400}, "exception":true }, + "BlockStorage":{ + "type":"structure", + "members":{ + "enabled":{ + "shape":"BoxedBoolean", + "documentation":"

        Indicates if the block storage capability is enabled on your EKS Auto Mode cluster. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account.

        " + } + }, + "documentation":"

        Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

        " + }, "Boolean":{"type":"boolean"}, "BoxedBoolean":{ "type":"boolean", @@ -1669,6 +1683,18 @@ "zonalShiftConfig":{ "shape":"ZonalShiftConfigResponse", "documentation":"

        The configuration for zonal shift for the cluster.

        " + }, + "remoteNetworkConfig":{ + "shape":"RemoteNetworkConfigResponse", + "documentation":"

        The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this configuration after the cluster is created.

        " + }, + "computeConfig":{ + "shape":"ComputeConfigResponse", + "documentation":"

        Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. For more information, see EKS Auto Mode compute capability in the EKS User Guide.

        " + }, + "storageConfig":{ + "shape":"StorageConfigResponse", + "documentation":"

        Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

        " } }, "documentation":"

        An object representing an Amazon EKS cluster.

        " @@ -1768,6 +1794,42 @@ }, "documentation":"

        Compatibility information.

        " }, + "ComputeConfigRequest":{ + "type":"structure", + "members":{ + "enabled":{ + "shape":"BoxedBoolean", + "documentation":"

        Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account.

        " + }, + "nodePools":{ + "shape":"StringList", + "documentation":"

        Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the EKS User Guide.

        " + }, + "nodeRoleArn":{ + "shape":"String", + "documentation":"

        The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled. For more information, see the IAM Reference in the EKS User Guide.

        " + } + }, + "documentation":"

        Request to update the configuration of the compute capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode compute capability in the EKS User Guide.

        " + }, + "ComputeConfigResponse":{ + "type":"structure", + "members":{ + "enabled":{ + "shape":"BoxedBoolean", + "documentation":"

        Indicates if the compute capability is enabled on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account.

        " + }, + "nodePools":{ + "shape":"StringList", + "documentation":"

        Indicates the current configuration of node pools in your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the EKS User Guide.

        " + }, + "nodeRoleArn":{ + "shape":"String", + "documentation":"

        The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster.

        " + } + }, + "documentation":"

        Indicates the status of the request to update the compute capability of your EKS Auto Mode cluster.

        " + }, "ConnectorConfigProvider":{ "type":"string", "enum":[ @@ -2024,6 +2086,18 @@ "zonalShiftConfig":{ "shape":"ZonalShiftConfigRequest", "documentation":"

        Enable or disable ARC zonal shift for the cluster. If zonal shift is enabled, Amazon Web Services configures zonal autoshift for the cluster.

        Zonal shift is a feature of Amazon Application Recovery Controller (ARC). ARC zonal shift is designed to be a temporary measure that allows you to move traffic for a resource away from an impaired AZ until the zonal shift expires or you cancel it. You can extend the zonal shift if necessary.

        You can start a zonal shift for an EKS cluster, or you can allow Amazon Web Services to do it for you by enabling zonal autoshift. This shift updates the flow of east-to-west network traffic in your cluster to only consider network endpoints for Pods running on worker nodes in healthy AZs. Additionally, any ALB or NLB handling ingress traffic for applications in your EKS cluster will automatically route traffic to targets in the healthy AZs. For more information about zonal shift in EKS, see Learn about Amazon Application Recovery Controller (ARC) Zonal Shift in Amazon EKS in the Amazon EKS User Guide .

        " + }, + "remoteNetworkConfig":{ + "shape":"RemoteNetworkConfigRequest", + "documentation":"

        The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this configuration after the cluster is created.

        " + }, + "computeConfig":{ + "shape":"ComputeConfigRequest", + "documentation":"

        Enable or disable the compute capability of EKS Auto Mode when creating your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account

        " + }, + "storageConfig":{ + "shape":"StorageConfigRequest", + "documentation":"

        Enable or disable the block storage capability of EKS Auto Mode when creating your EKS Auto Mode cluster. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account.

        " } } }, @@ -3076,6 +3150,16 @@ "type":"string", "enum":["MONTHS"] }, + "ElasticLoadBalancing":{ + "type":"structure", + "members":{ + "enabled":{ + "shape":"BoxedBoolean", + "documentation":"

        Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account.

        " + } + }, + "documentation":"

        Indicates the current configuration of the load balancing capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. For more information, see EKS Auto Mode load balancing capability in the EKS User Guide.

        " + }, "EncryptionConfig":{ "type":"structure", "members":{ @@ -3584,6 +3668,10 @@ "ipFamily":{ "shape":"IpFamily", "documentation":"

        Specify which IP family is used to assign Kubernetes pod and service IP addresses. If you don't specify a value, ipv4 is used by default. You can only specify an IP family when you create a cluster and can't change this value once the cluster is created. If you specify ipv6, the VPC and subnets that you specify for cluster creation must have both IPv4 and IPv6 CIDR blocks assigned to them. You can't specify ipv6 for clusters in China Regions.

        You can only specify ipv6 for 1.21 and later clusters that use version 1.10.1 or later of the Amazon VPC CNI add-on. If you specify ipv6, then ensure that your VPC meets the requirements listed in the considerations listed in Assigning IPv6 addresses to pods and services in the Amazon EKS User Guide. Kubernetes assigns services IPv6 addresses from the unique local address range (fc00::/7). You can't specify a custom IPv6 CIDR block. Pod addresses are assigned from the subnet's IPv6 CIDR.

        " + }, + "elasticLoadBalancing":{ + "shape":"ElasticLoadBalancing", + "documentation":"

        Request to enable or disable the load balancing capability on your EKS Auto Mode cluster. For more information, see EKS Auto Mode load balancing capability in the EKS User Guide.

        " } }, "documentation":"

        The Kubernetes network configuration for the cluster.

        " @@ -3602,6 +3690,10 @@ "ipFamily":{ "shape":"IpFamily", "documentation":"

        The IP family used to assign Kubernetes Pod and Service objects IP addresses. The IP family is always ipv4, unless you have a 1.21 or later cluster running version 1.10.1 or later of the Amazon VPC CNI plugin for Kubernetes and specified ipv6 when you created the cluster.

        " + }, + "elasticLoadBalancing":{ + "shape":"ElasticLoadBalancing", + "documentation":"

        Indicates the current configuration of the load balancing capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled.

        " } }, "documentation":"

        The Kubernetes network configuration for the cluster. The response contains a value for serviceIpv6Cidr or serviceIpv4Cidr, but not both.

        " @@ -4766,6 +4858,64 @@ }, "documentation":"

        An object representing the remote access configuration for the managed node group.

        " }, + "RemoteNetworkConfigRequest":{ + "type":"structure", + "members":{ + "remoteNodeNetworks":{ + "shape":"RemoteNodeNetworkList", + "documentation":"

        The list of network CIDRs that can contain hybrid nodes.

        " + }, + "remotePodNetworks":{ + "shape":"RemotePodNetworkList", + "documentation":"

        The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.

        " + } + }, + "documentation":"

        The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this configuration after the cluster is created.

        " + }, + "RemoteNetworkConfigResponse":{ + "type":"structure", + "members":{ + "remoteNodeNetworks":{ + "shape":"RemoteNodeNetworkList", + "documentation":"

        The list of network CIDRs that can contain hybrid nodes.

        " + }, + "remotePodNetworks":{ + "shape":"RemotePodNetworkList", + "documentation":"

        The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.

        " + } + }, + "documentation":"

        The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this configuration after the cluster is created.

        " + }, + "RemoteNodeNetwork":{ + "type":"structure", + "members":{ + "cidrs":{ + "shape":"StringList", + "documentation":"

        A network CIDR that can contain hybrid nodes.

        " + } + }, + "documentation":"

        A network CIDR that can contain hybrid nodes.

        " + }, + "RemoteNodeNetworkList":{ + "type":"list", + "member":{"shape":"RemoteNodeNetwork"}, + "max":1 + }, + "RemotePodNetwork":{ + "type":"structure", + "members":{ + "cidrs":{ + "shape":"StringList", + "documentation":"

        A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

        " + } + }, + "documentation":"

        A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

        " + }, + "RemotePodNetworkList":{ + "type":"list", + "member":{"shape":"RemotePodNetwork"}, + "max":1 + }, "ResolveConflicts":{ "type":"string", "enum":[ @@ -4913,6 +5063,26 @@ "exception":true, "fault":true }, + "StorageConfigRequest":{ + "type":"structure", + "members":{ + "blockStorage":{ + "shape":"BlockStorage", + "documentation":"

        Request to configure EBS Block Storage settings for your EKS Auto Mode cluster.

        " + } + }, + "documentation":"

        Request to update the configuration of the storage capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

        " + }, + "StorageConfigResponse":{ + "type":"structure", + "members":{ + "blockStorage":{ + "shape":"BlockStorage", + "documentation":"

        Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled.

        " + } + }, + "documentation":"

        Indicates the status of the request to update the block storage capability of your EKS Auto Mode cluster.

        " + }, "String":{"type":"string"}, "StringList":{ "type":"list", @@ -5217,6 +5387,15 @@ "zonalShiftConfig":{ "shape":"ZonalShiftConfigRequest", "documentation":"

        Enable or disable ARC zonal shift for the cluster. If zonal shift is enabled, Amazon Web Services configures zonal autoshift for the cluster.

        Zonal shift is a feature of Amazon Application Recovery Controller (ARC). ARC zonal shift is designed to be a temporary measure that allows you to move traffic for a resource away from an impaired AZ until the zonal shift expires or you cancel it. You can extend the zonal shift if necessary.

        You can start a zonal shift for an EKS cluster, or you can allow Amazon Web Services to do it for you by enabling zonal autoshift. This shift updates the flow of east-to-west network traffic in your cluster to only consider network endpoints for Pods running on worker nodes in healthy AZs. Additionally, any ALB or NLB handling ingress traffic for applications in your EKS cluster will automatically route traffic to targets in the healthy AZs. For more information about zonal shift in EKS, see Learn about Amazon Application Recovery Controller (ARC) Zonal Shift in Amazon EKS in the Amazon EKS User Guide .

        " + }, + "computeConfig":{ + "shape":"ComputeConfigRequest", + "documentation":"

        Update the configuration of the compute capability of your EKS Auto Mode cluster. For example, enable the capability.

        " + }, + "kubernetesNetworkConfig":{"shape":"KubernetesNetworkConfigRequest"}, + "storageConfig":{ + "shape":"StorageConfigRequest", + "documentation":"

        Update the configuration of the block storage capability of your EKS Auto Mode cluster. For example, enable the capability.

        " } } }, @@ -5448,7 +5627,10 @@ "AuthenticationMode", "PodIdentityAssociations", "UpgradePolicy", - "ZonalShiftConfig" + "ZonalShiftConfig", + "ComputeConfig", + "StorageConfig", + "KubernetesNetworkConfig" ] }, "UpdateParams":{ @@ -5531,7 +5713,8 @@ "VpcConfigUpdate", "AccessConfigUpdate", "UpgradePolicyUpdate", - "ZonalShiftConfigUpdate" + "ZonalShiftConfigUpdate", + "AutoModeUpdate" ] }, "UpgradePolicyRequest":{ diff --git a/tools/code-generation/api-descriptions/eventbridge-2015-10-07.normal.json b/tools/code-generation/api-descriptions/eventbridge-2015-10-07.normal.json index 2e828947dd7..91fe61a02d7 100644 --- a/tools/code-generation/api-descriptions/eventbridge-2015-10-07.normal.json +++ b/tools/code-generation/api-descriptions/eventbridge-2015-10-07.normal.json @@ -91,9 +91,12 @@ "errors":[ {"shape":"ResourceAlreadyExistsException"}, {"shape":"LimitExceededException"}, - {"shape":"InternalException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} ], - "documentation":"

        Creates a connection. A connection defines the authorization type and credentials to use for authorization with an API destination HTTP endpoint.

        " + "documentation":"

        Creates a connection. A connection defines the authorization type and credentials to use for authorization with an API destination HTTP endpoint.

        For more information, see Connections for endpoint targets in the Amazon EventBridge User Guide.

        " }, "CreateEndpoint":{ "name":"CreateEndpoint", @@ -627,7 +630,7 @@ "errors":[ {"shape":"InternalException"} ], - "documentation":"

        Sends custom events to Amazon EventBridge so that they can be matched to rules.

        The maximum size for a PutEvents event entry is 256 KB. Entry size is calculated including the event and any necessary characters and keys of the JSON representation of the event. To learn more, see Calculating PutEvents event entry size in the Amazon EventBridge User Guide

        PutEvents accepts the data in JSON format. For the JSON number (integer) data type, the constraints are: a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807.

        PutEvents will only process nested JSON up to 1100 levels deep.

        " + "documentation":"

        Sends custom events to Amazon EventBridge so that they can be matched to rules.

        The maximum size for a PutEvents event entry is 256 KB. Entry size is calculated including the event and any necessary characters and keys of the JSON representation of the event. To learn more, see Calculating PutEvents event entry size in the Amazon EventBridge User Guide

        PutEvents accepts the data in JSON format. For the JSON number (integer) data type, the constraints are: a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807.

        PutEvents will only process nested JSON up to 1000 levels deep.

        " }, "PutPartnerEvents":{ "name":"PutPartnerEvents", @@ -657,7 +660,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"OperationDisabledException"} ], - "documentation":"

        Running PutPermission permits the specified Amazon Web Services account or Amazon Web Services organization to put events to the specified event bus. Amazon EventBridge (CloudWatch Events) rules in your account are triggered by these events arriving to an event bus in your account.

        For another account to send events to your account, that external account must have an EventBridge rule with your account's event bus as a target.

        To enable multiple Amazon Web Services accounts to put events to your event bus, run PutPermission once for each of these accounts. Or, if all the accounts are members of the same Amazon Web Services organization, you can run PutPermission once specifying Principal as \"*\" and specifying the Amazon Web Services organization ID in Condition, to grant permissions to all accounts in that organization.

        If you grant permissions using an organization, then accounts in that organization must specify a RoleArn with proper permissions when they use PutTarget to add your account's event bus as a target. For more information, see Sending and Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User Guide.

        The permission policy on the event bus cannot exceed 10 KB in size.

        " + "documentation":"

        Running PutPermission permits the specified Amazon Web Services account or Amazon Web Services organization to put events to the specified event bus. Amazon EventBridge rules in your account are triggered by these events arriving to an event bus in your account.

        For another account to send events to your account, that external account must have an EventBridge rule with your account's event bus as a target.

        To enable multiple Amazon Web Services accounts to put events to your event bus, run PutPermission once for each of these accounts. Or, if all the accounts are members of the same Amazon Web Services organization, you can run PutPermission once specifying Principal as \"*\" and specifying the Amazon Web Services organization ID in Condition, to grant permissions to all accounts in that organization.

        If you grant permissions using an organization, then accounts in that organization must specify a RoleArn with proper permissions when they use PutTarget to add your account's event bus as a target. For more information, see Sending and Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User Guide.

        The permission policy on the event bus cannot exceed 10 KB in size.

        " }, "PutRule":{ "name":"PutRule", @@ -675,7 +678,7 @@ {"shape":"InternalException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

        Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule.

        A single rule watches for events from a single event bus. Events generated by Amazon Web Services services go to your account's default event bus. Events generated by SaaS partner services or applications go to the matching partner event bus. If you have custom applications or services, you can specify whether their events go to your default event bus or a custom event bus that you have created. For more information, see CreateEventBus.

        If you are updating an existing rule, the rule is replaced with what you specify in this PutRule command. If you omit arguments in PutRule, the old values for those arguments are not kept. Instead, they are replaced with null values.

        When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Allow a short period of time for changes to take effect.

        A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.

        When you initially create a rule, you can optionally assign one or more tags to the rule. 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 rules with certain tag values. To use the PutRule operation and assign tags, you must have both the events:PutRule and events:TagResource permissions.

        If you are updating an existing rule, any tags you specify in the PutRule operation are ignored. To update the tags of an existing rule, use TagResource and UntagResource.

        Most services in Amazon Web Services treat : or / as the same character in Amazon Resource Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

        In EventBridge, it is possible to create rules that lead to infinite loops, where a rule is fired repeatedly. For example, a rule might detect that ACLs have changed on an S3 bucket, and trigger software to change them to the desired state. If the rule is not written carefully, the subsequent change to the ACLs fires the rule again, creating an infinite loop.

        To prevent this, write the rules so that the triggered actions do not re-fire the same rule. For example, your rule could fire only if ACLs are found to be in a bad state, instead of after any change.

        An infinite loop can quickly cause higher than expected charges. We recommend that you use budgeting, which alerts you when charges exceed your specified limit. For more information, see Managing Your Costs with Budgets.

        " + "documentation":"

        Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule.

        A single rule watches for events from a single event bus. Events generated by Amazon Web Services services go to your account's default event bus. Events generated by SaaS partner services or applications go to the matching partner event bus. If you have custom applications or services, you can specify whether their events go to your default event bus or a custom event bus that you have created. For more information, see CreateEventBus.

        If you are updating an existing rule, the rule is replaced with what you specify in this PutRule command. If you omit arguments in PutRule, the old values for those arguments are not kept. Instead, they are replaced with null values.

        When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Allow a short period of time for changes to take effect.

        A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.

        When you initially create a rule, you can optionally assign one or more tags to the rule. 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 rules with certain tag values. To use the PutRule operation and assign tags, you must have both the events:PutRule and events:TagResource permissions.

        If you are updating an existing rule, any tags you specify in the PutRule operation are ignored. To update the tags of an existing rule, use TagResource and UntagResource.

        Most services in Amazon Web Services treat : or / as the same character in Amazon Resource Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

        In EventBridge, it is possible to create rules that lead to infinite loops, where a rule is fired repeatedly. For example, a rule might detect that ACLs have changed on an S3 bucket, and trigger software to change them to the desired state. If the rule is not written carefully, the subsequent change to the ACLs fires the rule again, creating an infinite loop.

        To prevent this, write the rules so that the triggered actions do not re-fire the same rule. For example, your rule could fire only if ACLs are found to be in a bad state, instead of after any change.

        An infinite loop can quickly cause higher than expected charges. We recommend that you use budgeting, which alerts you when charges exceed your specified limit. For more information, see Managing Your Costs with Budgets.

        To create a rule that filters for management events from Amazon Web Services services, see Receiving read-only management events from Amazon Web Services services in the EventBridge User Guide.

        " }, "PutTargets":{ "name":"PutTargets", @@ -786,7 +789,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ManagedRuleException"} ], - "documentation":"

        Removes one or more tags from the specified EventBridge resource. In Amazon EventBridge (CloudWatch Events), rules and event buses can be tagged.

        " + "documentation":"

        Removes one or more tags from the specified EventBridge resource. In Amazon EventBridge, rules and event buses can be tagged.

        " }, "UpdateApiDestination":{ "name":"UpdateApiDestination", @@ -833,7 +836,9 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InternalException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} ], "documentation":"

        Updates settings for a connection.

        " }, @@ -870,6 +875,13 @@ } }, "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

        You do not have the necessary permissons for this action.

        ", + "exception":true + }, "AccountId":{ "type":"string", "max":12, @@ -1322,9 +1334,13 @@ "InvocationHttpParameters":{ "shape":"ConnectionHttpParameters", "documentation":"

        Additional parameters for the connection that are passed through with every invocation to the HTTP endpoint.

        " + }, + "ConnectivityParameters":{ + "shape":"DescribeConnectionConnectivityParameters", + "documentation":"

        For private OAuth authentication endpoints. The parameters EventBridge uses to authenticate against the endpoint.

        For more information, see Authorization methods for connections in the Amazon EventBridge User Guide .

        " } }, - "documentation":"

        Contains the authorization parameters to use for the connection.

        " + "documentation":"

        Tthe authorization parameters to use for the connection.

        " }, "ConnectionAuthorizationType":{ "type":"string", @@ -1342,7 +1358,7 @@ "documentation":"

        The user name to use for Basic authorization.

        " } }, - "documentation":"

        Contains the authorization parameters for the connection if Basic is specified as the authorization type.

        " + "documentation":"

        The authorization parameters for the connection if Basic is specified as the authorization type.

        " }, "ConnectionBodyParameter":{ "type":"structure", @@ -1357,7 +1373,7 @@ }, "IsValueSecret":{ "shape":"Boolean", - "documentation":"

        Specified whether the value is secret.

        " + "documentation":"

        Specifies whether the value is secret.

        " } }, "documentation":"

        Additional parameter included in the body. You can include up to 100 additional body parameters per request. An event payload cannot exceed 64 KB.

        " @@ -1386,7 +1402,7 @@ }, "IsValueSecret":{ "shape":"Boolean", - "documentation":"

        Specified whether the value is a secret.

        " + "documentation":"

        Specifies whether the value is a secret.

        " } }, "documentation":"

        Additional parameter included in the header. You can include up to 100 additional header parameters per request. An event payload cannot exceed 64 KB.

        " @@ -1402,18 +1418,18 @@ "members":{ "HeaderParameters":{ "shape":"ConnectionHeaderParametersList", - "documentation":"

        Contains additional header parameters for the connection.

        " + "documentation":"

        Any additional header parameters for the connection.

        " }, "QueryStringParameters":{ "shape":"ConnectionQueryStringParametersList", - "documentation":"

        Contains additional query string parameters for the connection.

        " + "documentation":"

        Any additional query string parameters for the connection.

        " }, "BodyParameters":{ "shape":"ConnectionBodyParametersList", - "documentation":"

        Contains additional body string parameters for the connection.

        " + "documentation":"

        Any additional body string parameters for the connection.

        " } }, - "documentation":"

        Contains additional parameters for the connection.

        " + "documentation":"

        Any additional parameters for the connection.

        " }, "ConnectionName":{ "type":"string", @@ -1429,7 +1445,7 @@ "documentation":"

        The client ID associated with the response to the connection request.

        " } }, - "documentation":"

        Contains the client response parameters for the connection when OAuth is specified as the authorization type.

        " + "documentation":"

        The client response parameters for the connection when OAuth is specified as the authorization type.

        " }, "ConnectionOAuthHttpMethod":{ "type":"string", @@ -1444,7 +1460,7 @@ "members":{ "ClientParameters":{ "shape":"ConnectionOAuthClientResponseParameters", - "documentation":"

        A ConnectionOAuthClientResponseParameters object that contains details about the client parameters returned when OAuth is specified as the authorization type.

        " + "documentation":"

        Details about the client parameters returned when OAuth is specified as the authorization type.

        " }, "AuthorizationEndpoint":{ "shape":"HttpsEndpoint", @@ -1459,7 +1475,7 @@ "documentation":"

        The additional HTTP parameters used for the OAuth authorization request.

        " } }, - "documentation":"

        Contains the response parameters when OAuth is specified as the authorization type.

        " + "documentation":"

        The response parameters when OAuth is specified as the authorization type.

        " }, "ConnectionQueryStringParameter":{ "type":"structure", @@ -1477,7 +1493,7 @@ "documentation":"

        Specifies whether the value is secret.

        " } }, - "documentation":"

        Additional query string parameter for the connection. You can include up to 100 additional query string parameters per request. Each additional parameter counts towards the event payload size, which cannot exceed 64 KB.

        " + "documentation":"

        Any additional query string parameter for the connection. You can include up to 100 additional query string parameters per request. Each additional parameter counts towards the event payload size, which cannot exceed 64 KB.

        " }, "ConnectionQueryStringParametersList":{ "type":"list", @@ -1498,7 +1514,9 @@ "AUTHORIZED", "DEAUTHORIZED", "AUTHORIZING", - "DEAUTHORIZING" + "DEAUTHORIZING", + "ACTIVE", + "FAILED_CONNECTIVITY" ] }, "ConnectionStateReason":{ @@ -1506,6 +1524,28 @@ "max":512, "pattern":".*" }, + "ConnectivityResourceConfigurationArn":{ + "type":"structure", + "required":["ResourceConfigurationArn"], + "members":{ + "ResourceConfigurationArn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource configuration for the resource endpoint.

        " + } + }, + "documentation":"

        The Amazon Resource Name (ARN) of the resource configuration for the resource endpoint.

        " + }, + "ConnectivityResourceParameters":{ + "type":"structure", + "required":["ResourceParameters"], + "members":{ + "ResourceParameters":{ + "shape":"ConnectivityResourceConfigurationArn", + "documentation":"

        The parameters for EventBridge to use when invoking the resource endpoint.

        " + } + }, + "documentation":"

        The parameters for EventBridge to use when invoking the resource endpoint.

        " + }, "CreateApiDestinationRequest":{ "type":"structure", "required":[ @@ -1628,29 +1668,33 @@ "documentation":"

        The value for the API key to use for authorization.

        " } }, - "documentation":"

        Contains the API key authorization parameters for the connection.

        " + "documentation":"

        The API key authorization parameters for the connection.

        " }, "CreateConnectionAuthRequestParameters":{ "type":"structure", "members":{ "BasicAuthParameters":{ "shape":"CreateConnectionBasicAuthRequestParameters", - "documentation":"

        A CreateConnectionBasicAuthRequestParameters object that contains the Basic authorization parameters to use for the connection.

        " + "documentation":"

        The Basic authorization parameters to use for the connection.

        " }, "OAuthParameters":{ "shape":"CreateConnectionOAuthRequestParameters", - "documentation":"

        A CreateConnectionOAuthRequestParameters object that contains the OAuth authorization parameters to use for the connection.

        " + "documentation":"

        The OAuth authorization parameters to use for the connection.

        " }, "ApiKeyAuthParameters":{ "shape":"CreateConnectionApiKeyAuthRequestParameters", - "documentation":"

        A CreateConnectionApiKeyAuthRequestParameters object that contains the API key authorization parameters to use for the connection.

        " + "documentation":"

        The API key authorization parameters to use for the connection.

        " }, "InvocationHttpParameters":{ "shape":"ConnectionHttpParameters", - "documentation":"

        A ConnectionHttpParameters object that contains the API key authorization parameters to use for the connection. Note that if you include additional parameters for the target of a rule via HttpParameters, including query strings, the parameters added for the connection take precedence.

        " + "documentation":"

        The API key authorization parameters to use for the connection. Note that if you include additional parameters for the target of a rule via HttpParameters, including query strings, the parameters added for the connection take precedence.

        " + }, + "ConnectivityParameters":{ + "shape":"ConnectivityResourceParameters", + "documentation":"

        If you specify a private OAuth endpoint, the parameters for EventBridge to use when authenticating against the endpoint.

        For more information, see Authorization methods for connections in the Amazon EventBridge User Guide .

        " } }, - "documentation":"

        Contains the authorization parameters for the connection.

        " + "documentation":"

        The authorization parameters for the connection.

        You must include only authorization parameters for the AuthorizationType you specify.

        " }, "CreateConnectionBasicAuthRequestParameters":{ "type":"structure", @@ -1686,7 +1730,7 @@ "documentation":"

        The client secret associated with the client ID to use for OAuth authorization for the connection.

        " } }, - "documentation":"

        Contains the Basic authorization parameters to use for the connection.

        " + "documentation":"

        The Basic authorization parameters to use for the connection.

        " }, "CreateConnectionOAuthRequestParameters":{ "type":"structure", @@ -1698,7 +1742,7 @@ "members":{ "ClientParameters":{ "shape":"CreateConnectionOAuthClientRequestParameters", - "documentation":"

        A CreateConnectionOAuthClientRequestParameters object that contains the client parameters for OAuth authorization.

        " + "documentation":"

        The client parameters for OAuth authorization.

        " }, "AuthorizationEndpoint":{ "shape":"HttpsEndpoint", @@ -1710,7 +1754,7 @@ }, "OAuthHttpParameters":{ "shape":"ConnectionHttpParameters", - "documentation":"

        A ConnectionHttpParameters object that contains details about the additional parameters to use for the connection.

        " + "documentation":"

        Details about the additional parameters to use for the connection.

        " } }, "documentation":"

        Contains the OAuth authorization parameters to use for the connection.

        " @@ -1737,7 +1781,11 @@ }, "AuthParameters":{ "shape":"CreateConnectionAuthRequestParameters", - "documentation":"

        A CreateConnectionAuthRequestParameters object that contains the authorization parameters to use to authorize with the endpoint.

        " + "documentation":"

        The authorization parameters to use to authorize with the endpoint.

        You must include only authorization parameters for the AuthorizationType you specify.

        " + }, + "InvocationConnectivityParameters":{ + "shape":"ConnectivityResourceParameters", + "documentation":"

        For connections to private resource endpoints, the parameters to use for invoking the resource endpoint.

        For more information, see Connecting to private resources in the Amazon EventBridge User Guide .

        " } } }, @@ -1935,7 +1983,7 @@ "documentation":"

        The ARN of the SQS queue specified as the target for the dead-letter queue.

        " } }, - "documentation":"

        Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ).

        For more information, see Event retry policy and using dead-letter queues in the EventBridge User Guide.

        " + "documentation":"

        Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ).

        For more information, see Using dead-letter queues to process undelivered events in the EventBridge User Guide.

        " }, "DeauthorizeConnectionRequest":{ "type":"structure", @@ -2211,6 +2259,17 @@ } } }, + "DescribeConnectionConnectivityParameters":{ + "type":"structure", + "required":["ResourceParameters"], + "members":{ + "ResourceParameters":{ + "shape":"DescribeConnectionResourceParameters", + "documentation":"

        The parameters for EventBridge to use when invoking the resource endpoint.

        " + } + }, + "documentation":"

        If the connection uses a private OAuth endpoint, the parameters for EventBridge to use when authenticating against the endpoint.

        For more information, see Authorization methods for connections in the Amazon EventBridge User Guide .

        " + }, "DescribeConnectionRequest":{ "type":"structure", "required":["Name"], @@ -2221,6 +2280,24 @@ } } }, + "DescribeConnectionResourceParameters":{ + "type":"structure", + "required":[ + "ResourceConfigurationArn", + "ResourceAssociationArn" + ], + "members":{ + "ResourceConfigurationArn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource configuration for the private API.

        " + }, + "ResourceAssociationArn":{ + "shape":"ResourceAssociationArn", + "documentation":"

        For connections to private APIs, the Amazon Resource Name (ARN) of the resource association EventBridge created between the connection and the private API's resource configuration.

        " + } + }, + "documentation":"

        The parameters for EventBridge to use when invoking the resource endpoint.

        " + }, "DescribeConnectionResponse":{ "type":"structure", "members":{ @@ -2236,6 +2313,10 @@ "shape":"ConnectionDescription", "documentation":"

        The description for the connection retrieved.

        " }, + "InvocationConnectivityParameters":{ + "shape":"DescribeConnectionConnectivityParameters", + "documentation":"

        For connections to private resource endpoints. The parameters EventBridge uses to invoke the resource endpoint.

        For more information, see Connecting to private resources in the Amazon EventBridge User Guide .

        " + }, "ConnectionState":{ "shape":"ConnectionState", "documentation":"

        The state of the connection retrieved.

        " @@ -3098,7 +3179,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to retrieve the next set of results.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "Limit":{ "shape":"LimitMax100", @@ -3111,11 +3192,11 @@ "members":{ "ApiDestinations":{ "shape":"ApiDestinationResponseList", - "documentation":"

        An array of ApiDestination objects that include information about an API destination.

        " + "documentation":"

        An array that includes information about each API destination.

        " }, "NextToken":{ "shape":"NextToken", - "documentation":"

        A token you can use in a subsequent request to retrieve the next set of results.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -3136,7 +3217,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to retrieve the next set of results.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "Limit":{ "shape":"LimitMax100", @@ -3153,7 +3234,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to retrieve the next set of results.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -3170,7 +3251,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to retrieve the next set of results.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "Limit":{ "shape":"LimitMax100", @@ -3187,7 +3268,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        A token you can use in a subsequent request to retrieve the next set of results.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -3204,7 +3285,7 @@ }, "NextToken":{ "shape":"NextToken", - "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.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "MaxResults":{ "shape":"LimitMax100", @@ -3221,7 +3302,7 @@ }, "NextToken":{ "shape":"NextToken", - "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.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -3234,7 +3315,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to retrieve the next set of results.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "Limit":{ "shape":"LimitMax100", @@ -3251,7 +3332,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        A token you can use in a subsequent operation to retrieve the next set of results.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -3264,7 +3345,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to retrieve the next set of results.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "Limit":{ "shape":"LimitMax100", @@ -3281,7 +3362,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        A token you can use in a subsequent operation to retrieve the next set of results.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -3295,7 +3376,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to this operation. Specifying this retrieves the next set of results.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "Limit":{ "shape":"LimitMax100", @@ -3312,7 +3393,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        A token you can use in a subsequent operation to retrieve the next set of results.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -3326,7 +3407,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to this operation. Specifying this retrieves the next set of results.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "Limit":{ "shape":"LimitMax100", @@ -3343,7 +3424,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        A token you can use in a subsequent operation to retrieve the next set of results.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -3364,7 +3445,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to retrieve the next set of results.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "Limit":{ "shape":"LimitMax100", @@ -3381,7 +3462,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to retrieve the next set of results.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -3399,7 +3480,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to retrieve the next set of results.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "Limit":{ "shape":"LimitMax100", @@ -3416,7 +3497,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -3433,7 +3514,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to retrieve the next set of results.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "Limit":{ "shape":"LimitMax100", @@ -3450,7 +3531,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -3487,7 +3568,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        The token returned by a previous call to retrieve the next set of results.

        " + "documentation":"

        The token returned by a previous call, which you can use to retrieve the next set of results.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " }, "Limit":{ "shape":"LimitMax100", @@ -3504,7 +3585,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

        Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

        " + "documentation":"

        A token indicating there are more results available. If there are no more results, no token is included in the response.

        The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using the returned token. Keep all other arguments unchanged.

        Using an expired pagination token results in an HTTP 400 InvalidToken error.

        " } } }, @@ -4292,6 +4373,18 @@ "max":1600, "min":1 }, + "ResourceAssociationArn":{ + "type":"string", + "max":2048, + "min":17, + "pattern":"^arn:[a-z0-9\\\\-]+:vpc-lattice:[a-zA-Z0-9\\\\-]+:\\\\d{12}:servicenetworkresourceassociation/snra-[0-9a-z]{17}$" + }, + "ResourceConfigurationArn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"^(?:^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceconfiguration/rcfg-[0-9a-z]{17}$|^$)" + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -4759,7 +4852,7 @@ }, "RetryPolicy":{ "shape":"RetryPolicy", - "documentation":"

        The RetryPolicy object that contains the retry policy configuration to use for the dead-letter queue.

        " + "documentation":"

        The retry policy configuration to use for the dead-letter queue.

        " }, "AppSyncParameters":{ "shape":"AppSyncParameters", @@ -4829,6 +4922,13 @@ } } }, + "ThrottlingException":{ + "type":"structure", + "members":{ + }, + "documentation":"

        This request cannot be completed due to throttling issues.

        ", + "exception":true + }, "Timestamp":{"type":"timestamp"}, "TraceHeader":{ "type":"string", @@ -4971,7 +5071,7 @@ }, "ApiKeyValue":{ "shape":"AuthHeaderParametersSensitive", - "documentation":"

        The value associated with teh API key to use for authorization.

        " + "documentation":"

        The value associated with the API key to use for authorization.

        " } }, "documentation":"

        Contains the API key authorization parameters to use to update the connection.

        " @@ -4981,19 +5081,23 @@ "members":{ "BasicAuthParameters":{ "shape":"UpdateConnectionBasicAuthRequestParameters", - "documentation":"

        A UpdateConnectionBasicAuthRequestParameters object that contains the authorization parameters for Basic authorization.

        " + "documentation":"

        The authorization parameters for Basic authorization.

        " }, "OAuthParameters":{ "shape":"UpdateConnectionOAuthRequestParameters", - "documentation":"

        A UpdateConnectionOAuthRequestParameters object that contains the authorization parameters for OAuth authorization.

        " + "documentation":"

        The authorization parameters for OAuth authorization.

        " }, "ApiKeyAuthParameters":{ "shape":"UpdateConnectionApiKeyAuthRequestParameters", - "documentation":"

        A UpdateConnectionApiKeyAuthRequestParameters object that contains the authorization parameters for API key authorization.

        " + "documentation":"

        The authorization parameters for API key authorization.

        " }, "InvocationHttpParameters":{ "shape":"ConnectionHttpParameters", - "documentation":"

        A ConnectionHttpParameters object that contains the additional parameters to use for the connection.

        " + "documentation":"

        The additional parameters to use for the connection.

        " + }, + "ConnectivityParameters":{ + "shape":"ConnectivityResourceParameters", + "documentation":"

        If you specify a private OAuth endpoint, the parameters for EventBridge to use when authenticating against the endpoint.

        For more information, see Authorization methods for connections in the Amazon EventBridge User Guide .

        " } }, "documentation":"

        Contains the additional parameters to use for the connection.

        " @@ -5010,7 +5114,7 @@ "documentation":"

        The password associated with the user name to use for Basic authorization.

        " } }, - "documentation":"

        Contains the Basic authorization parameters for the connection.

        " + "documentation":"

        The Basic authorization parameters for the connection.

        " }, "UpdateConnectionOAuthClientRequestParameters":{ "type":"structure", @@ -5024,14 +5128,14 @@ "documentation":"

        The client secret assciated with the client ID to use for OAuth authorization.

        " } }, - "documentation":"

        Contains the OAuth authorization parameters to use for the connection.

        " + "documentation":"

        The OAuth authorization parameters to use for the connection.

        " }, "UpdateConnectionOAuthRequestParameters":{ "type":"structure", "members":{ "ClientParameters":{ "shape":"UpdateConnectionOAuthClientRequestParameters", - "documentation":"

        A UpdateConnectionOAuthClientRequestParameters object that contains the client parameters to use for the connection when OAuth is specified as the authorization type.

        " + "documentation":"

        The client parameters to use for the connection when OAuth is specified as the authorization type.

        " }, "AuthorizationEndpoint":{ "shape":"HttpsEndpoint", @@ -5046,7 +5150,7 @@ "documentation":"

        The additional HTTP parameters used for the OAuth authorization request.

        " } }, - "documentation":"

        Contains the OAuth request parameters to use for the connection.

        " + "documentation":"

        The OAuth request parameters to use for the connection.

        " }, "UpdateConnectionRequest":{ "type":"structure", @@ -5067,6 +5171,10 @@ "AuthParameters":{ "shape":"UpdateConnectionAuthRequestParameters", "documentation":"

        The authorization parameters to use for the connection.

        " + }, + "InvocationConnectivityParameters":{ + "shape":"ConnectivityResourceParameters", + "documentation":"

        For connections to private resource endpoints, the parameters to use for invoking the resource endpoint.

        For more information, see Connecting to private resources in the Amazon EventBridge User Guide .

        " } } }, diff --git a/tools/code-generation/api-descriptions/fsx-2018-03-01.normal.json b/tools/code-generation/api-descriptions/fsx-2018-03-01.normal.json index 9236632067f..fc694300260 100644 --- a/tools/code-generation/api-descriptions/fsx-2018-03-01.normal.json +++ b/tools/code-generation/api-descriptions/fsx-2018-03-01.normal.json @@ -740,7 +740,7 @@ {"shape":"MissingFileSystemConfiguration"}, {"shape":"ServiceLimitExceeded"} ], - "documentation":"

        Use this operation to update the configuration of an existing Amazon FSx file system. You can update multiple properties in a single request.

        For FSx for Windows File Server file systems, you can update the following properties:

        • AuditLogConfiguration

        • AutomaticBackupRetentionDays

        • DailyAutomaticBackupStartTime

        • SelfManagedActiveDirectoryConfiguration

        • StorageCapacity

        • StorageType

        • ThroughputCapacity

        • DiskIopsConfiguration

        • WeeklyMaintenanceStartTime

        For FSx for Lustre file systems, you can update the following properties:

        • AutoImportPolicy

        • AutomaticBackupRetentionDays

        • DailyAutomaticBackupStartTime

        • DataCompressionType

        • LogConfiguration

        • LustreRootSquashConfiguration

        • MetadataConfiguration

        • PerUnitStorageThroughput

        • StorageCapacity

        • WeeklyMaintenanceStartTime

        For FSx for ONTAP file systems, you can update the following properties:

        • AddRouteTableIds

        • AutomaticBackupRetentionDays

        • DailyAutomaticBackupStartTime

        • DiskIopsConfiguration

        • FsxAdminPassword

        • HAPairs

        • RemoveRouteTableIds

        • StorageCapacity

        • ThroughputCapacity

        • ThroughputCapacityPerHAPair

        • WeeklyMaintenanceStartTime

        For FSx for OpenZFS file systems, you can update the following properties:

        • AddRouteTableIds

        • AutomaticBackupRetentionDays

        • CopyTagsToBackups

        • CopyTagsToVolumes

        • DailyAutomaticBackupStartTime

        • DiskIopsConfiguration

        • RemoveRouteTableIds

        • StorageCapacity

        • ThroughputCapacity

        • WeeklyMaintenanceStartTime

        " + "documentation":"

        Use this operation to update the configuration of an existing Amazon FSx file system. You can update multiple properties in a single request.

        For FSx for Windows File Server file systems, you can update the following properties:

        • AuditLogConfiguration

        • AutomaticBackupRetentionDays

        • DailyAutomaticBackupStartTime

        • SelfManagedActiveDirectoryConfiguration

        • StorageCapacity

        • StorageType

        • ThroughputCapacity

        • DiskIopsConfiguration

        • WeeklyMaintenanceStartTime

        For FSx for Lustre file systems, you can update the following properties:

        • AutoImportPolicy

        • AutomaticBackupRetentionDays

        • DailyAutomaticBackupStartTime

        • DataCompressionType

        • LogConfiguration

        • LustreRootSquashConfiguration

        • MetadataConfiguration

        • PerUnitStorageThroughput

        • StorageCapacity

        • WeeklyMaintenanceStartTime

        For FSx for ONTAP file systems, you can update the following properties:

        • AddRouteTableIds

        • AutomaticBackupRetentionDays

        • DailyAutomaticBackupStartTime

        • DiskIopsConfiguration

        • FsxAdminPassword

        • HAPairs

        • RemoveRouteTableIds

        • StorageCapacity

        • ThroughputCapacity

        • ThroughputCapacityPerHAPair

        • WeeklyMaintenanceStartTime

        For FSx for OpenZFS file systems, you can update the following properties:

        • AddRouteTableIds

        • AutomaticBackupRetentionDays

        • CopyTagsToBackups

        • CopyTagsToVolumes

        • DailyAutomaticBackupStartTime

        • DiskIopsConfiguration

        • ReadCacheConfiguration

        • RemoveRouteTableIds

        • StorageCapacity

        • ThroughputCapacity

        • WeeklyMaintenanceStartTime

        " }, "UpdateSharedVpcConfiguration":{ "name":"UpdateSharedVpcConfiguration", @@ -1177,7 +1177,11 @@ "shape":"ResourceType", "documentation":"

        Specifies the resource type that's backed up.

        " }, - "Volume":{"shape":"Volume"} + "Volume":{"shape":"Volume"}, + "SizeInBytes":{ + "shape":"SizeInBytes", + "documentation":"

        The size of the backup in bytes. This represents the amount of data that the file system would contain if you restore this backup.

        " + } }, "documentation":"

        A backup of an Amazon FSx for Windows File Server, Amazon FSx for Lustre file system, Amazon FSx for NetApp ONTAP volume, or Amazon FSx for OpenZFS file system.

        " }, @@ -1870,6 +1874,10 @@ "RouteTableIds":{ "shape":"RouteTableIds", "documentation":"

        (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server. You should specify all virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.

        " + }, + "ReadCacheConfiguration":{ + "shape":"OpenZFSReadCacheConfiguration", + "documentation":"

        Specifies the optional provisioned SSD read cache on file systems that use the Intelligent-Tiering storage class.

        " } }, "documentation":"

        The Amazon FSx for OpenZFS configuration properties for the file system that you are creating.

        " @@ -1878,7 +1886,6 @@ "type":"structure", "required":[ "FileSystemType", - "StorageCapacity", "SubnetIds" ], "members":{ @@ -1897,7 +1904,7 @@ }, "StorageType":{ "shape":"StorageType", - "documentation":"

        Sets the storage type for the file system that you're creating. Valid values are SSD and HDD.

        • Set to SSD to use solid state drive storage. SSD is supported on all Windows, Lustre, ONTAP, and OpenZFS deployment types.

        • Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types, and on PERSISTENT_1 Lustre file system deployment types.

        Default value is SSD. For more information, see Storage type options in the FSx for Windows File Server User Guide and Multiple storage options in the FSx for Lustre User Guide.

        " + "documentation":"

        Sets the storage class for the file system that you're creating. Valid values are SSD, HDD, and INTELLIGENT_TIERING.

        • Set to SSD to use solid state drive storage. SSD is supported on all Windows, Lustre, ONTAP, and OpenZFS deployment types.

        • Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types, and on PERSISTENT_1 Lustre file system deployment types.

        • Set to INTELLIGENT_TIERING to use fully elastic, intelligently-tiered storage. Intelligent-Tiering is only available for OpenZFS file systems with the Multi-AZ deployment type.

        Default value is SSD. For more information, see Storage type options in the FSx for Windows File Server User Guide, Multiple storage options in the FSx for Lustre User Guide, and Working with Intelligent-Tiering in the Amazon FSx for OpenZFS User Guide.

        " }, "SubnetIds":{ "shape":"SubnetIds", @@ -2082,7 +2089,7 @@ }, "RecordSizeKiB":{ "shape":"IntegerRecordSizeKiB", - "documentation":"

        Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes (KiB). Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The default is 128 KiB. We recommend using the default setting for the majority of use cases. Generally, workloads that write in fixed small or large record sizes may benefit from setting a custom record size, like database workloads (small record size) or media streaming workloads (large record size). For additional guidance on when to set a custom record size, see ZFS Record size in the Amazon FSx for OpenZFS User Guide.

        " + "documentation":"

        Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes (KiB). For file systems using the Intelligent-Tiering storage class, valid values are 128, 256, 512, 1024, 2048, or 4096 KiB, with a default of 2048 KiB. For all other file systems, valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB, with a default of 128 KiB. We recommend using the default setting for the majority of use cases. Generally, workloads that write in fixed small or large record sizes may benefit from setting a custom record size, like database workloads (small record size) or media streaming workloads (large record size). For additional guidance on when to set a custom record size, see ZFS Record size in the Amazon FSx for OpenZFS User Guide.

        " }, "DataCompressionType":{ "shape":"OpenZFSDataCompressionType", @@ -3948,7 +3955,7 @@ }, "IntegerRecordSizeKiB":{ "type":"integer", - "max":1024, + "max":4096, "min":4 }, "InternalServerError":{ @@ -4642,6 +4649,10 @@ "EndpointIpAddress":{ "shape":"IpAddress", "documentation":"

        The IP address of the endpoint that is used to access data or to manage the file system.

        " + }, + "ReadCacheConfiguration":{ + "shape":"OpenZFSReadCacheConfiguration", + "documentation":"

        Required when StorageType is set to INTELLIGENT_TIERING. Specifies the optional provisioned SSD read cache.

        " } }, "documentation":"

        The configuration for the Amazon FSx for OpenZFS file system.

        " @@ -4692,6 +4703,28 @@ "GROUP" ] }, + "OpenZFSReadCacheConfiguration":{ + "type":"structure", + "members":{ + "SizingMode":{ + "shape":"OpenZFSReadCacheSizingMode", + "documentation":"

        Specifies how the provisioned SSD read cache is sized, as follows:

        • Set to NO_CACHE if you do not want to use an SSD read cache with your Intelligent-Tiering file system.

        • Set to USER_PROVISIONED to specify the exact size of your SSD read cache.

        • Set to PROPORTIONAL_TO_THROUGHPUT_CAPACITY to have your SSD read cache automatically sized based on your throughput capacity.

        " + }, + "SizeGiB":{ + "shape":"StorageCapacity", + "documentation":"

        Required if SizingMode is set to USER_PROVISIONED. Specifies the size of the file system's SSD read cache, in gibibytes (GiB).

        " + } + }, + "documentation":"

        The configuration for the optional provisioned SSD read cache on file systems that use the Intelligent-Tiering storage class.

        " + }, + "OpenZFSReadCacheSizingMode":{ + "type":"string", + "enum":[ + "NO_CACHE", + "USER_PROVISIONED", + "PROPORTIONAL_TO_THROUGHPUT_CAPACITY" + ] + }, "OpenZFSUserAndGroupQuotas":{ "type":"list", "member":{"shape":"OpenZFSUserOrGroupQuota"}, @@ -5172,6 +5205,10 @@ "documentation":"

        An error indicating that a particular service limit was exceeded. You can increase some service limits by contacting Amazon Web Services Support.

        ", "exception":true }, + "SizeInBytes":{ + "type":"long", + "min":0 + }, "SnaplockConfiguration":{ "type":"structure", "members":{ @@ -5398,7 +5435,8 @@ "documentation":"

        Specifies the file system's storage type.

        ", "enum":[ "SSD", - "HDD" + "HDD", + "INTELLIGENT_TIERING" ] }, "StorageVirtualMachine":{ @@ -5943,6 +5981,10 @@ "RemoveRouteTableIds":{ "shape":"RouteTableIds", "documentation":"

        (Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route tables to disassociate (remove) from your Amazon FSx for OpenZFS file system. You can use the API operation to retrieve the list of VPC route table IDs for a file system.

        " + }, + "ReadCacheConfiguration":{ + "shape":"OpenZFSReadCacheConfiguration", + "documentation":"

        The configuration for the optional provisioned SSD read cache on file systems that use the Intelligent-Tiering storage class.

        " } }, "documentation":"

        The configuration updates for an Amazon FSx for OpenZFS file system.

        " diff --git a/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json b/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json index 9990fb869a4..f1ef12b6ea1 100644 --- a/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json +++ b/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json @@ -1242,6 +1242,27 @@ "error":{"httpStatusCode":403}, "exception":true }, + "AccessKey":{ + "type":"structure", + "members":{ + "PrincipalId":{ + "shape":"String", + "documentation":"

        Principal ID of the user.

        ", + "locationName":"principalId" + }, + "UserName":{ + "shape":"String", + "documentation":"

        Name of the user.

        ", + "locationName":"userName" + }, + "UserType":{ + "shape":"String", + "documentation":"

        Type of the user.

        ", + "locationName":"userType" + } + }, + "documentation":"

        Contains information about the access keys.

        " + }, "AccessKeyDetails":{ "type":"structure", "members":{ @@ -1268,6 +1289,23 @@ }, "documentation":"

        Contains information about the access keys.

        " }, + "Account":{ + "type":"structure", + "required":["Uid"], + "members":{ + "Uid":{ + "shape":"String", + "documentation":"

        ID of the member's Amazon Web Services account

        ", + "locationName":"uid" + }, + "Name":{ + "shape":"String", + "documentation":"

        Name of the member's Amazon Web Services account.

        ", + "locationName":"account" + } + }, + "documentation":"

        Contains information about the account.

        " + }, "AccountDetail":{ "type":"structure", "required":[ @@ -1420,6 +1458,38 @@ }, "documentation":"

        Contains information about actions.

        " }, + "Actor":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"String", + "documentation":"

        ID of the threat actor.

        ", + "locationName":"id" + }, + "User":{ + "shape":"User", + "documentation":"

        Contains information about the user credentials used by the threat actor.

        ", + "locationName":"user" + }, + "Session":{ + "shape":"Session", + "documentation":"

        Contains information about the user session where the activity initiated.

        ", + "locationName":"session" + } + }, + "documentation":"

        Information about the actors involved in an attack sequence.

        " + }, + "ActorIds":{ + "type":"list", + "member":{"shape":"String"}, + "max":400 + }, + "Actors":{ + "type":"list", + "member":{"shape":"Actor"}, + "max":400 + }, "AddonDetails":{ "type":"structure", "members":{ @@ -1609,6 +1679,26 @@ "NONE" ] }, + "AutonomousSystem":{ + "type":"structure", + "required":[ + "Name", + "Number" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

        Name associated with the Autonomous System (AS).

        ", + "locationName":"name" + }, + "Number":{ + "shape":"Integer", + "documentation":"

        The unique number that identifies the Autonomous System (AS).

        ", + "locationName":"number" + } + }, + "documentation":"

        Contains information about the Autonomous System (AS) associated with the network endpoints involved in an attack sequence.

        " + }, "AwsApiCallAction":{ "type":"structure", "members":{ @@ -3287,6 +3377,11 @@ "shape":"Anomaly", "documentation":"

        The details about the anomalous activity that caused GuardDuty to generate the finding.

        ", "locationName":"anomaly" + }, + "Sequence":{ + "shape":"Sequence", + "documentation":"

        The details about the attack sequence.

        ", + "locationName":"sequence" } }, "documentation":"

        Contains information about the detected behavior.

        " @@ -3641,6 +3736,93 @@ }, "documentation":"

        Describes the configuration of scanning EBS volumes as a data source.

        " }, + "Ec2Instance":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

        The availability zone of the Amazon EC2 instance. For more information, see Availability zones in the Amazon EC2 User Guide.

        ", + "locationName":"availabilityZone" + }, + "ImageDescription":{ + "shape":"String", + "documentation":"

        The image description of the Amazon EC2 instance.

        ", + "locationName":"imageDescription" + }, + "InstanceState":{ + "shape":"String", + "documentation":"

        The state of the Amazon EC2 instance. For more information, see Amazon EC2 instance state changes in the Amazon EC2 User Guide.

        ", + "locationName":"instanceState" + }, + "IamInstanceProfile":{"shape":"IamInstanceProfile"}, + "InstanceType":{ + "shape":"String", + "documentation":"

        Type of the Amazon EC2 instance.

        ", + "locationName":"instanceType" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

        The Amazon Resource Name (ARN) of the Amazon Web Services Outpost. This shows applicable Amazon Web Services Outposts instances.

        ", + "locationName":"outpostArn" + }, + "Platform":{ + "shape":"String", + "documentation":"

        The platform of the Amazon EC2 instance.

        ", + "locationName":"platform" + }, + "ProductCodes":{ + "shape":"ProductCodes", + "documentation":"

        The product code of the Amazon EC2 instance.

        ", + "locationName":"productCodes" + }, + "Ec2NetworkInterfaceUids":{ + "shape":"Ec2NetworkInterfaceUids", + "documentation":"

        The ID of the network interface.

        ", + "locationName":"ec2NetworkInterfaceUids" + } + }, + "documentation":"

        Details about the potentially impacted Amazon EC2 instance resource.

        " + }, + "Ec2NetworkInterface":{ + "type":"structure", + "members":{ + "Ipv6Addresses":{ + "shape":"Ipv6Addresses", + "documentation":"

        A list of IPv6 addresses for the Amazon EC2 instance.

        ", + "locationName":"ipv6Addresses" + }, + "PrivateIpAddresses":{ + "shape":"PrivateIpAddresses", + "documentation":"

        Other private IP address information of the Amazon EC2 instance.

        ", + "locationName":"privateIpAddresses" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

        The public IP address of the Amazon EC2 instance.

        ", + "locationName":"publicIp" + }, + "SecurityGroups":{ + "shape":"SecurityGroups", + "documentation":"

        The security groups associated with the Amazon EC2 instance.

        ", + "locationName":"securityGroups" + }, + "SubNetId":{ + "shape":"String", + "documentation":"

        The subnet ID of the Amazon EC2 instance.

        ", + "locationName":"subNetId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

        The VPC ID of the Amazon EC2 instance.

        ", + "locationName":"vpcId" + } + }, + "documentation":"

        Contains information about the elastic network interface of the Amazon EC2 instance.

        " + }, + "Ec2NetworkInterfaceUids":{ + "type":"list", + "member":{"shape":"String"} + }, "EcsClusterDetails":{ "type":"structure", "members":{ @@ -3806,6 +3988,11 @@ "members":{ } }, + "EndpointIds":{ + "type":"list", + "member":{"shape":"String"}, + "max":400 + }, "Eq":{ "type":"list", "member":{"shape":"String"} @@ -4038,6 +4225,11 @@ "shape":"String", "documentation":"

        The time and date when the finding was last updated.

        ", "locationName":"updatedAt" + }, + "AssociatedAttackSequenceArn":{ + "shape":"String", + "documentation":"

        Amazon Resource Name (ARN) associated with the attack sequence finding.

        ", + "locationName":"associatedAttackSequenceArn" } }, "documentation":"

        Contains information about the finding that is generated when abnormal or suspicious activity is detected.

        " @@ -4072,6 +4264,16 @@ "SIX_HOURS" ] }, + "FindingResourceType":{ + "type":"string", + "enum":[ + "EC2_INSTANCE", + "EC2_NETWORK_INTERFACE", + "S3_BUCKET", + "S3_OBJECT", + "ACCESS_KEY" + ] + }, "FindingStatisticType":{ "type":"string", "enum":["COUNT_BY_SEVERITY"] @@ -5017,6 +5219,64 @@ }, "documentation":"

        Contains information about the impersonated user.

        " }, + "Indicator":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"IndicatorType", + "documentation":"

        Specific indicator keys observed in the attack sequence.

        ", + "locationName":"key" + }, + "Values":{ + "shape":"IndicatorValues", + "documentation":"

        Values associated with each indicator key. For example, if the indicator key is SUSPICIOUS_NETWORK, then the value will be the name of the network. If the indicator key is ATTACK_TACTIC, then the value will be one of the MITRE tactics.

        For more information about the values associated with the key, see GuardDuty Extended Threat Detection in the GuardDuty User Guide.

        ", + "locationName":"values" + }, + "Title":{ + "shape":"IndicatorTitle", + "documentation":"

        Title describing the indicator.

        ", + "locationName":"title" + } + }, + "documentation":"

        Contains information about the indicators that include a set of signals observed in an attack sequence.

        " + }, + "IndicatorTitle":{ + "type":"string", + "max":256, + "min":1 + }, + "IndicatorType":{ + "type":"string", + "enum":[ + "SUSPICIOUS_USER_AGENT", + "SUSPICIOUS_NETWORK", + "MALICIOUS_IP", + "TOR_IP", + "ATTACK_TACTIC", + "HIGH_RISK_API", + "ATTACK_TECHNIQUE", + "UNUSUAL_API_FOR_ACCOUNT", + "UNUSUAL_ASN_FOR_ACCOUNT", + "UNUSUAL_ASN_FOR_USER" + ] + }, + "IndicatorValueString":{ + "type":"string", + "max":256, + "min":1 + }, + "IndicatorValues":{ + "type":"list", + "member":{"shape":"IndicatorValueString"}, + "max":400, + "min":1 + }, + "Indicators":{ + "type":"list", + "member":{"shape":"Indicator"}, + "max":400 + }, "InstanceArn":{ "type":"string", "pattern":"^arn:(aws|aws-cn|aws-us-gov):[a-z]+:[a-z]+(-[0-9]+|-[a-z]+)+:([0-9]{12}):[a-z\\-]+\\/[a-zA-Z0-9]*$" @@ -6543,6 +6803,13 @@ "type":"list", "member":{"shape":"String"} }, + "MfaStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "Name":{ "type":"string", "max":300, @@ -6552,6 +6819,18 @@ "type":"list", "member":{"shape":"String"} }, + "NetworkConnection":{ + "type":"structure", + "required":["Direction"], + "members":{ + "Direction":{ + "shape":"NetworkDirection", + "documentation":"

        The direction in which the network traffic is flowing.

        ", + "locationName":"direction" + } + }, + "documentation":"

        Contains information about the network connection.

        " + }, "NetworkConnectionAction":{ "type":"structure", "members":{ @@ -6598,6 +6877,92 @@ }, "documentation":"

        Contains information about the NETWORK_CONNECTION action described in the finding.

        " }, + "NetworkDirection":{ + "type":"string", + "enum":[ + "INBOUND", + "OUTBOUND" + ] + }, + "NetworkEndpoint":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"String", + "documentation":"

        The ID of the network endpoint.

        ", + "locationName":"id" + }, + "Ip":{ + "shape":"String", + "documentation":"

        The IP address associated with the network endpoint.

        ", + "locationName":"ip" + }, + "Domain":{ + "shape":"String", + "documentation":"

        The domain information for the network endpoint.

        ", + "locationName":"domain" + }, + "Port":{ + "shape":"Integer", + "documentation":"

        The port number associated with the network endpoint.

        ", + "locationName":"port" + }, + "Location":{ + "shape":"NetworkGeoLocation", + "documentation":"

        Information about the location of the network endpoint.

        ", + "locationName":"location" + }, + "AutonomousSystem":{ + "shape":"AutonomousSystem", + "documentation":"

        The Autonomous System (AS) of the network endpoint.

        ", + "locationName":"autonomousSystem" + }, + "Connection":{ + "shape":"NetworkConnection", + "documentation":"

        Information about the network connection.

        ", + "locationName":"connection" + } + }, + "documentation":"

        Contains information about network endpoints that were observed in the attack sequence.

        " + }, + "NetworkEndpoints":{ + "type":"list", + "member":{"shape":"NetworkEndpoint"}, + "max":400 + }, + "NetworkGeoLocation":{ + "type":"structure", + "required":[ + "City", + "Country", + "Latitude", + "Longitude" + ], + "members":{ + "City":{ + "shape":"String", + "documentation":"

        The name of the city.

        ", + "locationName":"city" + }, + "Country":{ + "shape":"String", + "documentation":"

        The name of the country.

        ", + "locationName":"country" + }, + "Latitude":{ + "shape":"Double", + "documentation":"

        The latitude information of the endpoint location.

        ", + "locationName":"lat" + }, + "Longitude":{ + "shape":"Double", + "documentation":"

        The longitude information of the endpoint location.

        ", + "locationName":"lon" + } + }, + "documentation":"

        Contains information about network endpoint location.

        " + }, "NetworkInterface":{ "type":"structure", "members":{ @@ -7318,6 +7683,53 @@ }, "documentation":"

        Describes the public access policies that apply to the S3 bucket.

        " }, + "PublicAccessConfiguration":{ + "type":"structure", + "members":{ + "PublicAclAccess":{ + "shape":"PublicAccessStatus", + "documentation":"

        Indicates whether or not there is a setting that allows public access to the Amazon S3 buckets through access control lists (ACLs).

        ", + "locationName":"publicAclAccess" + }, + "PublicPolicyAccess":{ + "shape":"PublicAccessStatus", + "documentation":"

        Indicates whether or not there is a setting that allows public access to the Amazon S3 bucket policy.

        ", + "locationName":"publicPolicyAccess" + }, + "PublicAclIgnoreBehavior":{ + "shape":"PublicAclIgnoreBehavior", + "documentation":"

        Indicates whether or not there is a setting that ignores all public access control lists (ACLs) on the Amazon S3 bucket and the objects that it contains.

        ", + "locationName":"publicAclIgnoreBehavior" + }, + "PublicBucketRestrictBehavior":{ + "shape":"PublicBucketRestrictBehavior", + "documentation":"

        Indicates whether or not there is a setting that restricts access to the bucket with specified policies.

        ", + "locationName":"publicBucketRestrictBehavior" + } + }, + "documentation":"

        Describes public access policies that apply to the Amazon S3 bucket.

        For information about each of the following settings, see Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

        " + }, + "PublicAccessStatus":{ + "type":"string", + "enum":[ + "BLOCKED", + "ALLOWED" + ] + }, + "PublicAclIgnoreBehavior":{ + "type":"string", + "enum":[ + "IGNORED", + "NOT_IGNORED" + ] + }, + "PublicBucketRestrictBehavior":{ + "type":"string", + "enum":[ + "RESTRICTED", + "NOT_RESTRICTED" + ] + }, "PublishingStatus":{ "type":"string", "enum":[ @@ -7431,7 +7843,7 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

        Information about the tag-key value pair.

        ", + "documentation":"

        Information about the tag key-value pair.

        ", "locationName":"tags" } }, @@ -7593,6 +8005,37 @@ "type":"string", "pattern":"^arn:[A-Za-z-]+:[A-Za-z0-9]+:[A-Za-z0-9-]+:\\d+:(([A-Za-z0-9-]+)[:\\/])?[A-Za-z0-9-]*$" }, + "ResourceData":{ + "type":"structure", + "members":{ + "S3Bucket":{ + "shape":"S3Bucket", + "documentation":"

        Contains information about the Amazon S3 bucket.

        ", + "locationName":"s3Bucket" + }, + "Ec2Instance":{ + "shape":"Ec2Instance", + "documentation":"

        Contains information about the Amazon EC2 instance.

        ", + "locationName":"ec2Instance" + }, + "AccessKey":{ + "shape":"AccessKey", + "documentation":"

        Contains information about the IAM access key details of a user that involved in the GuardDuty finding.

        ", + "locationName":"accessKey" + }, + "Ec2NetworkInterface":{ + "shape":"Ec2NetworkInterface", + "documentation":"

        Contains information about the elastic network interface of the Amazon EC2 instance.

        ", + "locationName":"ec2NetworkInterface" + }, + "S3Object":{ + "shape":"S3Object", + "documentation":"

        Contains information about the Amazon S3 object.

        ", + "locationName":"s3Object" + } + }, + "documentation":"

        Contains information about the Amazon Web Services resource that is associated with the activity that prompted GuardDuty to generate a finding.

        " + }, "ResourceDetails":{ "type":"structure", "members":{ @@ -7665,6 +8108,71 @@ "EC2" ] }, + "ResourceUids":{ + "type":"list", + "member":{"shape":"String"}, + "max":400 + }, + "ResourceV2":{ + "type":"structure", + "required":[ + "Uid", + "ResourceType" + ], + "members":{ + "Uid":{ + "shape":"String", + "documentation":"

        The unique identifier of the resource.

        ", + "locationName":"uid" + }, + "Name":{ + "shape":"String", + "documentation":"

        The name of the resource.

        ", + "locationName":"name" + }, + "AccountId":{ + "shape":"String", + "documentation":"

        The Amazon Web Services account ID to which the resource belongs.

        ", + "locationName":"accountId" + }, + "ResourceType":{ + "shape":"FindingResourceType", + "documentation":"

        The type of the Amazon Web Services resource.

        ", + "locationName":"resourceType" + }, + "Region":{ + "shape":"String", + "documentation":"

        The Amazon Web Services Region where the resource belongs.

        ", + "locationName":"region" + }, + "Service":{ + "shape":"String", + "documentation":"

        The Amazon Web Services service of the resource.

        ", + "locationName":"service" + }, + "CloudPartition":{ + "shape":"String", + "documentation":"

        The cloud partition within the Amazon Web Services Region to which the resource belongs.

        ", + "locationName":"cloudPartition" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

        Contains information about the tags associated with the resource.

        ", + "locationName":"tags" + }, + "Data":{ + "shape":"ResourceData", + "documentation":"

        Contains information about the Amazon Web Services resource associated with the activity that prompted GuardDuty to generate a finding.

        ", + "locationName":"data" + } + }, + "documentation":"

        Contains information about the Amazon Web Services resource that is associated with the GuardDuty finding.

        " + }, + "Resources":{ + "type":"list", + "member":{"shape":"ResourceV2"}, + "max":400 + }, "RuntimeContext":{ "type":"structure", "members":{ @@ -7812,6 +8320,62 @@ }, "documentation":"

        Information about the process and any required context values for a specific finding.

        " }, + "S3Bucket":{ + "type":"structure", + "members":{ + "OwnerId":{ + "shape":"String", + "documentation":"

        The owner ID of the associated S3Amazon S3bucket.

        ", + "locationName":"ownerId" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

        The timestamp at which the Amazon S3 bucket was created.

        ", + "locationName":"createdAt" + }, + "EncryptionType":{ + "shape":"String", + "documentation":"

        The type of encryption used for the Amazon S3 buckets and its objects. For more information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

        ", + "locationName":"encryptionType" + }, + "EncryptionKeyArn":{ + "shape":"String", + "documentation":"

        The Amazon Resource Name (ARN) of the encryption key that is used to encrypt the Amazon S3 bucket and its objects.

        ", + "locationName":"encryptionKeyArn" + }, + "EffectivePermission":{ + "shape":"String", + "documentation":"

        Describes the effective permissions on this S3 bucket, after factoring all the attached policies.

        ", + "locationName":"effectivePermission" + }, + "PublicReadAccess":{ + "shape":"PublicAccessStatus", + "documentation":"

        Indicates whether or not the public read access is allowed for an Amazon S3 bucket.

        ", + "locationName":"publicReadAccess" + }, + "PublicWriteAccess":{ + "shape":"PublicAccessStatus", + "documentation":"

        Indicates whether or not the public write access is allowed for an Amazon S3 bucket.

        ", + "locationName":"publicWriteAccess" + }, + "AccountPublicAccess":{ + "shape":"PublicAccessConfiguration", + "documentation":"

        Contains information about the public access policies that apply to the Amazon S3 bucket at the account level.

        ", + "locationName":"accountPublicAccess" + }, + "BucketPublicAccess":{ + "shape":"PublicAccessConfiguration", + "documentation":"

        Contains information about public access policies that apply to the Amazon S3 bucket.

        ", + "locationName":"bucketPublicAccess" + }, + "S3ObjectUids":{ + "shape":"S3ObjectUids", + "documentation":"

        Represents a list of Amazon S3 object identifiers.

        ", + "locationName":"s3ObjectUids" + } + }, + "documentation":"

        Contains information about the Amazon S3 bucket policies and encryption.

        " + }, "S3BucketDetail":{ "type":"structure", "members":{ @@ -7891,6 +8455,27 @@ }, "documentation":"

        Describes whether S3 data event logs will be enabled as a data source.

        " }, + "S3Object":{ + "type":"structure", + "members":{ + "ETag":{ + "shape":"String", + "documentation":"

        The entity tag is a hash of the Amazon S3 object. The ETag reflects changes only to the contents of an object, and not its metadata.

        ", + "locationName":"eTag" + }, + "Key":{ + "shape":"String", + "documentation":"

        The key of the Amazon S3 object.

        ", + "locationName":"key" + }, + "VersionId":{ + "shape":"String", + "documentation":"

        The version Id of the Amazon S3 object.

        ", + "locationName":"versionId" + } + }, + "documentation":"

        Contains information about the Amazon S3 object.

        " + }, "S3ObjectDetail":{ "type":"structure", "members":{ @@ -7926,6 +8511,10 @@ "type":"list", "member":{"shape":"S3ObjectDetail"} }, + "S3ObjectUids":{ + "type":"list", + "member":{"shape":"String"} + }, "Scan":{ "type":"structure", "members":{ @@ -8266,6 +8855,56 @@ "type":"string", "sensitive":true }, + "Sequence":{ + "type":"structure", + "required":[ + "Uid", + "Description", + "Signals" + ], + "members":{ + "Uid":{ + "shape":"String", + "documentation":"

        Unique identifier of the attack sequence.

        ", + "locationName":"uid" + }, + "Description":{ + "shape":"SequenceDescription", + "documentation":"

        Description of the attack sequence.

        ", + "locationName":"description" + }, + "Actors":{ + "shape":"Actors", + "documentation":"

        Contains information about the actors involved in the attack sequence.

        ", + "locationName":"actors" + }, + "Resources":{ + "shape":"Resources", + "documentation":"

        Contains information about the resources involved in the attack sequence.

        ", + "locationName":"resources" + }, + "Endpoints":{ + "shape":"NetworkEndpoints", + "documentation":"

        Contains information about the network endpoints that were used in the attack sequence.

        ", + "locationName":"endpoints" + }, + "Signals":{ + "shape":"Signals", + "documentation":"

        Contains information about the signals involved in the attack sequence.

        ", + "locationName":"signals" + }, + "SequenceIndicators":{ + "shape":"Indicators", + "documentation":"

        Contains information about the indicators observed in the attack sequence.

        ", + "locationName":"sequenceIndicators" + } + }, + "documentation":"

        Contains information about the GuardDuty attack sequence finding.

        " + }, + "SequenceDescription":{ + "type":"string", + "max":4096 + }, "Service":{ "type":"structure", "members":{ @@ -8368,6 +9007,32 @@ }, "documentation":"

        Additional information about the generated finding.

        " }, + "Session":{ + "type":"structure", + "members":{ + "Uid":{ + "shape":"String", + "documentation":"

        The unique identifier of the session.

        ", + "locationName":"uid" + }, + "MfaStatus":{ + "shape":"MfaStatus", + "documentation":"

        Indicates whether or not multi-factor authencation (MFA) was used during authentication.

        In Amazon Web Services CloudTrail, you can find this value as userIdentity.sessionContext.attributes.mfaAuthenticated.

        ", + "locationName":"mfaStatus" + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

        The timestamp for when the session was created.

        In Amazon Web Services CloudTrail, you can find this value as userIdentity.sessionContext.attributes.creationDate.

        ", + "locationName":"createdTime" + }, + "Issuer":{ + "shape":"String", + "documentation":"

        Identifier of the session issuer.

        In Amazon Web Services CloudTrail, you can find this value as userIdentity.sessionContext.sessionIssuer.arn.

        ", + "locationName":"issuer" + } + }, + "documentation":"

        Contains information about the authenticated session.

        " + }, "SessionNameList":{ "type":"list", "member":{"shape":"String"} @@ -8393,6 +9058,110 @@ }, "documentation":"

        Information about severity level for each finding type.

        " }, + "Signal":{ + "type":"structure", + "required":[ + "Uid", + "Type", + "Name", + "CreatedAt", + "UpdatedAt", + "FirstSeenAt", + "LastSeenAt", + "Count" + ], + "members":{ + "Uid":{ + "shape":"String", + "documentation":"

        The unique identifier of the signal.

        ", + "locationName":"uid" + }, + "Type":{ + "shape":"SignalType", + "documentation":"

        The type of the signal used to identify an attack sequence.

        Signals can be GuardDuty findings or activities observed in data sources that GuardDuty monitors. For more information, see Foundational data sources in the GuardDuty User Guide.

        A signal type can be one of the valid values listed in this API. Here are the related descriptions:

        • FINDING - Individually generated GuardDuty finding.

        • CLOUD_TRAIL - Activity observed from CloudTrail logs

        • S3_DATA_EVENTS - Activity observed from CloudTrail data events for S3. Activities associated with this type will show up only when you have enabled GuardDuty S3 Protection feature in your account. For more information about S3 Protection and steps to enable it, see S3 Protection in the GuardDuty User Guide.

        ", + "locationName":"type" + }, + "Description":{ + "shape":"SignalDescription", + "documentation":"

        The description of the signal.

        ", + "locationName":"description" + }, + "Name":{ + "shape":"String", + "documentation":"

        The name of the signal. For example, when signal type is FINDING, the signal name is the name of the finding.

        ", + "locationName":"name" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

        The timestamp when the first finding or activity related to this signal was observed.

        ", + "locationName":"createdAt" + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

        The timestamp when this signal was last observed.

        ", + "locationName":"updatedAt" + }, + "FirstSeenAt":{ + "shape":"Timestamp", + "documentation":"

        The timestamp when the first finding or activity related to this signal was observed.

        ", + "locationName":"firstSeenAt" + }, + "LastSeenAt":{ + "shape":"Timestamp", + "documentation":"

        The timestamp when the last finding or activity related to this signal was observed.

        ", + "locationName":"lastSeenAt" + }, + "Severity":{ + "shape":"Double", + "documentation":"

        The severity associated with the signal. For more information about severity, see Findings severity levels in the GuardDuty User Guide.

        ", + "locationName":"severity" + }, + "Count":{ + "shape":"Integer", + "documentation":"

        The number of times this signal was observed.

        ", + "locationName":"count" + }, + "ResourceUids":{ + "shape":"ResourceUids", + "documentation":"

        Information about the unique identifiers of the resources involved in the signal.

        ", + "locationName":"resourceUids" + }, + "ActorIds":{ + "shape":"ActorIds", + "documentation":"

        Information about the IDs of the threat actors involved in the signal.

        ", + "locationName":"actorIds" + }, + "EndpointIds":{ + "shape":"EndpointIds", + "documentation":"

        Information about the endpoint IDs associated with this signal.

        ", + "locationName":"endpointIds" + }, + "SignalIndicators":{ + "shape":"Indicators", + "documentation":"

        Contains information about the indicators associated with the signals.

        ", + "locationName":"signalIndicators" + } + }, + "documentation":"

        Contains information about the signals involved in the attack sequence.

        " + }, + "SignalDescription":{ + "type":"string", + "max":2000 + }, + "SignalType":{ + "type":"string", + "enum":[ + "FINDING", + "CLOUD_TRAIL", + "S3_DATA_EVENTS" + ] + }, + "Signals":{ + "type":"list", + "member":{"shape":"Signal"}, + "max":100, + "min":2 + }, "SortCriteria":{ "type":"structure", "members":{ @@ -9432,6 +10201,42 @@ "type":"list", "member":{"shape":"UsageTopAccountsResult"} }, + "User":{ + "type":"structure", + "required":[ + "Name", + "Uid", + "Type" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

        The name of the user.

        ", + "locationName":"name" + }, + "Uid":{ + "shape":"String", + "documentation":"

        The unique identifier of the user.

        ", + "locationName":"uid" + }, + "Type":{ + "shape":"String", + "documentation":"

        The type of the user.

        ", + "locationName":"type" + }, + "CredentialUid":{ + "shape":"String", + "documentation":"

        The credentials of the user ID.

        ", + "locationName":"credentialUid" + }, + "Account":{ + "shape":"Account", + "documentation":"

        Contains information about the Amazon Web Services account.

        ", + "locationName":"account" + } + }, + "documentation":"

        Contains information about the user involved in the attack sequence.

        " + }, "Volume":{ "type":"structure", "members":{ diff --git a/tools/code-generation/api-descriptions/imagebuilder-2019-12-02.normal.json b/tools/code-generation/api-descriptions/imagebuilder-2019-12-02.normal.json index 55b1830ebfe..2e25d3e1d5e 100644 --- a/tools/code-generation/api-descriptions/imagebuilder-2019-12-02.normal.json +++ b/tools/code-generation/api-descriptions/imagebuilder-2019-12-02.normal.json @@ -662,6 +662,24 @@ ], "documentation":"

        Get details for the specified image lifecycle policy.

        " }, + "GetMarketplaceResource":{ + "name":"GetMarketplaceResource", + "http":{ + "method":"POST", + "requestUri":"/GetMarketplaceResource" + }, + "input":{"shape":"GetMarketplaceResourceRequest"}, + "output":{"shape":"GetMarketplaceResourceResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

        Verify the subscription and perform resource dependency checks on the requested Amazon Web Services Marketplace resource. For Amazon Web Services Marketplace components, the response contains fields to download the components and their artifacts.

        " + }, "GetWorkflow":{ "name":"GetWorkflow", "http":{ @@ -1664,7 +1682,7 @@ }, "state":{ "shape":"ComponentState", - "documentation":"

        Describes the current status of the component. This is used for components that are no longer active.

        " + "documentation":"

        Describes the current status of the component.

        " }, "parameters":{ "shape":"ComponentParameterDetailList", @@ -1701,6 +1719,10 @@ "obfuscate":{ "shape":"Boolean", "documentation":"

        Indicates whether component source is hidden from view in the console, and from component detail results for API, CLI, or SDK operations.

        " + }, + "productCodes":{ + "shape":"ProductCodeList", + "documentation":"

        Contains product codes that are used for billing purposes for Amazon Web Services Marketplace components.

        " } }, "documentation":"

        A detailed view of a component.

        " @@ -1830,7 +1852,11 @@ }, "ComponentStatus":{ "type":"string", - "enum":["DEPRECATED"] + "enum":[ + "DEPRECATED", + "DISABLED", + "ACTIVE" + ] }, "ComponentSummary":{ "type":"structure", @@ -1943,6 +1969,14 @@ "dateCreated":{ "shape":"DateTime", "documentation":"

        The date that the component was created.

        " + }, + "status":{ + "shape":"ComponentStatus", + "documentation":"

        Describes the current status of the component version.

        " + }, + "productCodes":{ + "shape":"ProductCodeList", + "documentation":"

        Contains product codes that are used for billing purposes for Amazon Web Services Marketplace components.

        " } }, "documentation":"

        The defining characteristics of a specific version of an Amazon Web Services TOE component.

        " @@ -3385,7 +3419,7 @@ }, "FilterValue":{ "type":"string", - "pattern":"^[0-9a-zA-Z./_ :-]{1,1024}$" + "pattern":"^[0-9a-zA-Z./_ :,{}\"-]{1,1024}$" }, "FilterValues":{ "type":"list", @@ -3721,6 +3755,44 @@ } } }, + "GetMarketplaceResourceRequest":{ + "type":"structure", + "required":[ + "resourceType", + "resourceArn" + ], + "members":{ + "resourceType":{ + "shape":"MarketplaceResourceType", + "documentation":"

        Specifies which type of Amazon Web Services Marketplace resource Image Builder retrieves.

        " + }, + "resourceArn":{ + "shape":"ImageBuilderArn", + "documentation":"

        The Amazon Resource Name (ARN) that uniquely identifies an Amazon Web Services Marketplace resource.

        " + }, + "resourceLocation":{ + "shape":"MarketplaceResourceLocation", + "documentation":"

        The bucket path that you can specify to download the resource from Amazon S3.

        " + } + } + }, + "GetMarketplaceResourceResponse":{ + "type":"structure", + "members":{ + "resourceArn":{ + "shape":"ImageBuilderArn", + "documentation":"

        The Amazon Resource Name (ARN) for the Amazon Web Services Marketplace resource that was requested.

        " + }, + "url":{ + "shape":"NonEmptyString", + "documentation":"

        The obfuscated S3 URL to download the component artifact from.

        " + }, + "data":{ + "shape":"NonEmptyString", + "documentation":"

        Returns obfuscated data that contains the YAML content of the component.

        " + } + } + }, "GetWorkflowExecutionRequest":{ "type":"structure", "required":["workflowExecutionId"], @@ -4060,14 +4132,14 @@ "members":{ "packageName":{ "shape":"NonEmptyString", - "documentation":"

        The name of the package as reported to the operating system package manager.

        " + "documentation":"

        The name of the package that's reported to the operating system package manager.

        " }, "packageVersion":{ "shape":"NonEmptyString", - "documentation":"

        The version of the package as reported to the operating system package manager.

        " + "documentation":"

        The version of the package that's reported to the operating system package manager.

        " } }, - "documentation":"

        Represents a package installed on an Image Builder image.

        " + "documentation":"

        A software package that's installed on top of the base image to create a customized image.

        " }, "ImagePackageList":{ "type":"list", @@ -4563,7 +4635,7 @@ }, "timeoutMinutes":{ "shape":"ImageTestsTimeoutMinutes", - "documentation":"

        The maximum time in minutes that tests are permitted to run.

        The timeoutMinutes attribute is not currently active. This value is ignored.

        " + "documentation":"

        The maximum time in minutes that tests are permitted to run.

        The timeout attribute is not currently active. This value is ignored.

        " } }, "documentation":"

        Configure image tests for your pipeline build. Tests run after building the image, to verify that the AMI or container image is valid before distributing it.

        " @@ -6466,6 +6538,18 @@ }, "documentation":"

        Logging configuration defines where Image Builder uploads your logs.

        " }, + "MarketplaceResourceLocation":{ + "type":"string", + "max":1024, + "pattern":"^s3://[^/]+/.+[^/]$" + }, + "MarketplaceResourceType":{ + "type":"string", + "enum":[ + "COMPONENT_DATA", + "COMPONENT_ARTIFACT" + ] + }, "MaxParallelLaunches":{ "type":"integer", "min":1 @@ -6542,7 +6626,8 @@ "Self", "Shared", "Amazon", - "ThirdParty" + "ThirdParty", + "AWSMarketplace" ] }, "PackageArchitecture":{"type":"string"}, @@ -6649,6 +6734,36 @@ "macOS" ] }, + "ProductCodeId":{ + "type":"string", + "pattern":"^[A-Za-z0-9]{1,25}$" + }, + "ProductCodeList":{ + "type":"list", + "member":{"shape":"ProductCodeListItem"} + }, + "ProductCodeListItem":{ + "type":"structure", + "required":[ + "productCodeId", + "productCodeType" + ], + "members":{ + "productCodeId":{ + "shape":"ProductCodeId", + "documentation":"

        For Amazon Web Services Marketplace components, this contains the product code ID that can be stamped onto an EC2 AMI to ensure that components are billed correctly. If this property is empty, it might mean that the component is not published.

        " + }, + "productCodeType":{ + "shape":"ProductCodeType", + "documentation":"

        The owner of the product code that's billed. If this property is empty, it might mean that the component is not published.

        " + } + }, + "documentation":"

        Information about a single product code.

        " + }, + "ProductCodeType":{ + "type":"string", + "enum":["marketplace"] + }, "PutComponentPolicyRequest":{ "type":"structure", "required":[ @@ -7232,7 +7347,7 @@ }, "repositoryName":{ "shape":"NonEmptyString", - "documentation":"

        The name of the container repository where the output container image is stored. This name is prefixed by the repository location.

        " + "documentation":"

        The name of the container repository where the output container image is stored. This name is prefixed by the repository location. For example, <repository location url>/repository_name.

        " } }, "documentation":"

        The container repository where the output container image is stored.

        " diff --git a/tools/code-generation/api-descriptions/invoicing-2024-12-01.normal.json b/tools/code-generation/api-descriptions/invoicing-2024-12-01.normal.json new file mode 100644 index 00000000000..df50ba463ca --- /dev/null +++ b/tools/code-generation/api-descriptions/invoicing-2024-12-01.normal.json @@ -0,0 +1,798 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2024-12-01", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"invoicing", + "jsonVersion":"1.0", + "protocol":"json", + "protocols":["json"], + "serviceFullName":"AWS Invoicing", + "serviceId":"Invoicing", + "signatureVersion":"v4", + "signingName":"invoicing", + "targetPrefix":"Invoicing", + "uid":"invoicing-2024-12-01" + }, + "operations":{ + "BatchGetInvoiceProfile":{ + "name":"BatchGetInvoiceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetInvoiceProfileRequest"}, + "output":{"shape":"BatchGetInvoiceProfileResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

        This gets the invoice profile associated with a set of accounts. The accounts must be linked accounts under the requester management account organization.

        " + }, + "CreateInvoiceUnit":{ + "name":"CreateInvoiceUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateInvoiceUnitRequest"}, + "output":{"shape":"CreateInvoiceUnitResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        This creates a new invoice unit with the provided definition.

        " + }, + "DeleteInvoiceUnit":{ + "name":"DeleteInvoiceUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInvoiceUnitRequest"}, + "output":{"shape":"DeleteInvoiceUnitResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

        This deletes an invoice unit with the provided invoice unit ARN.

        " + }, + "GetInvoiceUnit":{ + "name":"GetInvoiceUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInvoiceUnitRequest"}, + "output":{"shape":"GetInvoiceUnitResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

        This retrieves the invoice unit definition.

        " + }, + "ListInvoiceUnits":{ + "name":"ListInvoiceUnits", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListInvoiceUnitsRequest"}, + "output":{"shape":"ListInvoiceUnitsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        This fetches a list of all invoice unit definitions for a given account, as of the provided AsOf date.

        " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

        Lists the tags for a resource.

        " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

        Adds a tag to a resource.

        " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

        Removes a tag from a resource.

        " + }, + "UpdateInvoiceUnit":{ + "name":"UpdateInvoiceUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateInvoiceUnitRequest"}, + "output":{"shape":"UpdateInvoiceUnitResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

        You can update the invoice unit configuration at any time, and Amazon Web Services will use the latest configuration at the end of the month.

        " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"BasicString"}, + "resourceName":{ + "shape":"InvoiceUnitArnString", + "documentation":"

        You don't have sufficient access to perform this action.

        " + } + }, + "documentation":"

        You don't have sufficient access to perform this action.

        ", + "exception":true + }, + "AccountIdList":{ + "type":"list", + "member":{"shape":"AccountIdString"}, + "max":1000, + "min":1 + }, + "AccountIdString":{ + "type":"string", + "pattern":"\\d{12}" + }, + "AsOfTimestamp":{"type":"timestamp"}, + "BasicString":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"\\S+" + }, + "BatchGetInvoiceProfileRequest":{ + "type":"structure", + "required":["AccountIds"], + "members":{ + "AccountIds":{ + "shape":"AccountIdList", + "documentation":"

        Retrieves the corresponding invoice profile data for these account IDs.

        " + } + } + }, + "BatchGetInvoiceProfileResponse":{ + "type":"structure", + "members":{ + "Profiles":{ + "shape":"ProfileList", + "documentation":"

        A list of invoice profiles corresponding to the requested accounts.

        " + } + } + }, + "CreateInvoiceUnitRequest":{ + "type":"structure", + "required":[ + "Name", + "InvoiceReceiver", + "Rule" + ], + "members":{ + "Name":{ + "shape":"InvoiceUnitName", + "documentation":"

        The unique name of the invoice unit that is shown on the generated invoice. This can't be changed once it is set. To change this name, you must delete the invoice unit recreate.

        " + }, + "InvoiceReceiver":{ + "shape":"AccountIdString", + "documentation":"

        The Amazon Web Services account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID.

        " + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

        The invoice unit's description. This can be changed at a later time.

        " + }, + "TaxInheritanceDisabled":{ + "shape":"TaxInheritanceDisabledFlag", + "documentation":"

        Whether the invoice unit based tax inheritance is/ should be enabled or disabled.

        " + }, + "Rule":{ + "shape":"InvoiceUnitRule", + "documentation":"

        The InvoiceUnitRule object used to create invoice units.

        " + }, + "ResourceTags":{ + "shape":"ResourceTagList", + "documentation":"

        The tag structure that contains a tag key and value.

        " + } + } + }, + "CreateInvoiceUnitResponse":{ + "type":"structure", + "members":{ + "InvoiceUnitArn":{ + "shape":"InvoiceUnitArnString", + "documentation":"

        The ARN to identify an invoice unit. This information can't be modified or deleted.

        " + } + } + }, + "DeleteInvoiceUnitRequest":{ + "type":"structure", + "required":["InvoiceUnitArn"], + "members":{ + "InvoiceUnitArn":{ + "shape":"InvoiceUnitArnString", + "documentation":"

        The ARN to identify an invoice unit. This information can't be modified or deleted.

        " + } + } + }, + "DeleteInvoiceUnitResponse":{ + "type":"structure", + "members":{ + "InvoiceUnitArn":{ + "shape":"InvoiceUnitArnString", + "documentation":"

        The ARN to identify an invoice unit. This information can't be modified or deleted.

        " + } + } + }, + "DescriptionString":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[\\S\\s]*" + }, + "Filters":{ + "type":"structure", + "members":{ + "Names":{ + "shape":"InvoiceUnitNames", + "documentation":"

        An optional input to the list API. You can specify a list of invoice unit names inside filters to return invoice units that match only the specified invoice unit names. If multiple names are provided, the result is an OR condition (match any) of the specified invoice unit names.

        " + }, + "InvoiceReceivers":{ + "shape":"AccountIdList", + "documentation":"

        You can specify a list of Amazon Web Services account IDs inside filters to return invoice units that match only the specified accounts. If multiple accounts are provided, the result is an OR condition (match any) of the specified accounts. This filter only matches the specified accounts on the invoice receivers of the invoice units.

        " + }, + "Accounts":{ + "shape":"AccountIdList", + "documentation":"

        You can specify a list of Amazon Web Services account IDs inside filters to return invoice units that match only the specified accounts. If multiple accounts are provided, the result is an OR condition (match any) of the specified accounts. The specified account IDs are matched with either the receiver or the linked accounts in the rules.

        " + } + }, + "documentation":"

        An optional input to the list API. If multiple filters are specified, the returned list will be a configuration that match all of the provided filters. Supported filter types are InvoiceReceivers, Names, and Accounts.

        " + }, + "GetInvoiceUnitRequest":{ + "type":"structure", + "required":["InvoiceUnitArn"], + "members":{ + "InvoiceUnitArn":{ + "shape":"InvoiceUnitArnString", + "documentation":"

        The ARN to identify an invoice unit. This information can't be modified or deleted.

        " + }, + "AsOf":{ + "shape":"AsOfTimestamp", + "documentation":"

        The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the AsOf time is set to before it was deleted. If an AsOf is not provided, the default value is the current time.

        " + } + } + }, + "GetInvoiceUnitResponse":{ + "type":"structure", + "members":{ + "InvoiceUnitArn":{ + "shape":"InvoiceUnitArnString", + "documentation":"

        The ARN to identify an invoice unit. This information can't be modified or deleted.

        " + }, + "InvoiceReceiver":{ + "shape":"AccountIdString", + "documentation":"

        The Amazon Web Services account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID.

        " + }, + "Name":{ + "shape":"InvoiceUnitName", + "documentation":"

        The unique name of the invoice unit that is shown on the generated invoice.

        " + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

        The assigned description for an invoice unit.

        " + }, + "TaxInheritanceDisabled":{ + "shape":"TaxInheritanceDisabledFlag", + "documentation":"

        Whether the invoice unit based tax inheritance is/ should be enabled or disabled.

        ", + "box":true + }, + "Rule":{"shape":"InvoiceUnitRule"}, + "LastModified":{ + "shape":"LastModifiedTimestamp", + "documentation":"

        The most recent date the invoice unit response was updated.

        " + } + } + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "retryAfterSeconds":{ + "shape":"Integer", + "documentation":"

        The processing request failed because of an unknown error, exception, or failure.

        " + }, + "message":{"shape":"BasicString"} + }, + "documentation":"

        The processing request failed because of an unknown error, exception, or failure.

        ", + "exception":true, + "fault":true + }, + "InvoiceProfile":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountIdString", + "documentation":"

        The account ID the invoice profile is generated for.

        " + }, + "ReceiverName":{ + "shape":"BasicString", + "documentation":"

        The name of the person receiving the invoice profile.

        " + }, + "ReceiverAddress":{ + "shape":"ReceiverAddress", + "documentation":"

        The address of the receiver that will be printed on the invoice.

        " + }, + "ReceiverEmail":{ + "shape":"SensitiveBasicString", + "documentation":"

        The email address for the invoice profile receiver.

        " + }, + "Issuer":{ + "shape":"BasicString", + "documentation":"

        This specifies the issuing entity of the invoice.

        " + }, + "TaxRegistrationNumber":{ + "shape":"SensitiveBasicString", + "documentation":"

        Your Tax Registration Number (TRN) information.

        " + } + }, + "documentation":"

        Contains high-level information about the invoice receiver.

        " + }, + "InvoiceUnit":{ + "type":"structure", + "members":{ + "InvoiceUnitArn":{ + "shape":"InvoiceUnitArnString", + "documentation":"

        ARN to identify an invoice unit. This information can't be modified or deleted.

        " + }, + "InvoiceReceiver":{ + "shape":"AccountIdString", + "documentation":"

        The account that receives invoices related to the invoice unit.

        " + }, + "Name":{ + "shape":"InvoiceUnitName", + "documentation":"

        A unique name that is distinctive within your Amazon Web Services.

        " + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

        The assigned description for an invoice unit. This information can't be modified or deleted.

        " + }, + "TaxInheritanceDisabled":{ + "shape":"TaxInheritanceDisabledFlag", + "documentation":"

        Whether the invoice unit based tax inheritance is/ should be enabled or disabled.

        ", + "box":true + }, + "Rule":{ + "shape":"InvoiceUnitRule", + "documentation":"

        An InvoiceUnitRule object used the categorize invoice units.

        " + }, + "LastModified":{ + "shape":"LastModifiedTimestamp", + "documentation":"

        The last time the invoice unit was updated. This is important to determine the version of invoice unit configuration used to create the invoices. Any invoice created after this modified time will use this invoice unit configuration.

        " + } + }, + "documentation":"

        An invoice unit is a set of mutually exclusive accounts that correspond to your business entity. Invoice units allow you separate Amazon Web Services account costs and configures your invoice for each business entity going forward.

        " + }, + "InvoiceUnitArnString":{ + "type":"string", + "max":256, + "min":1, + "pattern":"arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+" + }, + "InvoiceUnitName":{ + "type":"string", + "max":50, + "min":1, + "pattern":"(?! )[\\p{L}\\p{N}\\p{Z}-_]*(?The list of LINKED_ACCOUNT IDs where charges are included within the invoice unit.

        " + } + }, + "documentation":"

        This is used to categorize the invoice unit. Values are Amazon Web Services account IDs. Currently, the only supported rule is LINKED_ACCOUNT.

        " + }, + "InvoiceUnits":{ + "type":"list", + "member":{"shape":"InvoiceUnit"} + }, + "LastModifiedTimestamp":{"type":"timestamp"}, + "ListInvoiceUnitsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"Filters", + "documentation":"

        An optional input to the list API. If multiple filters are specified, the returned list will be a configuration that match all of the provided filters. Supported filter types are InvoiceReceivers, Names, and Accounts.

        " + }, + "NextToken":{ + "shape":"NextTokenString", + "documentation":"

        The next token used to indicate where the returned list should start from.

        " + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

        The maximum number of invoice units that can be returned.

        " + }, + "AsOf":{ + "shape":"AsOfTimestamp", + "documentation":"

        The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the AsOf time is set to before it was deleted. If an AsOf is not provided, the default value is the current time.

        " + } + } + }, + "ListInvoiceUnitsResponse":{ + "type":"structure", + "members":{ + "InvoiceUnits":{ + "shape":"InvoiceUnits", + "documentation":"

        An invoice unit is a set of mutually exclusive accounts that correspond to your business entity.

        " + }, + "NextToken":{ + "shape":"NextTokenString", + "documentation":"

        The next token used to indicate where the returned list should start from.

        " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"TagrisArn", + "documentation":"

        The Amazon Resource Name (ARN) of tags to list.

        " + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "ResourceTags":{ + "shape":"ResourceTagList", + "documentation":"

        Adds a tag to a resource.

        " + } + } + }, + "MaxResultsInteger":{ + "type":"integer", + "box":true, + "max":500, + "min":1 + }, + "NextTokenString":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[\\S\\s]*" + }, + "ProfileList":{ + "type":"list", + "member":{"shape":"InvoiceProfile"} + }, + "ReceiverAddress":{ + "type":"structure", + "members":{ + "AddressLine1":{ + "shape":"BasicString", + "documentation":"

        The first line of the address.

        " + }, + "AddressLine2":{ + "shape":"BasicString", + "documentation":"

        The second line of the address, if applicable.

        " + }, + "AddressLine3":{ + "shape":"BasicString", + "documentation":"

        The third line of the address, if applicable.

        " + }, + "DistrictOrCounty":{ + "shape":"BasicString", + "documentation":"

        The district or country the address is located in.

        " + }, + "City":{ + "shape":"BasicString", + "documentation":"

        The city that the address is in.

        " + }, + "StateOrRegion":{ + "shape":"BasicString", + "documentation":"

        The state, region, or province the address is located.

        " + }, + "CountryCode":{ + "shape":"BasicString", + "documentation":"

        The country code for the country the address is in.

        " + }, + "CompanyName":{ + "shape":"BasicString", + "documentation":"

        A unique company name.

        " + }, + "PostalCode":{ + "shape":"BasicString", + "documentation":"

        The postal code associated with the address.

        " + } + }, + "documentation":"

        The details of the address associated with the receiver.

        ", + "sensitive":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"BasicString"}, + "resourceName":{ + "shape":"InvoiceUnitArnString", + "documentation":"

        The resource could not be found.

        " + } + }, + "documentation":"

        The resource could not be found.

        ", + "exception":true + }, + "ResourceTag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"ResourceTagKey", + "documentation":"

        The object key of your of your resource tag.

        " + }, + "Value":{ + "shape":"ResourceTagValue", + "documentation":"

        The specific value of the resource tag.

        " + } + }, + "documentation":"

        The tag structure that contains a tag key and value.

        " + }, + "ResourceTagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "ResourceTagKeyList":{ + "type":"list", + "member":{"shape":"ResourceTagKey"}, + "max":200, + "min":0 + }, + "ResourceTagList":{ + "type":"list", + "member":{"shape":"ResourceTag"}, + "max":200, + "min":0 + }, + "ResourceTagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "SensitiveBasicString":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"\\S+", + "sensitive":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"BasicString"} + }, + "documentation":"

        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.

        ", + "exception":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "ResourceTags" + ], + "members":{ + "ResourceArn":{ + "shape":"TagrisArn", + "documentation":"

        The Amazon Resource Name (ARN) of the tags.

        " + }, + "ResourceTags":{ + "shape":"ResourceTagList", + "documentation":"

        Adds a tag to a resource.

        " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagrisArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+" + }, + "TaxInheritanceDisabledFlag":{"type":"boolean"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"BasicString"} + }, + "documentation":"

        The request was denied due to request throttling.

        ", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "ResourceTagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"TagrisArn", + "documentation":"

        The Amazon Resource Name (ARN) to untag.

        " + }, + "ResourceTagKeys":{ + "shape":"ResourceTagKeyList", + "documentation":"

        Keys for the tags to be removed.

        " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateInvoiceUnitRequest":{ + "type":"structure", + "required":["InvoiceUnitArn"], + "members":{ + "InvoiceUnitArn":{ + "shape":"InvoiceUnitArnString", + "documentation":"

        The ARN to identify an invoice unit. This information can't be modified or deleted.

        " + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

        The assigned description for an invoice unit. This information can't be modified or deleted.

        " + }, + "TaxInheritanceDisabled":{ + "shape":"TaxInheritanceDisabledFlag", + "documentation":"

        Whether the invoice unit based tax inheritance is/ should be enabled or disabled.

        ", + "box":true + }, + "Rule":{ + "shape":"InvoiceUnitRule", + "documentation":"

        The InvoiceUnitRule object used to update invoice units.

        " + } + } + }, + "UpdateInvoiceUnitResponse":{ + "type":"structure", + "members":{ + "InvoiceUnitArn":{ + "shape":"InvoiceUnitArnString", + "documentation":"

        The ARN to identify an invoice unit. This information can't be modified or deleted.

        " + } + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"BasicString"}, + "resourceName":{ + "shape":"InvoiceUnitArnString", + "documentation":"

        You don't have sufficient access to perform this action.

        " + }, + "reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

        You don't have sufficient access to perform this action.

        " + }, + "fieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

        The input fails to satisfy the constraints specified by an Amazon Web Services service.

        " + } + }, + "documentation":"

        The input fails to satisfy the constraints specified by an Amazon Web Services service.

        ", + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "name", + "message" + ], + "members":{ + "name":{ + "shape":"BasicString", + "documentation":"

        The input fails to satisfy the constraints specified by an Amazon Web Services service.

        " + }, + "message":{ + "shape":"BasicString", + "documentation":"

        The input fails to satisfy the constraints specified by an Amazon Web Services service.

        " + } + }, + "documentation":"

        The input fails to satisfy the constraints specified by an Amazon Web Services service.

        " + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "nonMemberPresent", + "maxAccountsExceeded", + "maxInvoiceUnitsExceeded", + "duplicateInvoiceUnit", + "mutualExclusionError", + "accountMembershipError", + "taxSettingsError", + "expiredNextToken", + "invalidNextToken", + "invalidInput", + "fieldValidationFailed", + "cannotParse", + "unknownOperation", + "other" + ] + } + }, + "documentation":"

        Amazon Web Services Invoice Configuration

        You can use Amazon Web Services Invoice Configuration APIs to programmatically create, update, delete, get, and list invoice units. You can also programmatically fetch the information of the invoice receiver. For example, business legal name, address, and invoicing contacts.

        You can use Amazon Web Services Invoice Configuration to receive separate Amazon Web Services invoices based your organizational needs. By using Amazon Web Services Invoice Configuration, you can configure invoice units that are groups of Amazon Web Services accounts that represent your business entities, and receive separate invoices for each business entity. You can also assign a unique member or payer account as the invoice receiver for each invoice unit. As you create new accounts within your Organizations using Amazon Web Services Invoice Configuration APIs, you can automate the creation of new invoice units and subsequently automate the addition of new accounts to your invoice units.

        Service endpoint

        You can use the following endpoints for Amazon Web Services Invoice Configuration:

        • https://invoicing.us-east-1.api.aws

        " +} diff --git a/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json b/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json index 7e7a364a07f..6da54712c8d 100644 --- a/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json +++ b/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json @@ -257,6 +257,22 @@ ], "documentation":"

        Deletes a log-group level field index policy that was applied to a single log group. The indexing of the log events that happened before you delete the policy will still be used for as many as 30 days to improve CloudWatch Logs Insights queries.

        You can't use this operation to delete an account-level index policy. Instead, use DeletAccountPolicy.

        If you delete a log-group level field index policy and there is an account-level field index policy, in a few minutes the log group begins using that account-wide policy to index new incoming log events.

        " }, + "DeleteIntegration":{ + "name":"DeleteIntegration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIntegrationRequest"}, + "output":{"shape":"DeleteIntegrationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        Deletes the integration between CloudWatch Logs and OpenSearch Service. If your integration has active vended logs dashboards, you must specify true for the force parameter, otherwise the operation will fail. If you delete the integration by setting force to true, all your vended logs dashboards powered by OpenSearch Service will be deleted and the data that was on them will no longer be accessible.

        " + }, "DeleteLogAnomalyDetector":{ "name":"DeleteLogAnomalyDetector", "http":{ @@ -748,6 +764,21 @@ ], "documentation":"

        Retrieves complete information about one delivery source.

        " }, + "GetIntegration":{ + "name":"GetIntegration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetIntegrationRequest"}, + "output":{"shape":"GetIntegrationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

        Returns information about one integration between CloudWatch Logs and OpenSearch Service.

        " + }, "GetLogAnomalyDetector":{ "name":"GetLogAnomalyDetector", "http":{ @@ -858,6 +889,20 @@ ], "documentation":"

        Returns a list of anomalies that log anomaly detectors have found. For details about the structure format of each anomaly object that is returned, see the example in this section.

        " }, + "ListIntegrations":{ + "name":"ListIntegrations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListIntegrationsRequest"}, + "output":{"shape":"ListIntegrationsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

        Returns a list of integrations between CloudWatch Logs and other services in this account. Currently, only one integration can be created in an account, and this integration must be with OpenSearch Service.

        " + }, "ListLogAnomalyDetectors":{ "name":"ListLogAnomalyDetectors", "http":{ @@ -1052,6 +1097,22 @@ ], "documentation":"

        Creates or updates a field index policy for the specified log group. Only log groups in the Standard log class support field index policies. For more information about log classes, see Log classes.

        You can use field index policies to create field indexes on fields found in log events in the log group. Creating field indexes speeds up and lowers the costs for CloudWatch Logs Insights queries that reference those field indexes, because these queries attempt to skip the processing of log events that are known to not match the indexed field. Good fields to index are fields that you often need to query for and fields or values that match only a small fraction of the total log events. Common examples of indexes include request ID, session ID, userID, and instance IDs. For more information, see Create field indexes to improve query performance and reduce costs.

        To find the fields that are in your log group events, use the GetLogGroupFields operation.

        For example, suppose you have created a field index for requestId. Then, any CloudWatch Logs Insights query on that log group that includes requestId = value or requestId IN [value, value, ...] will process fewer log events to reduce costs, and have improved performance.

        Each index policy has the following quotas and restrictions:

        • As many as 20 fields can be included in the policy.

        • Each field name can include as many as 100 characters.

        Matches of log events to the names of indexed fields are case-sensitive. For example, a field index of RequestId won't match a log event containing requestId.

        Log group-level field index policies created with PutIndexPolicy override account-level field index policies created with PutAccountPolicy. If you use PutIndexPolicy to create a field index policy for a log group, that log group uses only that policy. The log group ignores any account-wide field index policy that you might have created.

        " }, + "PutIntegration":{ + "name":"PutIntegration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutIntegrationRequest"}, + "output":{"shape":"PutIntegrationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        Creates an integration between CloudWatch Logs and another service in this account. Currently, only integrations with OpenSearch Service are supported, and currently you can have only one integration in your account.

        Integrating with OpenSearch Service makes it possible for you to create curated vended logs dashboards, powered by OpenSearch Service analytics. For more information, see Vended log dashboards powered by Amazon OpenSearch Service.

        You can use this operation only to create a new integration. You can't modify an existing integration.

        " + }, "PutLogEvents":{ "name":"PutLogEvents", "http":{ @@ -1709,6 +1770,11 @@ "min":36, "pattern":"\\S{36,128}" }, + "CollectionRetentionDays":{ + "type":"integer", + "max":30, + "min":1 + }, "Column":{ "type":"string", "max":128, @@ -2006,6 +2072,10 @@ } } }, + "DashboardViewerPrincipals":{ + "type":"list", + "member":{"shape":"Arn"} + }, "DataAlreadyAcceptedException":{ "type":"structure", "members":{ @@ -2160,6 +2230,25 @@ "members":{ } }, + "DeleteIntegrationRequest":{ + "type":"structure", + "required":["integrationName"], + "members":{ + "integrationName":{ + "shape":"IntegrationName", + "documentation":"

        The name of the integration to delete. To find the name of your integration, use ListIntegrations.

        " + }, + "force":{ + "shape":"Force", + "documentation":"

        Specify true to force the deletion of the integration even if vended logs dashboards currently exist.

        The default is false.

        " + } + } + }, + "DeleteIntegrationResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteKeys":{ "type":"structure", "required":["withKeys"], @@ -2862,7 +2951,11 @@ "shape":"DescribeQueriesMaxResults", "documentation":"

        Limits the number of returned queries to the specified number.

        " }, - "nextToken":{"shape":"NextToken"} + "nextToken":{"shape":"NextToken"}, + "queryLanguage":{ + "shape":"QueryLanguage", + "documentation":"

        Limits the returned queries to only the queries that use the specified query language.

        " + } } }, "DescribeQueriesResponse":{ @@ -2878,6 +2971,10 @@ "DescribeQueryDefinitionsRequest":{ "type":"structure", "members":{ + "queryLanguage":{ + "shape":"QueryLanguage", + "documentation":"

        The query language used for this query. For more information about the query languages that CloudWatch Logs supports, see Supported query languages.

        " + }, "queryDefinitionNamePrefix":{ "shape":"QueryDefinitionName", "documentation":"

        Use this parameter to filter your results to only the query definitions that have names that start with the prefix you specify.

        " @@ -3411,6 +3508,7 @@ "last" ] }, + "Force":{"type":"boolean"}, "ForceUpdate":{"type":"boolean"}, "FromKey":{ "type":"string", @@ -3520,6 +3618,37 @@ } } }, + "GetIntegrationRequest":{ + "type":"structure", + "required":["integrationName"], + "members":{ + "integrationName":{ + "shape":"IntegrationName", + "documentation":"

        The name of the integration that you want to find information about. To find the name of your integration, use ListIntegrations

        " + } + } + }, + "GetIntegrationResponse":{ + "type":"structure", + "members":{ + "integrationName":{ + "shape":"IntegrationName", + "documentation":"

        The name of the integration.

        " + }, + "integrationType":{ + "shape":"IntegrationType", + "documentation":"

        The type of integration. Integrations with OpenSearch Service have the type OPENSEARCH.

        " + }, + "integrationStatus":{ + "shape":"IntegrationStatus", + "documentation":"

        The current status of this integration.

        " + }, + "integrationDetails":{ + "shape":"IntegrationDetails", + "documentation":"

        A structure that contains information about the integration configuration. For an integration with OpenSearch Service, this includes information about OpenSearch Service resources such as the collection, the workspace, and policies.

        " + } + } + }, "GetLogAnomalyDetectorRequest":{ "type":"structure", "required":["anomalyDetectorArn"], @@ -3689,6 +3818,10 @@ "GetQueryResultsResponse":{ "type":"structure", "members":{ + "queryLanguage":{ + "shape":"QueryLanguage", + "documentation":"

        The query language used for this query. For more information about the query languages that CloudWatch Logs supports, see Supported query languages.

        " + }, "results":{ "shape":"QueryResults", "documentation":"

        The log events that matched the query criteria during the most recent time it ran.

        The results value is an array of arrays. Each log event is one object in the top-level array. Each of these log event objects is an array of field/value pairs.

        " @@ -3844,6 +3977,67 @@ "min":1 }, "Integer":{"type":"integer"}, + "IntegrationDetails":{ + "type":"structure", + "members":{ + "openSearchIntegrationDetails":{ + "shape":"OpenSearchIntegrationDetails", + "documentation":"

        This structure contains complete information about one integration between CloudWatch Logs and OpenSearch Service.

        " + } + }, + "documentation":"

        This structure contains information about the integration configuration. For an integration with OpenSearch Service, this includes information about OpenSearch Service resources such as the collection, the workspace, and policies.

        This structure is returned by a GetIntegration operation.

        ", + "union":true + }, + "IntegrationName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\.\\-_/#A-Za-z0-9]+" + }, + "IntegrationNamePrefix":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\.\\-_/#A-Za-z0-9]+" + }, + "IntegrationStatus":{ + "type":"string", + "enum":[ + "PROVISIONING", + "ACTIVE", + "FAILED" + ] + }, + "IntegrationStatusMessage":{ + "type":"string", + "min":1 + }, + "IntegrationSummaries":{ + "type":"list", + "member":{"shape":"IntegrationSummary"} + }, + "IntegrationSummary":{ + "type":"structure", + "members":{ + "integrationName":{ + "shape":"IntegrationName", + "documentation":"

        The name of this integration.

        " + }, + "integrationType":{ + "shape":"IntegrationType", + "documentation":"

        The type of integration. Integrations with OpenSearch Service have the type OPENSEARCH.

        " + }, + "integrationStatus":{ + "shape":"IntegrationStatus", + "documentation":"

        The current status of this integration.

        " + } + }, + "documentation":"

        This structure contains information about one CloudWatch Logs integration. This structure is returned by a ListIntegrations operation.

        " + }, + "IntegrationType":{ + "type":"string", + "enum":["OPENSEARCH"] + }, "Interleaved":{"type":"boolean"}, "InvalidOperationException":{ "type":"structure", @@ -3927,6 +4121,32 @@ "nextToken":{"shape":"NextToken"} } }, + "ListIntegrationsRequest":{ + "type":"structure", + "members":{ + "integrationNamePrefix":{ + "shape":"IntegrationNamePrefix", + "documentation":"

        To limit the results to integrations that start with a certain name prefix, specify that name prefix here.

        " + }, + "integrationType":{ + "shape":"IntegrationType", + "documentation":"

        To limit the results to integrations of a certain type, specify that type here.

        " + }, + "integrationStatus":{ + "shape":"IntegrationStatus", + "documentation":"

        To limit the results to integrations with a certain status, specify that status here.

        " + } + } + }, + "ListIntegrationsResponse":{ + "type":"structure", + "members":{ + "integrationSummaries":{ + "shape":"IntegrationSummaries", + "documentation":"

        An array, where each object in the array contains information about one CloudWatch Logs integration in this account.

        " + } + } + }, "ListLogAnomalyDetectorsLimit":{ "type":"integer", "max":50, @@ -4547,6 +4767,257 @@ "max":128, "min":1 }, + "OpenSearchApplication":{ + "type":"structure", + "members":{ + "applicationEndpoint":{ + "shape":"OpenSearchApplicationEndpoint", + "documentation":"

        The endpoint of the application.

        " + }, + "applicationArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the application.

        " + }, + "applicationId":{ + "shape":"OpenSearchApplicationId", + "documentation":"

        The ID of the application.

        " + }, + "status":{ + "shape":"OpenSearchResourceStatus", + "documentation":"

        This structure contains information about the status of this OpenSearch Service resource.

        " + } + }, + "documentation":"

        This structure contains information about the OpenSearch Service application used for this integration. An OpenSearch Service application is the web application created by the integration with CloudWatch Logs. It hosts the vended logs dashboards.

        " + }, + "OpenSearchApplicationEndpoint":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^https://[\\.\\-_/#:A-Za-z0-9]+\\.com$" + }, + "OpenSearchApplicationId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\.\\-_/#A-Za-z0-9]+" + }, + "OpenSearchCollection":{ + "type":"structure", + "members":{ + "collectionEndpoint":{ + "shape":"OpenSearchCollectionEndpoint", + "documentation":"

        The endpoint of the collection.

        " + }, + "collectionArn":{ + "shape":"Arn", + "documentation":"

        The ARN of the collection.

        " + }, + "status":{ + "shape":"OpenSearchResourceStatus", + "documentation":"

        This structure contains information about the status of this OpenSearch Service resource.

        " + } + }, + "documentation":"

        This structure contains information about the OpenSearch Service collection used for this integration. An OpenSearch Service collection is a logical grouping of one or more indexes that represent an analytics workload. For more information, see Creating and managing OpenSearch Service Serverless collections.

        " + }, + "OpenSearchCollectionEndpoint":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^https://[\\.\\-_/#:A-Za-z0-9]+\\.com$" + }, + "OpenSearchDataAccessPolicy":{ + "type":"structure", + "members":{ + "policyName":{ + "shape":"OpenSearchPolicyName", + "documentation":"

        The name of the data access policy.

        " + }, + "status":{ + "shape":"OpenSearchResourceStatus", + "documentation":"

        This structure contains information about the status of this OpenSearch Service resource.

        " + } + }, + "documentation":"

        This structure contains information about the OpenSearch Service data access policy used for this integration. The access policy defines the access controls for the collection. This data access policy was automatically created as part of the integration setup. For more information about OpenSearch Service data access policies, see Data access control for Amazon OpenSearch Serverless in the OpenSearch Service Developer Guide.

        " + }, + "OpenSearchDataSource":{ + "type":"structure", + "members":{ + "dataSourceName":{ + "shape":"OpenSearchDataSourceName", + "documentation":"

        The name of the OpenSearch Service data source.

        " + }, + "status":{ + "shape":"OpenSearchResourceStatus", + "documentation":"

        This structure contains information about the status of this OpenSearch Service resource.

        " + } + }, + "documentation":"

        This structure contains information about the OpenSearch Service data source used for this integration. This data source was created as part of the integration setup. An OpenSearch Service data source defines the source and destination for OpenSearch Service queries. It includes the role required to execute queries and write to collections.

        For more information about OpenSearch Service data sources , see Creating OpenSearch Service data source integrations with Amazon S3.

        " + }, + "OpenSearchDataSourceName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\.\\-_/#A-Za-z0-9]+" + }, + "OpenSearchEncryptionPolicy":{ + "type":"structure", + "members":{ + "policyName":{ + "shape":"OpenSearchPolicyName", + "documentation":"

        The name of the encryption policy.

        " + }, + "status":{ + "shape":"OpenSearchResourceStatus", + "documentation":"

        This structure contains information about the status of this OpenSearch Service resource.

        " + } + }, + "documentation":"

        This structure contains information about the OpenSearch Service encryption policy used for this integration. The encryption policy was created automatically when you created the integration. For more information, see Encryption policies in the OpenSearch Service Developer Guide.

        " + }, + "OpenSearchIntegrationDetails":{ + "type":"structure", + "members":{ + "dataSource":{ + "shape":"OpenSearchDataSource", + "documentation":"

        This structure contains information about the OpenSearch Service data source used for this integration. This data source was created as part of the integration setup. An OpenSearch Service data source defines the source and destination for OpenSearch Service queries. It includes the role required to execute queries and write to collections.

        For more information about OpenSearch Service data sources , see Creating OpenSearch Service data source integrations with Amazon S3.

        " + }, + "application":{ + "shape":"OpenSearchApplication", + "documentation":"

        This structure contains information about the OpenSearch Service application used for this integration. An OpenSearch Service application is the web application that was created by the integration with CloudWatch Logs. It hosts the vended logs dashboards.

        " + }, + "collection":{ + "shape":"OpenSearchCollection", + "documentation":"

        This structure contains information about the OpenSearch Service collection used for this integration. This collection was created as part of the integration setup. An OpenSearch Service collection is a logical grouping of one or more indexes that represent an analytics workload. For more information, see Creating and managing OpenSearch Service Serverless collections.

        " + }, + "workspace":{ + "shape":"OpenSearchWorkspace", + "documentation":"

        This structure contains information about the OpenSearch Service workspace used for this integration. An OpenSearch Service workspace is the collection of dashboards along with other OpenSearch Service tools. This workspace was created automatically as part of the integration setup. For more information, see Centralized OpenSearch user interface (Dashboards) with OpenSearch Service.

        " + }, + "encryptionPolicy":{ + "shape":"OpenSearchEncryptionPolicy", + "documentation":"

        This structure contains information about the OpenSearch Service encryption policy used for this integration. The encryption policy was created automatically when you created the integration. For more information, see Encryption policies in the OpenSearch Service Developer Guide.

        " + }, + "networkPolicy":{ + "shape":"OpenSearchNetworkPolicy", + "documentation":"

        This structure contains information about the OpenSearch Service network policy used for this integration. The network policy assigns network access settings to collections. For more information, see Network policies in the OpenSearch Service Developer Guide.

        " + }, + "accessPolicy":{ + "shape":"OpenSearchDataAccessPolicy", + "documentation":"

        This structure contains information about the OpenSearch Service data access policy used for this integration. The access policy defines the access controls for the collection. This data access policy was automatically created as part of the integration setup. For more information about OpenSearch Service data access policies, see Data access control for Amazon OpenSearch Serverless in the OpenSearch Service Developer Guide.

        " + }, + "lifecyclePolicy":{ + "shape":"OpenSearchLifecyclePolicy", + "documentation":"

        This structure contains information about the OpenSearch Service data lifecycle policy used for this integration. The lifecycle policy determines the lifespan of the data in the collection. It was automatically created as part of the integration setup.

        For more information, see Using data lifecycle policies with OpenSearch Service Serverless in the OpenSearch Service Developer Guide.

        " + } + }, + "documentation":"

        This structure contains complete information about one CloudWatch Logs integration. This structure is returned by a GetIntegration operation.

        " + }, + "OpenSearchLifecyclePolicy":{ + "type":"structure", + "members":{ + "policyName":{ + "shape":"OpenSearchPolicyName", + "documentation":"

        The name of the lifecycle policy.

        " + }, + "status":{ + "shape":"OpenSearchResourceStatus", + "documentation":"

        This structure contains information about the status of this OpenSearch Service resource.

        " + } + }, + "documentation":"

        This structure contains information about the OpenSearch Service data lifecycle policy used for this integration. The lifecycle policy determines the lifespan of the data in the collection. It was automatically created as part of the integration setup.

        For more information, see Using data lifecycle policies with OpenSearch Service Serverless in the OpenSearch Service Developer Guide.

        " + }, + "OpenSearchNetworkPolicy":{ + "type":"structure", + "members":{ + "policyName":{ + "shape":"OpenSearchPolicyName", + "documentation":"

        The name of the network policy.

        " + }, + "status":{ + "shape":"OpenSearchResourceStatus", + "documentation":"

        This structure contains information about the status of this OpenSearch Service resource.

        " + } + }, + "documentation":"

        This structure contains information about the OpenSearch Service network policy used for this integration. The network policy assigns network access settings to collections. For more information, see Network policies in the OpenSearch Service Developer Guide.

        " + }, + "OpenSearchPolicyName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\.\\-_/#A-Za-z0-9]+" + }, + "OpenSearchResourceConfig":{ + "type":"structure", + "required":[ + "dataSourceRoleArn", + "dashboardViewerPrincipals", + "retentionDays" + ], + "members":{ + "kmsKeyArn":{ + "shape":"Arn", + "documentation":"

        To have the vended dashboard data encrypted with KMS instead of the CloudWatch Logs default encryption method, specify the ARN of the KMS key that you want to use.

        " + }, + "dataSourceRoleArn":{ + "shape":"Arn", + "documentation":"

        Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see Create an IAM role to access the OpenSearch Service collection in the CloudWatch Logs User Guide.

        " + }, + "dashboardViewerPrincipals":{ + "shape":"DashboardViewerPrincipals", + "documentation":"

        Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards.

        In addition to specifying these users here, you must also grant them the CloudWatchOpenSearchDashboardsAccess IAM policy. For more information, see

        " + }, + "applicationArn":{ + "shape":"Arn", + "documentation":"

        If you want to use an existing OpenSearch Service application for your integration with OpenSearch Service, specify it here. If you omit this, a new application will be created.

        " + }, + "retentionDays":{ + "shape":"CollectionRetentionDays", + "documentation":"

        Specify how many days that you want the data derived by OpenSearch Service to be retained in the index that the dashboard refers to. This also sets the maximum time period that you can choose when viewing data in the dashboard. Choosing a longer time frame will incur additional costs.

        " + } + }, + "documentation":"

        This structure contains configuration details about an integration between CloudWatch Logs and OpenSearch Service.

        " + }, + "OpenSearchResourceStatus":{ + "type":"structure", + "members":{ + "status":{ + "shape":"OpenSearchResourceStatusType", + "documentation":"

        The current status of this resource.

        " + }, + "statusMessage":{ + "shape":"IntegrationStatusMessage", + "documentation":"

        A message with additional information about the status of this resource.

        " + } + }, + "documentation":"

        This structure contains information about the status of an OpenSearch Service resource.

        " + }, + "OpenSearchResourceStatusType":{ + "type":"string", + "enum":[ + "ACTIVE", + "NOT_FOUND", + "ERROR" + ] + }, + "OpenSearchWorkspace":{ + "type":"structure", + "members":{ + "workspaceId":{ + "shape":"OpenSearchWorkspaceId", + "documentation":"

        The ID of this workspace.

        " + }, + "status":{ + "shape":"OpenSearchResourceStatus", + "documentation":"

        This structure contains information about the status of an OpenSearch Service resource.

        " + } + }, + "documentation":"

        This structure contains information about the OpenSearch Service workspace used for this integration. An OpenSearch Service workspace is the collection of dashboards along with other OpenSearch Service tools. This workspace was created automatically as part of the integration setup. For more information, see Centralized OpenSearch user interface (Dashboards) with OpenSearch Service.

        " + }, + "OpenSearchWorkspaceId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\.\\-_/#A-Za-z0-9]+" + }, "OperationAbortedException":{ "type":"structure", "members":{ @@ -5128,6 +5599,41 @@ } } }, + "PutIntegrationRequest":{ + "type":"structure", + "required":[ + "integrationName", + "resourceConfig", + "integrationType" + ], + "members":{ + "integrationName":{ + "shape":"IntegrationName", + "documentation":"

        A name for the integration.

        " + }, + "resourceConfig":{ + "shape":"ResourceConfig", + "documentation":"

        A structure that contains configuration information for the integration that you are creating.

        " + }, + "integrationType":{ + "shape":"IntegrationType", + "documentation":"

        The type of integration. Currently, the only supported type is OPENSEARCH.

        " + } + } + }, + "PutIntegrationResponse":{ + "type":"structure", + "members":{ + "integrationName":{ + "shape":"IntegrationName", + "documentation":"

        The name of the integration that you just created.

        " + }, + "integrationStatus":{ + "shape":"IntegrationStatus", + "documentation":"

        The status of the integration that you just created.

        After you create an integration, it takes a few minutes to complete. During this time, you'll see the status as PROVISIONING.

        " + } + } + }, "PutLogEventsRequest":{ "type":"structure", "required":[ @@ -5213,6 +5719,10 @@ "queryString" ], "members":{ + "queryLanguage":{ + "shape":"QueryLanguage", + "documentation":"

        Specify the query language to use for this query. The options are Logs Insights QL, OpenSearch PPL, and OpenSearch SQL. For more information about the query languages that CloudWatch Logs supports, see Supported query languages.

        " + }, "name":{ "shape":"QueryDefinitionName", "documentation":"

        A name for the query definition. If you are saving numerous query definitions, we recommend that you name them. This way, you can find the ones you want by using the first part of the name as a filter in the queryDefinitionNamePrefix parameter of DescribeQueryDefinitions.

        " @@ -5223,7 +5733,7 @@ }, "logGroupNames":{ "shape":"LogGroupNames", - "documentation":"

        Use this parameter to include specific log groups as part of your query definition.

        If you are updating a query definition and you omit this parameter, then the updated definition will contain no log groups.

        " + "documentation":"

        Use this parameter to include specific log groups as part of your query definition. If your query uses the OpenSearch Service query language, you specify the log group names inside the querystring instead of here.

        If you are updating an existing query definition for the Logs Insights QL or OpenSearch Service PPL and you omit this parameter, then the updated definition will contain no log groups.

        " }, "queryString":{ "shape":"QueryDefinitionString", @@ -5369,6 +5879,10 @@ "QueryDefinition":{ "type":"structure", "members":{ + "queryLanguage":{ + "shape":"QueryLanguage", + "documentation":"

        The query language used for this query. For more information about the query languages that CloudWatch Logs supports, see Supported query languages.

        " + }, "queryDefinitionId":{ "shape":"QueryId", "documentation":"

        The unique ID of the query definition.

        " @@ -5414,6 +5928,10 @@ "QueryInfo":{ "type":"structure", "members":{ + "queryLanguage":{ + "shape":"QueryLanguage", + "documentation":"

        The query language used for this query. For more information about the query languages that CloudWatch Logs supports, see Supported query languages.

        " + }, "queryId":{ "shape":"QueryId", "documentation":"

        The unique ID number of this query.

        " @@ -5441,6 +5959,14 @@ "type":"list", "member":{"shape":"QueryInfo"} }, + "QueryLanguage":{ + "type":"string", + "enum":[ + "CWLI", + "SQL", + "PPL" + ] + }, "QueryListMaxResults":{ "type":"integer", "max":1000, @@ -5611,6 +6137,17 @@ "type":"list", "member":{"shape":"Arn"} }, + "ResourceConfig":{ + "type":"structure", + "members":{ + "openSearchResourceConfig":{ + "shape":"OpenSearchResourceConfig", + "documentation":"

        This structure contains configuration details about an integration between CloudWatch Logs and OpenSearch Service.

        " + } + }, + "documentation":"

        This structure contains configuration details about an integration between CloudWatch Logs and another entity.

        ", + "union":true + }, "ResourceIdentifier":{ "type":"string", "max":2048, @@ -5909,17 +6446,21 @@ "queryString" ], "members":{ + "queryLanguage":{ + "shape":"QueryLanguage", + "documentation":"

        Specify the query language to use for this query. The options are Logs Insights QL, OpenSearch PPL, and OpenSearch SQL. For more information about the query languages that CloudWatch Logs supports, see Supported query languages.

        " + }, "logGroupName":{ "shape":"LogGroupName", - "documentation":"

        The log group on which to perform the query.

        " + "documentation":"

        The log group on which to perform the query.

        A StartQuery operation must include exactly one of the following parameters: logGroupName, logGroupNames, or logGroupIdentifiers. The exception is queries using the OpenSearch Service SQL query language, where you specify the log group names inside the querystring instead of here.

        " }, "logGroupNames":{ "shape":"LogGroupNames", - "documentation":"

        The list of log groups to be queried. You can include up to 50 log groups.

        " + "documentation":"

        The list of log groups to be queried. You can include up to 50 log groups.

        A StartQuery operation must include exactly one of the following parameters: logGroupName, logGroupNames, or logGroupIdentifiers. The exception is queries using the OpenSearch Service SQL query language, where you specify the log group names inside the querystring instead of here.

        " }, "logGroupIdentifiers":{ "shape":"LogGroupIdentifiers", - "documentation":"

        The list of log groups to query. You can include up to 50 log groups.

        You can specify them by the log group name or ARN. If a log group that you're querying is in a source account and you're using a monitoring account, you must specify the ARN of the log group here. The query definition must also be defined in the monitoring account.

        If you specify an ARN, use the format arn:aws:logs:region:account-id:log-group:log_group_name Don't include an * at the end.

        A StartQuery operation must include exactly one of the following parameters: logGroupName, logGroupNames, or logGroupIdentifiers.

        " + "documentation":"

        The list of log groups to query. You can include up to 50 log groups.

        You can specify them by the log group name or ARN. If a log group that you're querying is in a source account and you're using a monitoring account, you must specify the ARN of the log group here. The query definition must also be defined in the monitoring account.

        If you specify an ARN, use the format arn:aws:logs:region:account-id:log-group:log_group_name Don't include an * at the end.

        A StartQuery operation must include exactly one of the following parameters: logGroupName, logGroupNames, or logGroupIdentifiers. The exception is queries using the OpenSearch Service SQL query language, where you specify the log group names inside the querystring instead of here.

        " }, "startTime":{ "shape":"Timestamp", diff --git a/tools/code-generation/api-descriptions/memorydb-2021-01-01.normal.json b/tools/code-generation/api-descriptions/memorydb-2021-01-01.normal.json index cea8d96bc70..91448f18a38 100644 --- a/tools/code-generation/api-descriptions/memorydb-2021-01-01.normal.json +++ b/tools/code-generation/api-descriptions/memorydb-2021-01-01.normal.json @@ -93,10 +93,30 @@ {"shape":"InvalidCredentialsException"}, {"shape":"TagQuotaPerResourceExceeded"}, {"shape":"ACLNotFoundFault"}, - {"shape":"InvalidACLStateFault"} + {"shape":"InvalidACLStateFault"}, + {"shape":"MultiRegionClusterNotFoundFault"}, + {"shape":"InvalidMultiRegionClusterStateFault"} ], "documentation":"

        Creates a cluster. All nodes in the cluster run the same protocol-compliant engine software.

        " }, + "CreateMultiRegionCluster":{ + "name":"CreateMultiRegionCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateMultiRegionClusterRequest"}, + "output":{"shape":"CreateMultiRegionClusterResponse"}, + "errors":[ + {"shape":"MultiRegionClusterAlreadyExistsFault"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MultiRegionParameterGroupNotFoundFault"}, + {"shape":"ClusterQuotaForCustomerExceededFault"}, + {"shape":"TagQuotaPerResourceExceeded"} + ], + "documentation":"

        Creates a new multi-Region cluster.

        " + }, "CreateParameterGroup":{ "name":"CreateParameterGroup", "http":{ @@ -204,7 +224,22 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

        Deletes a cluster. It also deletes all associated nodes and node endpoints

        " + "documentation":"

        Deletes a cluster. It also deletes all associated nodes and node endpoints.

        CreateSnapshot permission is required to create a final snapshot. Without this permission, the API call will fail with an Access Denied exception.

        " + }, + "DeleteMultiRegionCluster":{ + "name":"DeleteMultiRegionCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMultiRegionClusterRequest"}, + "output":{"shape":"DeleteMultiRegionClusterResponse"}, + "errors":[ + {"shape":"MultiRegionClusterNotFoundFault"}, + {"shape":"InvalidMultiRegionClusterStateFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

        Deletes an existing multi-Region cluster.

        " }, "DeleteParameterGroup":{ "name":"DeleteParameterGroup", @@ -282,7 +317,7 @@ {"shape":"ACLNotFoundFault"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

        Returns a list of ACLs

        " + "documentation":"

        Returns a list of ACLs.

        " }, "DescribeClusters":{ "name":"DescribeClusters", @@ -313,7 +348,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

        Returns a list of the available engine versions.

        " + "documentation":"

        Returns a list of the available Redis OSS engine versions.

        " }, "DescribeEvents":{ "name":"DescribeEvents", @@ -330,6 +365,22 @@ ], "documentation":"

        Returns events related to clusters, security groups, and parameter groups. You can obtain events specific to a particular cluster, security group, or parameter group by providing the name as a parameter. By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

        " }, + "DescribeMultiRegionClusters":{ + "name":"DescribeMultiRegionClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMultiRegionClustersRequest"}, + "output":{"shape":"DescribeMultiRegionClustersResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MultiRegionClusterNotFoundFault"} + ], + "documentation":"

        Returns details about one or more multi-Region clusters.

        " + }, "DescribeParameterGroups":{ "name":"DescribeParameterGroups", "http":{ @@ -406,7 +457,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

        Returns details of the service updates

        " + "documentation":"

        Returns details of the service updates.

        " }, "DescribeSnapshots":{ "name":"DescribeSnapshots", @@ -472,6 +523,21 @@ ], "documentation":"

        Used to failover a shard. This API is designed for testing the behavior of your application in case of MemoryDB failover. It is not designed to be used as a production-level tool for initiating a failover to overcome a problem you may have with the cluster. Moreover, in certain conditions such as large scale operational events, Amazon may block this API.

        " }, + "ListAllowedMultiRegionClusterUpdates":{ + "name":"ListAllowedMultiRegionClusterUpdates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAllowedMultiRegionClusterUpdatesRequest"}, + "output":{"shape":"ListAllowedMultiRegionClusterUpdatesResponse"}, + "errors":[ + {"shape":"MultiRegionClusterNotFoundFault"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

        Lists the allowed updates for a multi-Region cluster.

        " + }, "ListAllowedNodeTypeUpdates":{ "name":"ListAllowedNodeTypeUpdates", "http":{ @@ -505,9 +571,11 @@ {"shape":"InvalidARNFault"}, {"shape":"ServiceLinkedRoleNotFoundFault"}, {"shape":"UserNotFoundFault"}, - {"shape":"ACLNotFoundFault"} + {"shape":"ACLNotFoundFault"}, + {"shape":"MultiRegionClusterNotFoundFault"}, + {"shape":"MultiRegionParameterGroupNotFoundFault"} ], - "documentation":"

        Lists all tags currently on a named resource. A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track your MemoryDB resources. For more information, see Tagging your MemoryDB resources

        " + "documentation":"

        Lists all tags currently on a named resource. A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track your MemoryDB resources. For more information, see Tagging your MemoryDB resources.

        " }, "PurchaseReservedNodesOffering":{ "name":"PurchaseReservedNodesOffering", @@ -561,9 +629,12 @@ {"shape":"SnapshotNotFoundFault"}, {"shape":"UserNotFoundFault"}, {"shape":"ACLNotFoundFault"}, + {"shape":"MultiRegionClusterNotFoundFault"}, + {"shape":"MultiRegionParameterGroupNotFoundFault"}, {"shape":"TagQuotaPerResourceExceeded"}, {"shape":"InvalidARNFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"} + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"} ], "documentation":"

        A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. For more information, see Resource-level permissions.

        For example, you can use cost-allocation tags to your MemoryDB resources, Amazon generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags.

        " }, @@ -585,9 +656,12 @@ {"shape":"TagNotFoundFault"}, {"shape":"ServiceLinkedRoleNotFoundFault"}, {"shape":"UserNotFoundFault"}, - {"shape":"ACLNotFoundFault"} + {"shape":"ACLNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MultiRegionClusterNotFoundFault"}, + {"shape":"MultiRegionParameterGroupNotFoundFault"} ], - "documentation":"

        Use this operation to remove tags on a resource

        " + "documentation":"

        Use this operation to remove tags on a resource.

        " }, "UpdateACL":{ "name":"UpdateACL", @@ -636,6 +710,23 @@ ], "documentation":"

        Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration settings by specifying the settings and the new values.

        " }, + "UpdateMultiRegionCluster":{ + "name":"UpdateMultiRegionCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMultiRegionClusterRequest"}, + "output":{"shape":"UpdateMultiRegionClusterResponse"}, + "errors":[ + {"shape":"MultiRegionClusterNotFoundFault"}, + {"shape":"MultiRegionParameterGroupNotFoundFault"}, + {"shape":"InvalidMultiRegionClusterStateFault"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

        Updates the configuration of an existing multi-Region cluster.

        " + }, "UpdateParameterGroup":{ "name":"UpdateParameterGroup", "http":{ @@ -898,6 +989,10 @@ "shape":"ClusterPendingUpdates", "documentation":"

        A group of settings that are currently being applied.

        " }, + "MultiRegionClusterName":{ + "shape":"String", + "documentation":"

        The name of the multi-Region cluster that this cluster belongs to.

        " + }, "NumberOfShards":{ "shape":"IntegerOptional", "documentation":"

        The number of shards in the cluster

        " @@ -920,15 +1015,15 @@ }, "Engine":{ "shape":"String", - "documentation":"

        The Redis OSS or Valkey engine used by the cluster.

        " + "documentation":"

        The name of the engine used by the cluster.

        " }, "EngineVersion":{ "shape":"String", - "documentation":"

        The Redis engine version used by the cluster

        " + "documentation":"

        The Redis OSS engine version used by the cluster

        " }, "EnginePatchVersion":{ "shape":"String", - "documentation":"

        The engine patch version used by the cluster

        " + "documentation":"

        The Redis OSS engine patch version used by the cluster

        " }, "ParameterGroupName":{ "shape":"String", @@ -1017,11 +1112,11 @@ }, "Engine":{ "shape":"String", - "documentation":"

        The configuration for the Redis OSS or Valkey engine used by the cluster.

        " + "documentation":"

        The name of the engine used by the cluster configuration.

        " }, "EngineVersion":{ "shape":"String", - "documentation":"

        The engine version used by the cluster

        " + "documentation":"

        The Redis OSS engine version used by the cluster

        " }, "MaintenanceWindow":{ "shape":"String", @@ -1062,6 +1157,14 @@ "Shards":{ "shape":"ShardDetails", "documentation":"

        The list of shards in the cluster

        " + }, + "MultiRegionParameterGroupName":{ + "shape":"String", + "documentation":"

        The name of the multi-Region parameter group associated with the cluster configuration.

        " + }, + "MultiRegionClusterName":{ + "shape":"String", + "documentation":"

        The name for the multi-Region cluster associated with the cluster configuration.

        " } }, "documentation":"

        A list of cluster configuration options.

        " @@ -1188,6 +1291,10 @@ "shape":"String", "documentation":"

        The compute and memory capacity of the nodes in the cluster.

        " }, + "MultiRegionClusterName":{ + "shape":"String", + "documentation":"

        The name of the multi-Region cluster to be created.

        " + }, "ParameterGroupName":{ "shape":"String", "documentation":"

        The name of the parameter group associated with the cluster.

        " @@ -1258,11 +1365,11 @@ }, "Engine":{ "shape":"String", - "documentation":"

        The name of the engine to be used for the nodes in this cluster. The value must be set to either Redis or Valkey.

        " + "documentation":"

        The name of the engine to be used for the cluster.

        " }, "EngineVersion":{ "shape":"String", - "documentation":"

        The version number of the engine to be used for the cluster.

        " + "documentation":"

        The version number of the Redis OSS engine to be used for the cluster.

        " }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", @@ -1283,6 +1390,60 @@ } } }, + "CreateMultiRegionClusterRequest":{ + "type":"structure", + "required":[ + "MultiRegionClusterNameSuffix", + "NodeType" + ], + "members":{ + "MultiRegionClusterNameSuffix":{ + "shape":"String", + "documentation":"

        A suffix to be added to the multi-Region cluster name.

        " + }, + "Description":{ + "shape":"String", + "documentation":"

        A description for the multi-Region cluster.

        " + }, + "Engine":{ + "shape":"String", + "documentation":"

        The name of the engine to be used for the multi-Region cluster.

        " + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

        The version of the engine to be used for the multi-Region cluster.

        " + }, + "NodeType":{ + "shape":"String", + "documentation":"

        The node type to be used for the multi-Region cluster.

        " + }, + "MultiRegionParameterGroupName":{ + "shape":"String", + "documentation":"

        The name of the multi-Region parameter group to be associated with the cluster.

        " + }, + "NumShards":{ + "shape":"IntegerOptional", + "documentation":"

        The number of shards for the multi-Region cluster.

        " + }, + "TLSEnabled":{ + "shape":"BooleanOptional", + "documentation":"

        Whether to enable TLS encryption for the multi-Region cluster.

        " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

        A list of tags to be applied to the multi-Region cluster.

        " + } + } + }, + "CreateMultiRegionClusterResponse":{ + "type":"structure", + "members":{ + "MultiRegionCluster":{ + "shape":"MultiRegionCluster", + "documentation":"

        Details about the newly created multi-Region cluster.

        " + } + } + }, "CreateParameterGroupRequest":{ "type":"structure", "required":[ @@ -1381,7 +1542,7 @@ "members":{ "SubnetGroup":{ "shape":"SubnetGroup", - "documentation":"

        The newly-created subnet group

        " + "documentation":"

        The newly-created subnet group.

        " } } }, @@ -1440,7 +1601,7 @@ "members":{ "ACLName":{ "shape":"String", - "documentation":"

        The name of the Access Control List to delete

        " + "documentation":"

        The name of the Access Control List to delete.

        " } } }, @@ -1461,6 +1622,10 @@ "shape":"String", "documentation":"

        The name of the cluster to be deleted

        " }, + "MultiRegionClusterName":{ + "shape":"String", + "documentation":"

        The name of the multi-Region cluster to be deleted.

        " + }, "FinalSnapshotName":{ "shape":"String", "documentation":"

        The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. MemoryDB creates the snapshot, and then deletes the cluster immediately afterward.

        " @@ -1472,7 +1637,26 @@ "members":{ "Cluster":{ "shape":"Cluster", - "documentation":"

        The cluster object that has been deleted

        " + "documentation":"

        The cluster object that has been deleted.

        " + } + } + }, + "DeleteMultiRegionClusterRequest":{ + "type":"structure", + "required":["MultiRegionClusterName"], + "members":{ + "MultiRegionClusterName":{ + "shape":"String", + "documentation":"

        The name of the multi-Region cluster to be deleted.

        " + } + } + }, + "DeleteMultiRegionClusterResponse":{ + "type":"structure", + "members":{ + "MultiRegionCluster":{ + "shape":"MultiRegionCluster", + "documentation":"

        Details about the deleted multi-Region cluster.

        " } } }, @@ -1501,7 +1685,7 @@ "members":{ "SnapshotName":{ "shape":"String", - "documentation":"

        The name of the snapshot to delete

        " + "documentation":"

        The name of the snapshot to delete.

        " } } }, @@ -1520,7 +1704,7 @@ "members":{ "SubnetGroupName":{ "shape":"String", - "documentation":"

        The name of the subnet group to delete

        " + "documentation":"

        The name of the subnet group to delete.

        " } } }, @@ -1557,7 +1741,7 @@ "members":{ "ACLName":{ "shape":"String", - "documentation":"

        The name of the ACL

        " + "documentation":"

        The name of the ACL.

        " }, "MaxResults":{ "shape":"IntegerOptional", @@ -1574,7 +1758,7 @@ "members":{ "ACLs":{ "shape":"ACLList", - "documentation":"

        The list of ACLs

        " + "documentation":"

        The list of ACLs.

        " }, "NextToken":{ "shape":"String", @@ -1587,7 +1771,7 @@ "members":{ "ClusterName":{ "shape":"String", - "documentation":"

        The name of the cluster

        " + "documentation":"

        The name of the cluster.

        " }, "MaxResults":{ "shape":"IntegerOptional", @@ -1621,11 +1805,11 @@ "members":{ "Engine":{ "shape":"String", - "documentation":"

        The engine version to return. Valid values are either valkey or redis.

        " + "documentation":"

        The name of the engine for which to list available versions.

        " }, "EngineVersion":{ "shape":"String", - "documentation":"

        The engine version.

        " + "documentation":"

        The Redis OSS engine version

        " }, "ParameterGroupFamily":{ "shape":"String", @@ -1704,6 +1888,40 @@ } } }, + "DescribeMultiRegionClustersRequest":{ + "type":"structure", + "members":{ + "MultiRegionClusterName":{ + "shape":"String", + "documentation":"

        The name of a specific multi-Region cluster to describe.

        " + }, + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

        The maximum number of results to return.

        " + }, + "NextToken":{ + "shape":"String", + "documentation":"

        A token to specify where to start paginating.

        " + }, + "ShowClusterDetails":{ + "shape":"BooleanOptional", + "documentation":"

        Details about the multi-Region cluster.

        " + } + } + }, + "DescribeMultiRegionClustersResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

        A token to use to retrieve the next page of results.

        " + }, + "MultiRegionClusters":{ + "shape":"MultiRegionClusterList", + "documentation":"

        A list of multi-Region clusters.

        " + } + } + }, "DescribeParameterGroupsRequest":{ "type":"structure", "members":{ @@ -1862,11 +2080,11 @@ }, "ClusterNames":{ "shape":"ClusterNameList", - "documentation":"

        The list of cluster names to identify service updates to apply

        " + "documentation":"

        The list of cluster names to identify service updates to apply.

        " }, "Status":{ "shape":"ServiceUpdateStatusList", - "documentation":"

        The status(es) of the service updates to filter on

        " + "documentation":"

        The status(es) of the service updates to filter on.

        " }, "MaxResults":{ "shape":"IntegerOptional", @@ -1968,7 +2186,7 @@ "members":{ "UserName":{ "shape":"UserName", - "documentation":"

        The name of the user

        " + "documentation":"

        The name of the user.

        " }, "Filters":{ "shape":"FilterList", @@ -2024,7 +2242,7 @@ "members":{ "Engine":{ "shape":"String", - "documentation":"

        The version of the Redis OSS or Valkey engine used by the cluster.

        " + "documentation":"

        The name of the engine for which version information is provided.

        " }, "EngineVersion":{ "shape":"String", @@ -2039,7 +2257,7 @@ "documentation":"

        Specifies the name of the parameter group family to which the engine default parameters apply.

        " } }, - "documentation":"

        Provides details of the engine version.

        " + "documentation":"

        Provides details of the Redis OSS engine version

        " }, "EngineVersionInfoList":{ "type":"list", @@ -2080,11 +2298,11 @@ "members":{ "ClusterName":{ "shape":"String", - "documentation":"

        The cluster being failed over

        " + "documentation":"

        The cluster being failed over.

        " }, "ShardName":{ "shape":"String", - "documentation":"

        The name of the shard

        " + "documentation":"

        The name of the shard.

        " } } }, @@ -2093,7 +2311,7 @@ "members":{ "Cluster":{ "shape":"Cluster", - "documentation":"

        The cluster being failed over

        " + "documentation":"

        The cluster being failed over.

        " } } }, @@ -2183,6 +2401,13 @@ "documentation":"

        ", "exception":true }, + "InvalidMultiRegionClusterStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

        The requested operation cannot be performed on the multi-Region cluster in its current state.

        ", + "exception":true + }, "InvalidNodeStateFault":{ "type":"structure", "members":{ @@ -2251,6 +2476,29 @@ "type":"string", "max":2048 }, + "ListAllowedMultiRegionClusterUpdatesRequest":{ + "type":"structure", + "required":["MultiRegionClusterName"], + "members":{ + "MultiRegionClusterName":{ + "shape":"String", + "documentation":"

        The name of the multi-Region cluster.

        " + } + } + }, + "ListAllowedMultiRegionClusterUpdatesResponse":{ + "type":"structure", + "members":{ + "ScaleUpNodeTypes":{ + "shape":"NodeTypeList", + "documentation":"

        The node types that the cluster can be scaled up to.

        " + }, + "ScaleDownNodeTypes":{ + "shape":"NodeTypeList", + "documentation":"

        The node types that the cluster can be scaled down to.

        " + } + } + }, "ListAllowedNodeTypeUpdatesRequest":{ "type":"structure", "required":["ClusterName"], @@ -2280,7 +2528,7 @@ "members":{ "ResourceArn":{ "shape":"String", - "documentation":"

        The Amazon Resource Name (ARN) of the resource for which you want the list of tags

        " + "documentation":"

        The Amazon Resource Name (ARN) of the resource for which you want the list of tags.

        " } } }, @@ -2293,6 +2541,81 @@ } } }, + "MultiRegionCluster":{ + "type":"structure", + "members":{ + "MultiRegionClusterName":{ + "shape":"String", + "documentation":"

        The name of the multi-Region cluster.

        " + }, + "Description":{ + "shape":"String", + "documentation":"

        The description of the multi-Region cluster.

        " + }, + "Status":{ + "shape":"String", + "documentation":"

        The current status of the multi-Region cluster.

        " + }, + "NodeType":{ + "shape":"String", + "documentation":"

        The node type used by the multi-Region cluster.

        " + }, + "Engine":{ + "shape":"String", + "documentation":"

        The name of the engine used by the multi-Region cluster.

        " + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

        The version of the engine used by the multi-Region cluster.

        " + }, + "NumberOfShards":{ + "shape":"IntegerOptional", + "documentation":"

        The number of shards in the multi-Region cluster.

        " + }, + "Clusters":{ + "shape":"RegionalClusterList", + "documentation":"

        The clusters in this multi-Region cluster.

        " + }, + "MultiRegionParameterGroupName":{ + "shape":"String", + "documentation":"

        The name of the multi-Region parameter group associated with the cluster.

        " + }, + "TLSEnabled":{ + "shape":"BooleanOptional", + "documentation":"

        Indiciates if the multi-Region cluster is TLS enabled.

        " + }, + "ARN":{ + "shape":"String", + "documentation":"

        The Amazon Resource Name (ARN) of the multi-Region cluster.

        " + } + }, + "documentation":"

        Represents a multi-Region cluster.

        " + }, + "MultiRegionClusterAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

        A multi-Region cluster with the specified name already exists.

        ", + "exception":true + }, + "MultiRegionClusterList":{ + "type":"list", + "member":{"shape":"MultiRegionCluster"} + }, + "MultiRegionClusterNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

        The specified multi-Region cluster does not exist.

        ", + "exception":true + }, + "MultiRegionParameterGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

        The specified multi-Region parameter group does not exist.

        ", + "exception":true + }, "NoOperationFault":{ "type":"structure", "members":{ @@ -2523,6 +2846,33 @@ "type":"list", "member":{"shape":"RecurringCharge"} }, + "RegionalCluster":{ + "type":"structure", + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

        The name of the Regional cluster

        " + }, + "Region":{ + "shape":"String", + "documentation":"

        The Region the current Regional cluster is assigned to.

        " + }, + "Status":{ + "shape":"String", + "documentation":"

        The status of the Regional cluster.

        " + }, + "ARN":{ + "shape":"String", + "documentation":"

        The Amazon Resource Name (ARN) the Regional cluster

        " + } + }, + "documentation":"

        Represents a Regional cluster

        ", + "wrapper":true + }, + "RegionalClusterList":{ + "type":"list", + "member":{"shape":"RegionalCluster"} + }, "ReplicaConfigurationRequest":{ "type":"structure", "members":{ @@ -2744,7 +3094,7 @@ }, "Engine":{ "shape":"String", - "documentation":"

        The MemoryDB engine to which the update applies. The values are either Redis or Valkey.

        " + "documentation":"

        The name of the engine for which a service update is available.

        " }, "NodesUpdated":{ "shape":"String", @@ -3119,7 +3469,7 @@ "members":{ "ResourceArn":{ "shape":"String", - "documentation":"

        The Amazon Resource Name (ARN) of the resource to which the tags are to be added

        " + "documentation":"

        The Amazon Resource Name (ARN) of the resource to which the tags are to be added.

        " }, "Tags":{ "shape":"TagList", @@ -3179,11 +3529,11 @@ "members":{ "ResourceArn":{ "shape":"String", - "documentation":"

        The Amazon Resource Name (ARN) of the resource to which the tags are to be removed

        " + "documentation":"

        The Amazon Resource Name (ARN) of the resource to which the tags are to be removed.

        " }, "TagKeys":{ "shape":"KeyList", - "documentation":"

        The list of keys of the tags that are to be removed

        " + "documentation":"

        The list of keys of the tags that are to be removed.

        " } } }, @@ -3192,7 +3542,7 @@ "members":{ "TagList":{ "shape":"TagList", - "documentation":"

        The list of tags removed

        " + "documentation":"

        The list of tags removed.

        " } } }, @@ -3202,15 +3552,15 @@ "members":{ "ACLName":{ "shape":"String", - "documentation":"

        The name of the Access Control List

        " + "documentation":"

        The name of the Access Control List.

        " }, "UserNamesToAdd":{ "shape":"UserNameListInput", - "documentation":"

        The list of users to add to the Access Control List

        " + "documentation":"

        The list of users to add to the Access Control List.

        " }, "UserNamesToRemove":{ "shape":"UserNameListInput", - "documentation":"

        The list of users to remove from the Access Control List

        " + "documentation":"

        The list of users to remove from the Access Control List.

        " } } }, @@ -3219,7 +3569,7 @@ "members":{ "ACL":{ "shape":"ACL", - "documentation":"

        The updated Access Control List

        " + "documentation":"

        The updated Access Control List.

        " } } }, @@ -3229,15 +3579,15 @@ "members":{ "ClusterName":{ "shape":"String", - "documentation":"

        The name of the cluster to update

        " + "documentation":"

        The name of the cluster to update.

        " }, "Description":{ "shape":"String", - "documentation":"

        The description of the cluster to update

        " + "documentation":"

        The description of the cluster to update.

        " }, "SecurityGroupIds":{ "shape":"SecurityGroupIdsList", - "documentation":"

        The SecurityGroupIds to update

        " + "documentation":"

        The SecurityGroupIds to update.

        " }, "MaintenanceWindow":{ "shape":"String", @@ -3245,7 +3595,7 @@ }, "SnsTopicArn":{ "shape":"String", - "documentation":"

        The SNS topic ARN to update

        " + "documentation":"

        The SNS topic ARN to update.

        " }, "SnsTopicStatus":{ "shape":"String", @@ -3253,7 +3603,7 @@ }, "ParameterGroupName":{ "shape":"String", - "documentation":"

        The name of the parameter group to update

        " + "documentation":"

        The name of the parameter group to update.

        " }, "SnapshotWindow":{ "shape":"String", @@ -3269,7 +3619,7 @@ }, "Engine":{ "shape":"String", - "documentation":"

        The name of the engine to be used for the nodes in this cluster. The value must be set to either Redis or Valkey.

        " + "documentation":"

        The name of the engine to be used for the cluster.

        " }, "EngineVersion":{ "shape":"String", @@ -3277,15 +3627,15 @@ }, "ReplicaConfiguration":{ "shape":"ReplicaConfigurationRequest", - "documentation":"

        The number of replicas that will reside in each shard

        " + "documentation":"

        The number of replicas that will reside in each shard.

        " }, "ShardConfiguration":{ "shape":"ShardConfigurationRequest", - "documentation":"

        The number of shards in the cluster

        " + "documentation":"

        The number of shards in the cluster.

        " }, "ACLName":{ "shape":"ACLName", - "documentation":"

        The Access Control List that is associated with the cluster

        " + "documentation":"

        The Access Control List that is associated with the cluster.

        " } } }, @@ -3294,7 +3644,47 @@ "members":{ "Cluster":{ "shape":"Cluster", - "documentation":"

        The updated cluster

        " + "documentation":"

        The updated cluster.

        " + } + } + }, + "UpdateMultiRegionClusterRequest":{ + "type":"structure", + "required":["MultiRegionClusterName"], + "members":{ + "MultiRegionClusterName":{ + "shape":"String", + "documentation":"

        The name of the multi-Region cluster to be updated.

        " + }, + "NodeType":{ + "shape":"String", + "documentation":"

        The new node type to be used for the multi-Region cluster.

        " + }, + "Description":{ + "shape":"String", + "documentation":"

        A new description for the multi-Region cluster.

        " + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

        The new engine version to be used for the multi-Region cluster.

        " + }, + "ShardConfiguration":{"shape":"ShardConfigurationRequest"}, + "MultiRegionParameterGroupName":{ + "shape":"String", + "documentation":"

        The new multi-Region parameter group to be associated with the cluster.

        " + }, + "UpdateStrategy":{ + "shape":"UpdateStrategy", + "documentation":"

        Whether to force the update even if it may cause data loss.

        " + } + } + }, + "UpdateMultiRegionClusterResponse":{ + "type":"structure", + "members":{ + "MultiRegionCluster":{ + "shape":"MultiRegionCluster", + "documentation":"

        The status of updating the multi-Region cluster.

        " } } }, @@ -3324,6 +3714,13 @@ } } }, + "UpdateStrategy":{ + "type":"string", + "enum":[ + "coordinated", + "uncoordinated" + ] + }, "UpdateSubnetGroupRequest":{ "type":"structure", "required":["SubnetGroupName"], @@ -3452,5 +3849,5 @@ "exception":true } }, - "documentation":"

        MemoryDB for Redis is a fully managed, Redis-compatible, in-memory database that delivers ultra-fast performance and Multi-AZ durability for modern applications built using microservices architectures. MemoryDB stores the entire database in-memory, enabling low latency and high throughput data access. It is compatible with Redis, a popular open source data store, enabling you to leverage Redis’ flexible and friendly data structures, APIs, and commands.

        " + "documentation":"

        MemoryDB is a fully managed, Redis OSS-compatible, in-memory database that delivers ultra-fast performance and Multi-AZ durability for modern applications built using microservices architectures. MemoryDB stores the entire database in-memory, enabling low latency and high throughput data access. It is compatible with Redis OSS, a popular open source data store, enabling you to leverage Redis OSS’ flexible and friendly data structures, APIs, and commands.

        " } diff --git a/tools/code-generation/api-descriptions/networkflowmonitor-2023-04-19.normal.json b/tools/code-generation/api-descriptions/networkflowmonitor-2023-04-19.normal.json new file mode 100644 index 00000000000..897528cf7de --- /dev/null +++ b/tools/code-generation/api-descriptions/networkflowmonitor-2023-04-19.normal.json @@ -0,0 +1,2185 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-04-19", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"networkflowmonitor", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"Network Flow Monitor", + "serviceId":"NetworkFlowMonitor", + "signatureVersion":"v4", + "signingName":"networkflowmonitor", + "uid":"networkflowmonitor-2023-04-19" + }, + "operations":{ + "CreateMonitor":{ + "name":"CreateMonitor", + "http":{ + "method":"POST", + "requestUri":"/monitors", + "responseCode":200 + }, + "input":{"shape":"CreateMonitorInput"}, + "output":{"shape":"CreateMonitorOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Create a monitor for specific network flows between local and remote resources, so that you can monitor network performance for one or several of your workloads. For each monitor, Network Flow Monitor publishes detailed end-to-end performance metrics and a network health indicators (NHI) that informs you whether there were Amazon Web Services network issues for one or more of the network flows tracked by a monitor, during a time period that you choose.

        ", + "idempotent":true + }, + "CreateScope":{ + "name":"CreateScope", + "http":{ + "method":"POST", + "requestUri":"/scopes", + "responseCode":200 + }, + "input":{"shape":"CreateScopeInput"}, + "output":{"shape":"CreateScopeOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Create a scope of resources that you want to be available for Network Flow Monitor to generate metrics for, when you have active agents on those resources sending metrics reports to the Network Flow Monitor backend. This call returns a scope ID to identify the scope.

        When you create a scope, you enable permissions for Network Flow Monitor. The scope is set to the resources for the Amazon Web Services that enables the feature.

        ", + "idempotent":true + }, + "DeleteMonitor":{ + "name":"DeleteMonitor", + "http":{ + "method":"DELETE", + "requestUri":"/monitors/{monitorName}", + "responseCode":200 + }, + "input":{"shape":"DeleteMonitorInput"}, + "output":{"shape":"DeleteMonitorOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Deletes a monitor in Network Flow Monitor.

        ", + "idempotent":true + }, + "DeleteScope":{ + "name":"DeleteScope", + "http":{ + "method":"DELETE", + "requestUri":"/scopes/{scopeId}", + "responseCode":200 + }, + "input":{"shape":"DeleteScopeInput"}, + "output":{"shape":"DeleteScopeOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Deletes a scope that has been defined.

        ", + "idempotent":true + }, + "GetMonitor":{ + "name":"GetMonitor", + "http":{ + "method":"GET", + "requestUri":"/monitors/{monitorName}", + "responseCode":200 + }, + "input":{"shape":"GetMonitorInput"}, + "output":{"shape":"GetMonitorOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Gets information about a monitor in Network Flow Monitor based on a monitor name. The information returned includes the Amazon Resource Name (ARN), create time, modified time, resources included in the monitor, and status information.

        " + }, + "GetQueryResultsMonitorTopContributors":{ + "name":"GetQueryResultsMonitorTopContributors", + "http":{ + "method":"GET", + "requestUri":"/monitors/{monitorName}/topContributorsQueries/{queryId}/results", + "responseCode":200 + }, + "input":{"shape":"GetQueryResultsMonitorTopContributorsInput"}, + "output":{"shape":"GetQueryResultsMonitorTopContributorsOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Return the data for a query with the Network Flow Monitor query interface. You specify the query that you want to return results for by providing a query ID and a monitor name. This query returns the top contributors for a specific monitor.

        Create a query ID for this call by calling the corresponding API call to start the query, StartQueryMonitorTopContributors. Use the scope ID that was returned for your account by CreateScope.

        Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type, related to a scope (for workload insights) or a monitor.

        " + }, + "GetQueryResultsWorkloadInsightsTopContributors":{ + "name":"GetQueryResultsWorkloadInsightsTopContributors", + "http":{ + "method":"GET", + "requestUri":"/workloadInsights/{scopeId}/topContributorsQueries/{queryId}/results", + "responseCode":200 + }, + "input":{"shape":"GetQueryResultsWorkloadInsightsTopContributorsInput"}, + "output":{"shape":"GetQueryResultsWorkloadInsightsTopContributorsOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Return the data for a query with the Network Flow Monitor query interface. You specify the query that you want to return results for by providing a query ID and a monitor name. This query returns the top contributors for a specific monitor.

        Create a query ID for this call by calling the corresponding API call to start the query, StartQueryWorkloadInsightsTopContributors. Use the scope ID that was returned for your account by CreateScope.

        Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type, related to a scope (for workload insights) or a monitor.

        " + }, + "GetQueryResultsWorkloadInsightsTopContributorsData":{ + "name":"GetQueryResultsWorkloadInsightsTopContributorsData", + "http":{ + "method":"GET", + "requestUri":"/workloadInsights/{scopeId}/topContributorsDataQueries/{queryId}/results", + "responseCode":200 + }, + "input":{"shape":"GetQueryResultsWorkloadInsightsTopContributorsDataInput"}, + "output":{"shape":"GetQueryResultsWorkloadInsightsTopContributorsDataOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Return the data for a query with the Network Flow Monitor query interface. Specify the query that you want to return results for by providing a query ID and a scope ID. This query returns data for the top contributors for workload insights. Workload insights provide a high level view of network flow performance data collected by agents for a scope.

        Create a query ID for this call by calling the corresponding API call to start the query, StartQueryWorkloadInsightsTopContributorsData. Use the scope ID that was returned for your account by CreateScope.

        Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type, related to a scope (for workload insights) or a monitor.

        The top contributor network flows overall for a specific metric type, for example, the number of retransmissions.

        " + }, + "GetQueryStatusMonitorTopContributors":{ + "name":"GetQueryStatusMonitorTopContributors", + "http":{ + "method":"GET", + "requestUri":"/monitors/{monitorName}/topContributorsQueries/{queryId}/status", + "responseCode":200 + }, + "input":{"shape":"GetQueryStatusMonitorTopContributorsInput"}, + "output":{"shape":"GetQueryStatusMonitorTopContributorsOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Returns the current status of a query for the Network Flow Monitor query interface, for a specified query ID and monitor. This call returns the query status for the top contributors for a monitor.

        When you start a query, use this call to check the status of the query to make sure that it has has SUCCEEDED before you review the results. Use the same query ID that you used for the corresponding API call to start the query, StartQueryMonitorTopContributors.

        When you run a query, use this call to check the status of the query to make sure that the query has SUCCEEDED before you review the results.

        " + }, + "GetQueryStatusWorkloadInsightsTopContributors":{ + "name":"GetQueryStatusWorkloadInsightsTopContributors", + "http":{ + "method":"GET", + "requestUri":"/workloadInsights/{scopeId}/topContributorsQueries/{queryId}/status", + "responseCode":200 + }, + "input":{"shape":"GetQueryStatusWorkloadInsightsTopContributorsInput"}, + "output":{"shape":"GetQueryStatusWorkloadInsightsTopContributorsOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Return the data for a query with the Network Flow Monitor query interface. Specify the query that you want to return results for by providing a query ID and a monitor name. This query returns the top contributors for workload insights.

        When you start a query, use this call to check the status of the query to make sure that it has has SUCCEEDED before you review the results. Use the same query ID that you used for the corresponding API call to start the query, StartQueryWorkloadInsightsTopContributors.

        Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type, related to a scope (for workload insights) or a monitor.

        " + }, + "GetQueryStatusWorkloadInsightsTopContributorsData":{ + "name":"GetQueryStatusWorkloadInsightsTopContributorsData", + "http":{ + "method":"GET", + "requestUri":"/workloadInsights/{scopeId}/topContributorsDataQueries/{queryId}/status", + "responseCode":200 + }, + "input":{"shape":"GetQueryStatusWorkloadInsightsTopContributorsDataInput"}, + "output":{"shape":"GetQueryStatusWorkloadInsightsTopContributorsDataOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Returns the current status of a query for the Network Flow Monitor query interface, for a specified query ID and monitor. This call returns the query status for the top contributors data for workload insights.

        When you start a query, use this call to check the status of the query to make sure that it has has SUCCEEDED before you review the results. Use the same query ID that you used for the corresponding API call to start the query, StartQueryWorkloadInsightsTopContributorsData.

        Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type, related to a scope (for workload insights) or a monitor.

        The top contributor network flows overall for a specific metric type, for example, the number of retransmissions.

        " + }, + "GetScope":{ + "name":"GetScope", + "http":{ + "method":"GET", + "requestUri":"/scopes/{scopeId}", + "responseCode":200 + }, + "input":{"shape":"GetScopeInput"}, + "output":{"shape":"GetScopeOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Gets information about a scope, including the name, status, tags, and target details. The scope in Network Flow Monitor is an account.

        " + }, + "ListMonitors":{ + "name":"ListMonitors", + "http":{ + "method":"GET", + "requestUri":"/monitors", + "responseCode":200 + }, + "input":{"shape":"ListMonitorsInput"}, + "output":{"shape":"ListMonitorsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        List all monitors in an account. Optionally, you can list only monitors that have a specific status, by using the STATUS parameter.

        " + }, + "ListScopes":{ + "name":"ListScopes", + "http":{ + "method":"GET", + "requestUri":"/scopes", + "responseCode":200 + }, + "input":{"shape":"ListScopesInput"}, + "output":{"shape":"ListScopesOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        List all the scopes for an account.

        " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Returns all the tags for a resource.

        " + }, + "StartQueryMonitorTopContributors":{ + "name":"StartQueryMonitorTopContributors", + "http":{ + "method":"POST", + "requestUri":"/monitors/{monitorName}/topContributorsQueries", + "responseCode":200 + }, + "input":{"shape":"StartQueryMonitorTopContributorsInput"}, + "output":{"shape":"StartQueryMonitorTopContributorsOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Start a query to return the data with the Network Flow Monitor query interface. Specify the query that you want to return results for by providing a query ID and a monitor name. This query returns the top contributors for a specific monitor.

        Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type, related to a scope (for workload insights) or a monitor.

        " + }, + "StartQueryWorkloadInsightsTopContributors":{ + "name":"StartQueryWorkloadInsightsTopContributors", + "http":{ + "method":"POST", + "requestUri":"/workloadInsights/{scopeId}/topContributorsQueries", + "responseCode":200 + }, + "input":{"shape":"StartQueryWorkloadInsightsTopContributorsInput"}, + "output":{"shape":"StartQueryWorkloadInsightsTopContributorsOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Start a query to return the data with the Network Flow Monitor query interface. Specify the query that you want to start by providing a query ID and a monitor name. This query returns the top contributors for a specific monitor.

        Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type, related to a scope (for workload insights) or a monitor.

        " + }, + "StartQueryWorkloadInsightsTopContributorsData":{ + "name":"StartQueryWorkloadInsightsTopContributorsData", + "http":{ + "method":"POST", + "requestUri":"/workloadInsights/{scopeId}/topContributorsDataQueries", + "responseCode":200 + }, + "input":{"shape":"StartQueryWorkloadInsightsTopContributorsDataInput"}, + "output":{"shape":"StartQueryWorkloadInsightsTopContributorsDataOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Return the data for a query with the Network Flow Monitor query interface. Specify the query that you want to return results for by providing a query ID and a scope ID. This query returns data for the top contributors for workload insights. Workload insights provide a high level view of network flow performance data collected by agents for a scope.

        A query ID is returned from an API call to start a query of a specific type; for example

        Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type, related to a scope (for workload insights) or a monitor.

        The top contributor network flows overall for a specific metric type, for example, the number of retransmissions.

        " + }, + "StopQueryMonitorTopContributors":{ + "name":"StopQueryMonitorTopContributors", + "http":{ + "method":"DELETE", + "requestUri":"/monitors/{monitorName}/topContributorsQueries/{queryId}", + "responseCode":200 + }, + "input":{"shape":"StopQueryMonitorTopContributorsInput"}, + "output":{"shape":"StopQueryMonitorTopContributorsOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Stop a query with the Network Flow Monitor query interface. Specify the query that you want to stop by providing a query ID and a monitor name. This query returns the top contributors for a specific monitor.

        Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type, related to a scope (for workload insights) or a monitor.

        ", + "idempotent":true + }, + "StopQueryWorkloadInsightsTopContributors":{ + "name":"StopQueryWorkloadInsightsTopContributors", + "http":{ + "method":"DELETE", + "requestUri":"/workloadInsights/{scopeId}/topContributorsQueries/{queryId}", + "responseCode":200 + }, + "input":{"shape":"StopQueryWorkloadInsightsTopContributorsInput"}, + "output":{"shape":"StopQueryWorkloadInsightsTopContributorsOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Stop a query with the Network Flow Monitor query interface. Specify the query that you want to stop by providing a query ID and a monitor name. This query returns the top contributors for a specific monitor.

        Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type, related to a scope (for workload insights) or a monitor.

        " + }, + "StopQueryWorkloadInsightsTopContributorsData":{ + "name":"StopQueryWorkloadInsightsTopContributorsData", + "http":{ + "method":"DELETE", + "requestUri":"/workloadInsights/{scopeId}/topContributorsDataQueries/{queryId}", + "responseCode":200 + }, + "input":{"shape":"StopQueryWorkloadInsightsTopContributorsDataInput"}, + "output":{"shape":"StopQueryWorkloadInsightsTopContributorsDataOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Return the data for a query with the Network Flow Monitor query interface. Specify the query that you want to return results for by providing a query ID and a scope ID. This query returns data for the top contributors for workload insights. Workload insights provide a high level view of network flow performance data collected by agents for a scope.

        Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type, related to a scope (for workload insights) or a monitor.

        The top contributor network flows overall for a specific metric type, for example, the number of retransmissions.

        " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Adds a tag to a resource.

        ", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Removes a tag from a resource.

        ", + "idempotent":true + }, + "UpdateMonitor":{ + "name":"UpdateMonitor", + "http":{ + "method":"PATCH", + "requestUri":"/monitors/{monitorName}", + "responseCode":200 + }, + "input":{"shape":"UpdateMonitorInput"}, + "output":{"shape":"UpdateMonitorOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Update a monitor to add or remove local or remote resources.

        ", + "idempotent":true + }, + "UpdateScope":{ + "name":"UpdateScope", + "http":{ + "method":"PATCH", + "requestUri":"/scopes/{scopeId}", + "responseCode":200 + }, + "input":{"shape":"UpdateScopeInput"}, + "output":{"shape":"UpdateScopeOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Update a scope to add or remove resources that you want to be available for Network Flow Monitor to generate metrics for, when you have active agents on those resources sending metrics reports to the Network Flow Monitor backend.

        ", + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

        You don't have sufficient permission to perform this action.

        ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AccountId":{ + "type":"string", + "max":12, + "min":1, + "pattern":"[0-9]{12}" + }, + "Arn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:.*" + }, + "AvailabilityZone":{"type":"string"}, + "AwsRegion":{"type":"string"}, + "Component":{"type":"string"}, + "ComponentType":{"type":"string"}, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

        The requested resource is in use.

        ", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateMonitorInput":{ + "type":"structure", + "required":[ + "monitorName", + "localResources", + "scopeArn" + ], + "members":{ + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor.

        " + }, + "localResources":{ + "shape":"CreateMonitorInputLocalResourcesList", + "documentation":"

        The local resources to monitor. A local resource, in a bi-directional flow of a workload, is the host where the agent is installed. For example, if a workload consists of an interaction between a web service and a backend database (for example, Amazon Relational Database Service (RDS)), the EC2 instance hosting the web service, which also runs the agent, is the local resource.

        " + }, + "remoteResources":{ + "shape":"MonitorRemoteResources", + "documentation":"

        The remote resources to monitor. A remote resource is the other endpoint in the bi-directional flow of a workload, with a local resource. For example, Amazon Relational Database Service (RDS) can be a remote resource.

        " + }, + "scopeArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the scope for the monitor.

        " + }, + "clientToken":{ + "shape":"String", + "documentation":"

        A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent API request. Don't reuse the same client token for other API requests.

        ", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for a monitor. You can add a maximum of 200 tags.

        " + } + } + }, + "CreateMonitorInputLocalResourcesList":{ + "type":"list", + "member":{"shape":"MonitorLocalResource"}, + "min":1 + }, + "CreateMonitorOutput":{ + "type":"structure", + "required":[ + "monitorArn", + "monitorName", + "monitorStatus", + "localResources", + "remoteResources", + "createdAt", + "modifiedAt" + ], + "members":{ + "monitorArn":{ + "shape":"MonitorArn", + "documentation":"

        The Amazon Resource Name (ARN) of the monitor.

        " + }, + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor.

        " + }, + "monitorStatus":{ + "shape":"MonitorStatus", + "documentation":"

        The status of a monitor. The status can be one of the following

        • PENDING: The monitor is in the process of being created.

        • ACTIVE: The monitor is active.

        • INACTIVE: The monitor is inactive.

        • ERROR: Monitor creation failed due to an error.

        • DELETING: The monitor is in the process of being deleted.

        " + }, + "localResources":{ + "shape":"MonitorLocalResources", + "documentation":"

        The local resources to monitor. A local resource, in a bi-directional flow of a workload, is the host where the agent is installed.

        " + }, + "remoteResources":{ + "shape":"MonitorRemoteResources", + "documentation":"

        The remote resources to monitor. A remote resource is the other endpoint in the bi-directional flow of a workload, with a local resource. For example, Amazon Relational Database Service (RDS) can be a remote resource. The remote resource is identified by its ARN or an identifier.

        " + }, + "createdAt":{ + "shape":"Iso8601Timestamp", + "documentation":"

        The date and time when the monitor was created.

        " + }, + "modifiedAt":{ + "shape":"Iso8601Timestamp", + "documentation":"

        The last date and time that the monitor was modified.

        " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for a monitor.

        " + } + } + }, + "CreateScopeInput":{ + "type":"structure", + "required":["targets"], + "members":{ + "targets":{ + "shape":"CreateScopeInputTargetsList", + "documentation":"

        The targets to define the scope to be monitored. Currently, a target is an Amazon Web Services account.

        " + }, + "clientToken":{ + "shape":"String", + "documentation":"

        A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent API request. Don't reuse the same client token for other API requests.

        ", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for a scope. You can add a maximum of 200 tags.

        " + } + } + }, + "CreateScopeInputTargetsList":{ + "type":"list", + "member":{"shape":"TargetResource"}, + "max":100, + "min":1 + }, + "CreateScopeOutput":{ + "type":"structure", + "required":[ + "scopeId", + "status", + "scopeArn" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get metrics for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

        " + }, + "status":{ + "shape":"ScopeStatus", + "documentation":"

        The status for a call to create a scope. The status can be one of the following: SUCCEEDED, IN_PROGRESS, or FAILED.

        " + }, + "scopeArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the scope.

        " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for a scope.

        " + } + } + }, + "DeleteMonitorInput":{ + "type":"structure", + "required":["monitorName"], + "members":{ + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor to delete.

        ", + "location":"uri", + "locationName":"monitorName" + } + } + }, + "DeleteMonitorOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteScopeInput":{ + "type":"structure", + "required":["scopeId"], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

        ", + "location":"uri", + "locationName":"scopeId" + } + } + }, + "DeleteScopeOutput":{ + "type":"structure", + "members":{ + } + }, + "DestinationCategory":{ + "type":"string", + "enum":[ + "INTRA_AZ", + "INTER_AZ", + "INTER_VPC", + "UNCLASSIFIED", + "AMAZON_S3", + "AMAZON_DYNAMODB" + ] + }, + "Double":{ + "type":"double", + "box":true + }, + "GetMonitorInput":{ + "type":"structure", + "required":["monitorName"], + "members":{ + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor.

        ", + "location":"uri", + "locationName":"monitorName" + } + } + }, + "GetMonitorOutput":{ + "type":"structure", + "required":[ + "monitorArn", + "monitorName", + "monitorStatus", + "localResources", + "remoteResources", + "createdAt", + "modifiedAt" + ], + "members":{ + "monitorArn":{ + "shape":"MonitorArn", + "documentation":"

        The Amazon Resource Name (ARN) of the monitor.

        " + }, + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor.

        " + }, + "monitorStatus":{ + "shape":"MonitorStatus", + "documentation":"

        The status of a monitor. The status can be one of the following

        • PENDING: The monitor is in the process of being created.

        • ACTIVE: The monitor is active.

        • INACTIVE: The monitor is inactive.

        • ERROR: Monitor creation failed due to an error.

        • DELETING: The monitor is in the process of being deleted.

        " + }, + "localResources":{ + "shape":"MonitorLocalResources", + "documentation":"

        The local resources for this monitor.

        " + }, + "remoteResources":{ + "shape":"MonitorRemoteResources", + "documentation":"

        The remote resources for this monitor.

        " + }, + "createdAt":{ + "shape":"Iso8601Timestamp", + "documentation":"

        The date and time when the monitor was created.

        " + }, + "modifiedAt":{ + "shape":"Iso8601Timestamp", + "documentation":"

        The date and time when the monitor was last modified.

        " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for a monitor.

        " + } + } + }, + "GetQueryResultsMonitorTopContributorsInput":{ + "type":"structure", + "required":[ + "monitorName", + "queryId" + ], + "members":{ + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor.

        ", + "location":"uri", + "locationName":"monitorName" + }, + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        ", + "location":"uri", + "locationName":"queryId" + }, + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results. You receive this token from a previous call.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

        The number of query results that you want to return with this call.

        ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetQueryResultsMonitorTopContributorsOutput":{ + "type":"structure", + "members":{ + "unit":{ + "shape":"MetricUnit", + "documentation":"

        The units for a metric returned by the query.

        " + }, + "topContributors":{ + "shape":"MonitorTopContributorsRowList", + "documentation":"

        The top contributor network flows overall for a specific metric type, for example, the number of retransmissions.

        " + }, + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results. You receive this token from a previous call.

        " + } + } + }, + "GetQueryResultsWorkloadInsightsTopContributorsDataInput":{ + "type":"structure", + "required":[ + "scopeId", + "queryId" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

        ", + "location":"uri", + "locationName":"scopeId" + }, + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        ", + "location":"uri", + "locationName":"queryId" + }, + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results. You receive this token from a previous call.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

        The number of query results that you want to return with this call.

        ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetQueryResultsWorkloadInsightsTopContributorsDataOutput":{ + "type":"structure", + "required":[ + "unit", + "datapoints" + ], + "members":{ + "unit":{ + "shape":"MetricUnit", + "documentation":"

        The units for a metric returned by the query.

        " + }, + "datapoints":{ + "shape":"WorkloadInsightsTopContributorsDataPoints", + "documentation":"

        The datapoints returned by the query.

        " + }, + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results. You receive this token from a previous call.

        " + } + } + }, + "GetQueryResultsWorkloadInsightsTopContributorsInput":{ + "type":"structure", + "required":[ + "scopeId", + "queryId" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

        ", + "location":"uri", + "locationName":"scopeId" + }, + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        ", + "location":"uri", + "locationName":"queryId" + }, + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results. You receive this token from a previous call.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

        The number of query results that you want to return with this call.

        ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetQueryResultsWorkloadInsightsTopContributorsOutput":{ + "type":"structure", + "members":{ + "topContributors":{ + "shape":"WorkloadInsightsTopContributorsRowList", + "documentation":"

        The top contributor network flows overall for a specific metric type, for example, the number of retransmissions.

        " + }, + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results. You receive this token from a previous call.

        " + } + } + }, + "GetQueryStatusMonitorTopContributorsInput":{ + "type":"structure", + "required":[ + "monitorName", + "queryId" + ], + "members":{ + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor.

        ", + "location":"uri", + "locationName":"monitorName" + }, + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        ", + "location":"uri", + "locationName":"queryId" + } + } + }, + "GetQueryStatusMonitorTopContributorsOutput":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{ + "shape":"QueryStatus", + "documentation":"

        When you run a query, use this call to check the status of the query to make sure that the query has SUCCEEDED before you review the results.

        • QUEUED: The query is scheduled to run.

        • RUNNING: The query is in progress but not complete.

        • SUCCEEDED: The query completed sucessfully.

        • FAILED: The query failed due to an error.

        • CANCELED: The query was canceled.

        " + } + } + }, + "GetQueryStatusWorkloadInsightsTopContributorsDataInput":{ + "type":"structure", + "required":[ + "scopeId", + "queryId" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account. A scope ID is returned from a CreateScope API call.

        ", + "location":"uri", + "locationName":"scopeId" + }, + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        ", + "location":"uri", + "locationName":"queryId" + } + } + }, + "GetQueryStatusWorkloadInsightsTopContributorsDataOutput":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{ + "shape":"QueryStatus", + "documentation":"

        The status of a query for top contributors data.

        • QUEUED: The query is scheduled to run.

        • RUNNING: The query is in progress but not complete.

        • SUCCEEDED: The query completed sucessfully.

        • FAILED: The query failed due to an error.

        • CANCELED: The query was canceled.

        " + } + } + }, + "GetQueryStatusWorkloadInsightsTopContributorsInput":{ + "type":"structure", + "required":[ + "scopeId", + "queryId" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

        ", + "location":"uri", + "locationName":"scopeId" + }, + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        ", + "location":"uri", + "locationName":"queryId" + } + } + }, + "GetQueryStatusWorkloadInsightsTopContributorsOutput":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{ + "shape":"QueryStatus", + "documentation":"

        When you run a query, use this call to check the status of the query to make sure that the query has SUCCEEDED before you review the results.

        • QUEUED: The query is scheduled to run.

        • RUNNING: The query is in progress but not complete.

        • SUCCEEDED: The query completed sucessfully.

        • FAILED: The query failed due to an error.

        • CANCELED: The query was canceled.

        " + } + } + }, + "GetScopeInput":{ + "type":"structure", + "required":["scopeId"], + "members":{ + "scopeId":{ + "shape":"GetScopeInputScopeIdString", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account. A scope ID is returned from a CreateScope API call.

        ", + "location":"uri", + "locationName":"scopeId" + } + } + }, + "GetScopeInputScopeIdString":{ + "type":"string", + "min":1 + }, + "GetScopeOutput":{ + "type":"structure", + "required":[ + "scopeId", + "status", + "scopeArn", + "targets" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account. A scope ID is returned from a CreateScope API call.

        " + }, + "status":{ + "shape":"ScopeStatus", + "documentation":"

        The status of a scope. The status can be one of the following: SUCCEEDED, IN_PROGRESS, or FAILED.

        " + }, + "scopeArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the scope.

        " + }, + "targets":{ + "shape":"TargetResourceList", + "documentation":"

        The targets for a scope

        " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for a scope.

        " + } + } + }, + "InstanceArn":{"type":"string"}, + "InstanceId":{ + "type":"string", + "pattern":"i-[a-zA-Z0-9]{8,32}" + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

        An internal error occurred.

        ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "Iso8601Timestamp":{"type":"timestamp"}, + "KubernetesMetadata":{ + "type":"structure", + "members":{ + "localServiceName":{ + "shape":"String", + "documentation":"

        The service name for a local resource.

        " + }, + "localPodName":{ + "shape":"String", + "documentation":"

        The name of the pod for a local resource.

        " + }, + "localPodNamespace":{ + "shape":"String", + "documentation":"

        The namespace of the pod for a local resource.

        " + }, + "remoteServiceName":{ + "shape":"String", + "documentation":"

        The service name for a remote resource.

        " + }, + "remotePodName":{ + "shape":"String", + "documentation":"

        The name of the pod for a remote resource.

        " + }, + "remotePodNamespace":{ + "shape":"String", + "documentation":"

        The namespace of the pod for a remote resource.

        " + } + }, + "documentation":"

        Meta data about Kubernetes resources.

        " + }, + "Limit":{ + "type":"integer", + "box":true, + "max":500, + "min":1 + }, + "ListMonitorsInput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results. You receive this token from a previous call.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The number of query results that you want to return with this call.

        ", + "location":"querystring", + "locationName":"maxResults" + }, + "monitorStatus":{ + "shape":"MonitorStatus", + "documentation":"

        The status of a monitor. The status can be one of the following

        • PENDING: The monitor is in the process of being created.

        • ACTIVE: The monitor is active.

        • INACTIVE: The monitor is inactive.

        • ERROR: Monitor creation failed due to an error.

        • DELETING: The monitor is in the process of being deleted.

        ", + "location":"querystring", + "locationName":"monitorStatus" + } + } + }, + "ListMonitorsOutput":{ + "type":"structure", + "required":["monitors"], + "members":{ + "monitors":{ + "shape":"MonitorList", + "documentation":"

        The monitors that are in an account.

        " + }, + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results. You receive this token from a previous call.

        " + } + } + }, + "ListScopesInput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results. You receive this token from a previous call.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The number of query results that you want to return with this call.

        ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListScopesOutput":{ + "type":"structure", + "required":["scopes"], + "members":{ + "scopes":{ + "shape":"ScopeSummaryList", + "documentation":"

        The scopes returned by the call.

        " + }, + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results. You receive this token from a previous call.

        " + } + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource.

        ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for a resource.

        " + } + } + }, + "Long":{ + "type":"long", + "box":true + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "MetricUnit":{ + "type":"string", + "enum":[ + "Seconds", + "Microseconds", + "Milliseconds", + "Bytes", + "Kilobytes", + "Megabytes", + "Gigabytes", + "Terabytes", + "Bits", + "Kilobits", + "Megabits", + "Gigabits", + "Terabits", + "Percent", + "Count", + "Bytes/Second", + "Kilobytes/Second", + "Megabytes/Second", + "Gigabytes/Second", + "Terabytes/Second", + "Bits/Second", + "Kilobits/Second", + "Megabits/Second", + "Gigabits/Second", + "Terabits/Second", + "Count/Second", + "None" + ] + }, + "MonitorArn":{ + "type":"string", + "max":512, + "min":20, + "pattern":"arn:.*" + }, + "MonitorList":{ + "type":"list", + "member":{"shape":"MonitorSummary"} + }, + "MonitorLocalResource":{ + "type":"structure", + "required":[ + "type", + "identifier" + ], + "members":{ + "type":{ + "shape":"MonitorLocalResourceType", + "documentation":"

        The type of the local resource. Valid values are AWS::EC2::VPC AWS::AvailabilityZone or AWS::EC2::Subnet.

        " + }, + "identifier":{ + "shape":"String", + "documentation":"

        The identifier of the local resource, such as an ARN.

        " + } + }, + "documentation":"

        A local resource is the host where the agent is installed. Local resources can be a a subnet, a VPC, or an Availability Zone.

        " + }, + "MonitorLocalResourceType":{ + "type":"string", + "enum":[ + "AWS::EC2::VPC", + "AWS::AvailabilityZone", + "AWS::EC2::Subnet" + ] + }, + "MonitorLocalResources":{ + "type":"list", + "member":{"shape":"MonitorLocalResource"} + }, + "MonitorMetric":{ + "type":"string", + "enum":[ + "ROUND_TRIP_TIME", + "TIMEOUTS", + "RETRANSMISSIONS", + "DATA_TRANSFERRED" + ] + }, + "MonitorRemoteResource":{ + "type":"structure", + "required":[ + "type", + "identifier" + ], + "members":{ + "type":{ + "shape":"MonitorRemoteResourceType", + "documentation":"

        The type of the remote resource. Valid values are AWS::EC2::VPC AWS::AvailabilityZone, AWS::EC2::Subnet, or AWS::AWSService.

        " + }, + "identifier":{ + "shape":"String", + "documentation":"

        The identifier of the remote resource, such as an ARN.

        " + } + }, + "documentation":"

        A remote resource is the other endpoint in a network flow. That is, one endpoint is the local resource and the other is the remote resource. Remote resources can be a a subnet, a VPC, an Availability Zone, or an Amazon Web Services service.

        " + }, + "MonitorRemoteResourceType":{ + "type":"string", + "enum":[ + "AWS::EC2::VPC", + "AWS::AvailabilityZone", + "AWS::EC2::Subnet", + "AWS::AWSService" + ] + }, + "MonitorRemoteResources":{ + "type":"list", + "member":{"shape":"MonitorRemoteResource"} + }, + "MonitorStatus":{ + "type":"string", + "enum":[ + "PENDING", + "ACTIVE", + "INACTIVE", + "ERROR", + "DELETING" + ] + }, + "MonitorSummary":{ + "type":"structure", + "required":[ + "monitorArn", + "monitorName", + "monitorStatus" + ], + "members":{ + "monitorArn":{ + "shape":"MonitorArn", + "documentation":"

        The Amazon Resource Name (ARN) of the monitor.

        " + }, + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor.

        " + }, + "monitorStatus":{ + "shape":"MonitorStatus", + "documentation":"

        The status of a monitor. The status can be one of the following

        • PENDING: The monitor is in the process of being created.

        • ACTIVE: The monitor is active.

        • INACTIVE: The monitor is inactive.

        • ERROR: Monitor creation failed due to an error.

        • DELETING: The monitor is in the process of being deleted.

        " + } + }, + "documentation":"

        A summary of information about a monitor, includ the ARN, the name, and the status.

        " + }, + "MonitorTopContributorsRow":{ + "type":"structure", + "members":{ + "localIp":{ + "shape":"String", + "documentation":"

        The IP address of the local resource for a top contributor network flow.

        " + }, + "snatIp":{ + "shape":"String", + "documentation":"

        The secure network address translation (SNAT) IP address for a top contributor network flow.

        " + }, + "localInstanceId":{ + "shape":"InstanceId", + "documentation":"

        The instance identifier for the local resource for a top contributor network flow.

        " + }, + "localVpcId":{ + "shape":"VpcId", + "documentation":"

        The VPC ID for a top contributor network flow for the local resource.

        " + }, + "localRegion":{ + "shape":"AwsRegion", + "documentation":"

        The Amazon Web Services Region for the local resource for a top contributor network flow.

        " + }, + "localAz":{ + "shape":"AvailabilityZone", + "documentation":"

        The Availability Zone for the local resource for a top contributor network flow.

        " + }, + "localSubnetId":{ + "shape":"SubnetId", + "documentation":"

        The subnet ID for the local resource for a top contributor network flow.

        " + }, + "targetPort":{ + "shape":"Integer", + "documentation":"

        The target port.

        " + }, + "destinationCategory":{ + "shape":"DestinationCategory", + "documentation":"

        The destination category for a top contributors row. Destination categories can be one of the following:

        • INTRA_AZ: Top contributor network flows within a single Availability Zone

        • INTER_AZ: Top contributor network flows between Availability Zones

        • INTER_VPC: Top contributor network flows between VPCs

        • AWS_SERVICES: Top contributor network flows to or from Amazon Web Services services

        • UNCLASSIFIED: Top contributor network flows that do not have a bucket classification

        " + }, + "remoteVpcId":{ + "shape":"VpcId", + "documentation":"

        The VPC ID for a top contributor network flow for the remote resource.

        " + }, + "remoteRegion":{ + "shape":"AwsRegion", + "documentation":"

        The Amazon Web Services Region for the remote resource for a top contributor network flow.

        " + }, + "remoteAz":{ + "shape":"AvailabilityZone", + "documentation":"

        The Availability Zone for the remote resource for a top contributor network flow.

        " + }, + "remoteSubnetId":{ + "shape":"SubnetId", + "documentation":"

        The subnet ID for the remote resource for a top contributor network flow.

        " + }, + "remoteInstanceId":{ + "shape":"InstanceId", + "documentation":"

        The instance identifier for the remote resource for a top contributor network flow.

        " + }, + "remoteIp":{ + "shape":"String", + "documentation":"

        The IP address of the remote resource for a top contributor network flow.

        " + }, + "dnatIp":{ + "shape":"String", + "documentation":"

        The destination network address translation (DNAT) IP address for a top contributor network flow.

        " + }, + "value":{ + "shape":"Long", + "documentation":"

        The value of the metric for a top contributor network flow.

        " + }, + "traversedConstructs":{ + "shape":"TraversedConstructsList", + "documentation":"

        The constructs traversed by a network flow.

        " + }, + "kubernetesMetadata":{ + "shape":"KubernetesMetadata", + "documentation":"

        Meta data about Kubernetes resources.

        " + }, + "localInstanceArn":{ + "shape":"InstanceArn", + "documentation":"

        The Amazon Resource Name (ARN) of a local resource.

        " + }, + "localSubnetArn":{ + "shape":"SubnetArn", + "documentation":"

        The Amazon Resource Name (ARN) of a local subnet.

        " + }, + "localVpcArn":{ + "shape":"VpcArn", + "documentation":"

        The Amazon Resource Name (ARN) of a local VPC.

        " + }, + "remoteInstanceArn":{ + "shape":"InstanceArn", + "documentation":"

        The Amazon Resource Name (ARN) of a remote resource.

        " + }, + "remoteSubnetArn":{ + "shape":"SubnetArn", + "documentation":"

        The Amazon Resource Name (ARN) of a remote subnet.

        " + }, + "remoteVpcArn":{ + "shape":"VpcArn", + "documentation":"

        The Amazon Resource Name (ARN) of a remote VPC.

        " + } + }, + "documentation":"

        A set of information for a top contributor network flow in a monitor. In a monitor, Network Flow Monitor returns information about the network flows for top contributors for each metric. Top contributors are network flows with the top values for each metric type.

        " + }, + "MonitorTopContributorsRowList":{ + "type":"list", + "member":{"shape":"MonitorTopContributorsRow"} + }, + "QueryStatus":{ + "type":"string", + "enum":[ + "QUEUED", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELED" + ] + }, + "ResourceName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

        The request specifies a resource that doesn't exist.

        ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ScopeId":{"type":"string"}, + "ScopeStatus":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "IN_PROGRESS", + "FAILED" + ] + }, + "ScopeSummary":{ + "type":"structure", + "required":[ + "scopeId", + "status", + "scopeArn" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

        " + }, + "status":{ + "shape":"ScopeStatus", + "documentation":"

        The status of a scope. The status can be one of the following, depending on the state of scope creation: SUCCEEDED, IN_PROGRESS, or FAILED.

        " + }, + "scopeArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the scope.

        " + } + }, + "documentation":"

        A summary of information about a scope, including the ARN, target ID, and Amazon Web Services Region.

        " + }, + "ScopeSummaryList":{ + "type":"list", + "member":{"shape":"ScopeSummary"} + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

        The request exceeded a service quota.

        ", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "StartQueryMonitorTopContributorsInput":{ + "type":"structure", + "required":[ + "monitorName", + "startTime", + "endTime", + "metricName", + "destinationCategory" + ], + "members":{ + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor.

        ", + "location":"uri", + "locationName":"monitorName" + }, + "startTime":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

        The timestamp that is the date and time beginning of the period that you want to retrieve results for with your query.

        " + }, + "endTime":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

        The timestamp that is the date and time end of the period that you want to retrieve results for with your query.

        " + }, + "metricName":{ + "shape":"MonitorMetric", + "documentation":"

        The metric that you want to query top contributors for. That is, you can specify this metric to return the top contributor network flows, for this type of metric, for a monitor and (optionally) within a specific category, such as network flows between Availability Zones.

        " + }, + "destinationCategory":{ + "shape":"DestinationCategory", + "documentation":"

        The category that you want to query top contributors for, for a specific monitor. Destination categories can be one of the following:

        • INTRA_AZ: Top contributor network flows within a single Availability Zone

        • INTER_AZ: Top contributor network flows between Availability Zones

        • INTER_VPC: Top contributor network flows between VPCs

        • AWS_SERVICES: Top contributor network flows to or from Amazon Web Services services

        • UNCLASSIFIED: Top contributor network flows that do not have a bucket classification

        " + }, + "limit":{ + "shape":"Limit", + "documentation":"

        The maximum number of top contributors to return.

        " + } + } + }, + "StartQueryMonitorTopContributorsOutput":{ + "type":"structure", + "required":["queryId"], + "members":{ + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        " + } + } + }, + "StartQueryWorkloadInsightsTopContributorsDataInput":{ + "type":"structure", + "required":[ + "scopeId", + "startTime", + "endTime", + "metricName", + "destinationCategory" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

        ", + "location":"uri", + "locationName":"scopeId" + }, + "startTime":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

        The timestamp that is the date and time beginning of the period that you want to retrieve results for with your query.

        " + }, + "endTime":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

        The timestamp that is the date and time end of the period that you want to retrieve results for with your query.

        " + }, + "metricName":{ + "shape":"WorkloadInsightsMetric", + "documentation":"

        The metric that you want to query top contributors for. That is, you can specify this metric to return the top contributor network flows, for this type of metric, for a monitor and (optionally) within a specific category, such as network flows between Availability Zones.

        " + }, + "destinationCategory":{ + "shape":"DestinationCategory", + "documentation":"

        The destination category for a top contributors. Destination categories can be one of the following:

        • INTRA_AZ: Top contributor network flows within a single Availability Zone

        • INTER_AZ: Top contributor network flows between Availability Zones

        • INTER_VPC: Top contributor network flows between VPCs

        • AWS_SERVICES: Top contributor network flows to or from Amazon Web Services services

        • UNCLASSIFIED: Top contributor network flows that do not have a bucket classification

        " + } + } + }, + "StartQueryWorkloadInsightsTopContributorsDataOutput":{ + "type":"structure", + "required":["queryId"], + "members":{ + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        " + } + } + }, + "StartQueryWorkloadInsightsTopContributorsInput":{ + "type":"structure", + "required":[ + "scopeId", + "startTime", + "endTime", + "metricName", + "destinationCategory" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account. A scope ID is returned from a CreateScope API call.

        ", + "location":"uri", + "locationName":"scopeId" + }, + "startTime":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

        The timestamp that is the date and time beginning of the period that you want to retrieve results for with your query.

        " + }, + "endTime":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

        The timestamp that is the date and time end of the period that you want to retrieve results for with your query.

        " + }, + "metricName":{ + "shape":"WorkloadInsightsMetric", + "documentation":"

        The metric that you want to query top contributors for. That is, you can specify this metric to return the top contributor network flows, for this type of metric, for a monitor and (optionally) within a specific category, such as network flows between Availability Zones.

        " + }, + "destinationCategory":{ + "shape":"DestinationCategory", + "documentation":"

        The destination category for a top contributors row. Destination categories can be one of the following:

        • INTRA_AZ: Top contributor network flows within a single Availability Zone

        • INTER_AZ: Top contributor network flows between Availability Zones

        • INTER_VPC: Top contributor network flows between VPCs

        • AWS_SERVICES: Top contributor network flows to or from Amazon Web Services services

        • UNCLASSIFIED: Top contributor network flows that do not have a bucket classification

        " + }, + "limit":{ + "shape":"Limit", + "documentation":"

        The maximum number of top contributors to return.

        " + } + } + }, + "StartQueryWorkloadInsightsTopContributorsOutput":{ + "type":"structure", + "required":["queryId"], + "members":{ + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        " + } + } + }, + "StopQueryMonitorTopContributorsInput":{ + "type":"structure", + "required":[ + "monitorName", + "queryId" + ], + "members":{ + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor.

        ", + "location":"uri", + "locationName":"monitorName" + }, + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        ", + "location":"uri", + "locationName":"queryId" + } + } + }, + "StopQueryMonitorTopContributorsOutput":{ + "type":"structure", + "members":{ + } + }, + "StopQueryWorkloadInsightsTopContributorsDataInput":{ + "type":"structure", + "required":[ + "scopeId", + "queryId" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

        ", + "location":"uri", + "locationName":"scopeId" + }, + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        ", + "location":"uri", + "locationName":"queryId" + } + } + }, + "StopQueryWorkloadInsightsTopContributorsDataOutput":{ + "type":"structure", + "members":{ + } + }, + "StopQueryWorkloadInsightsTopContributorsInput":{ + "type":"structure", + "required":[ + "scopeId", + "queryId" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

        ", + "location":"uri", + "locationName":"scopeId" + }, + "queryId":{ + "shape":"String", + "documentation":"

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        ", + "location":"uri", + "locationName":"queryId" + } + } + }, + "StopQueryWorkloadInsightsTopContributorsOutput":{ + "type":"structure", + "members":{ + } + }, + "String":{"type":"string"}, + "SubnetArn":{"type":"string"}, + "SubnetId":{ + "type":"string", + "pattern":"subnet-[a-zA-Z0-9]{8,32}" + }, + "SyntheticTimestamp_date_time":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":0 + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource.

        ", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for a resource.

        " + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TargetId":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"AccountId", + "documentation":"

        The identifier for the account for a target.

        " + } + }, + "documentation":"

        A target ID is an internally-generated identifier for a target. A target allows you to identify all the resources in a Network Flow Monitor scope. Currently, a target is always an Amazon Web Services account.

        ", + "union":true + }, + "TargetIdentifier":{ + "type":"structure", + "required":[ + "targetId", + "targetType" + ], + "members":{ + "targetId":{ + "shape":"TargetId", + "documentation":"

        The identifier for a target.

        " + }, + "targetType":{ + "shape":"TargetType", + "documentation":"

        The type of a target. A target type is currently always ACCOUNT because a target is currently a single Amazon Web Services account.

        " + } + }, + "documentation":"

        A target identifier is a pair of identifying information for a resource that is included in a target. A target identifier includes the target ID and the target type.

        " + }, + "TargetResource":{ + "type":"structure", + "required":[ + "targetIdentifier", + "region" + ], + "members":{ + "targetIdentifier":{ + "shape":"TargetIdentifier", + "documentation":"

        A target identifier is a pair of identifying information for a resource that is included in a target. A target identifier includes the target ID and the target type.

        " + }, + "region":{ + "shape":"AwsRegion", + "documentation":"

        The Amazon Web Services Region where the target resource is located.

        " + } + }, + "documentation":"

        A target resource in a scope. The resource is identified by a Region and a target identifier, which includes a target ID and a target type.

        " + }, + "TargetResourceList":{ + "type":"list", + "member":{"shape":"TargetResource"} + }, + "TargetType":{ + "type":"string", + "enum":["ACCOUNT"] + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

        The request was denied due to request throttling.

        ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "TraversedComponent":{ + "type":"structure", + "members":{ + "componentId":{ + "shape":"Component", + "documentation":"

        The identifier for the traversed component.

        " + }, + "componentType":{ + "shape":"ComponentType", + "documentation":"

        The type of component that was traversed.

        " + }, + "componentArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of a tranversed component.

        " + }, + "serviceName":{ + "shape":"String", + "documentation":"

        The service name for the traversed component.

        " + } + }, + "documentation":"

        A section of the network that a network flow has traveled through.

        " + }, + "TraversedConstructsList":{ + "type":"list", + "member":{"shape":"TraversedComponent"} + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource.

        ", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

        Keys that you specified when you tagged a resource.

        ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateMonitorInput":{ + "type":"structure", + "required":["monitorName"], + "members":{ + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor.

        ", + "location":"uri", + "locationName":"monitorName" + }, + "localResourcesToAdd":{ + "shape":"MonitorLocalResources", + "documentation":"

        The local resources to add, as an array of resources with identifiers and types.

        " + }, + "localResourcesToRemove":{ + "shape":"MonitorLocalResources", + "documentation":"

        The local resources to remove, as an array of resources with identifiers and types.

        " + }, + "remoteResourcesToAdd":{ + "shape":"MonitorRemoteResources", + "documentation":"

        The remove resources to add, as an array of resources with identifiers and types.

        " + }, + "remoteResourcesToRemove":{ + "shape":"MonitorRemoteResources", + "documentation":"

        The remove resources to remove, as an array of resources with identifiers and types.

        " + }, + "clientToken":{ + "shape":"String", + "documentation":"

        A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent API request. Don't reuse the same client token for other API requests.

        ", + "idempotencyToken":true + } + } + }, + "UpdateMonitorOutput":{ + "type":"structure", + "required":[ + "monitorArn", + "monitorName", + "monitorStatus", + "localResources", + "remoteResources", + "createdAt", + "modifiedAt" + ], + "members":{ + "monitorArn":{ + "shape":"MonitorArn", + "documentation":"

        The Amazon Resource Name (ARN) of the monitor.

        " + }, + "monitorName":{ + "shape":"ResourceName", + "documentation":"

        The name of the monitor.

        " + }, + "monitorStatus":{ + "shape":"MonitorStatus", + "documentation":"

        The status of a monitor. The status can be one of the following

        • PENDING: The monitor is in the process of being created.

        • ACTIVE: The monitor is active.

        • INACTIVE: The monitor is inactive.

        • ERROR: Monitor creation failed due to an error.

        • DELETING: The monitor is in the process of being deleted.

        " + }, + "localResources":{ + "shape":"MonitorLocalResources", + "documentation":"

        The local resources updated for a monitor, as an array of resources with identifiers and types.

        " + }, + "remoteResources":{ + "shape":"MonitorRemoteResources", + "documentation":"

        The remote resources updated for a monitor, as an array of resources with identifiers and types.

        " + }, + "createdAt":{ + "shape":"Iso8601Timestamp", + "documentation":"

        The date and time when the monitor was created.

        " + }, + "modifiedAt":{ + "shape":"Iso8601Timestamp", + "documentation":"

        The last date and time that the monitor was modified.

        " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for a monitor.

        " + } + } + }, + "UpdateScopeInput":{ + "type":"structure", + "required":["scopeId"], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

        ", + "location":"uri", + "locationName":"scopeId" + }, + "resourcesToAdd":{ + "shape":"UpdateScopeInputResourcesToAddList", + "documentation":"

        A list of resources to add to a scope.

        " + }, + "resourcesToDelete":{ + "shape":"UpdateScopeInputResourcesToDeleteList", + "documentation":"

        A list of resources to delete from a scope.

        " + } + } + }, + "UpdateScopeInputResourcesToAddList":{ + "type":"list", + "member":{"shape":"TargetResource"}, + "max":99, + "min":1 + }, + "UpdateScopeInputResourcesToDeleteList":{ + "type":"list", + "member":{"shape":"TargetResource"}, + "max":99, + "min":1 + }, + "UpdateScopeOutput":{ + "type":"structure", + "required":[ + "scopeId", + "status", + "scopeArn" + ], + "members":{ + "scopeId":{ + "shape":"ScopeId", + "documentation":"

        The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

        " + }, + "status":{ + "shape":"ScopeStatus", + "documentation":"

        The status for a call to update a scope. The status can be one of the following: SUCCEEDED, IN_PROGRESS, or FAILED.

        " + }, + "scopeArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the scope.

        " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for a scope.

        " + } + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

        Invalid request.

        ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "VpcArn":{"type":"string"}, + "VpcId":{ + "type":"string", + "pattern":"vpc-[a-zA-Z0-9]{8,32}" + }, + "WorkloadInsightsMetric":{ + "type":"string", + "enum":[ + "TIMEOUTS", + "RETRANSMISSIONS", + "DATA_TRANSFERRED" + ] + }, + "WorkloadInsightsTopContributorsDataPoint":{ + "type":"structure", + "required":[ + "timestamps", + "values", + "label" + ], + "members":{ + "timestamps":{ + "shape":"WorkloadInsightsTopContributorsTimestampsList", + "documentation":"

        An array of the timestamps for the data point.

        " + }, + "values":{ + "shape":"WorkloadInsightsTopContributorsValuesList", + "documentation":"

        The values for the data point.

        " + }, + "label":{ + "shape":"String", + "documentation":"

        The label identifying the data point.

        " + } + }, + "documentation":"

        A data point for a top contributor network flow in a scope. Network Flow Monitor returns information about the network flows with the top values for each metric type, which are called top contributors.

        " + }, + "WorkloadInsightsTopContributorsDataPoints":{ + "type":"list", + "member":{"shape":"WorkloadInsightsTopContributorsDataPoint"} + }, + "WorkloadInsightsTopContributorsRow":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"AccountId", + "documentation":"

        The account ID for a specific row of data.

        " + }, + "localSubnetId":{ + "shape":"SubnetId", + "documentation":"

        The subnet identifier for the local resource.

        " + }, + "localAz":{ + "shape":"AvailabilityZone", + "documentation":"

        The identifier for the Availability Zone where the local resource is located.

        " + }, + "localVpcId":{ + "shape":"VpcId", + "documentation":"

        The identifier for the VPC for the local resource.

        " + }, + "localRegion":{ + "shape":"AwsRegion", + "documentation":"

        The Amazon Web Services Region where the local resource is located.

        " + }, + "remoteIdentifier":{ + "shape":"String", + "documentation":"

        The identifier of a remote resource.

        " + }, + "value":{ + "shape":"Long", + "documentation":"

        The value for a metric.

        " + }, + "localSubnetArn":{ + "shape":"SubnetArn", + "documentation":"

        The Amazon Resource Name (ARN) of a local subnet.

        " + }, + "localVpcArn":{ + "shape":"VpcArn", + "documentation":"

        The Amazon Resource Name (ARN) of a local VPC.

        " + } + }, + "documentation":"

        A row for a top contributor for a scope.

        " + }, + "WorkloadInsightsTopContributorsRowList":{ + "type":"list", + "member":{"shape":"WorkloadInsightsTopContributorsRow"} + }, + "WorkloadInsightsTopContributorsTimestampsList":{ + "type":"list", + "member":{"shape":"SyntheticTimestamp_date_time"} + }, + "WorkloadInsightsTopContributorsValuesList":{ + "type":"list", + "member":{"shape":"Double"} + } + }, + "documentation":"

        Network Flow Monitor is a feature of Amazon CloudWatch Network Monitoring that provides visibility into the performance of network flows for your Amazon Web Services workloads, between instances in subnets, as well as to and from Amazon Web Services. Lightweight agents that you install on the instances capture performance metrics for your network flows, such as packet loss and latency, and send them to the Network Flow Monitor backend. Then, you can view and analyze metrics from the top contributors for each metric type, to help troubleshoot issues.

        In addition, when you create a monitor, Network Flow Monitor provides a network health indicator (NHI) that informs you whether there were Amazon Web Services network issues for one or more of the network flows tracked by a monitor, during a time period that you choose. By using this value, you can independently determine if the Amazon Web Services network is impacting your workload during a specific time frame, to help you focus troubleshooting efforts.

        To learn more about Network Flow Monitor, see the Network Flow Monitor User Guide in the Amazon CloudWatch User Guide.

        " +} diff --git a/tools/code-generation/api-descriptions/opensearch-2021-01-01.normal.json b/tools/code-generation/api-descriptions/opensearch-2021-01-01.normal.json index 400f99658b3..9b4bb37247c 100644 --- a/tools/code-generation/api-descriptions/opensearch-2021-01-01.normal.json +++ b/tools/code-generation/api-descriptions/opensearch-2021-01-01.normal.json @@ -46,6 +46,24 @@ ], "documentation":"

        Creates a new direct-query data source to the specified domain. For more information, see Creating Amazon OpenSearch Service data source integrations with Amazon S3.

        " }, + "AddDirectQueryDataSource":{ + "name":"AddDirectQueryDataSource", + "http":{ + "method":"POST", + "requestUri":"/2021-01-01/opensearch/directQueryDataSource" + }, + "input":{"shape":"AddDirectQueryDataSourceRequest"}, + "output":{"shape":"AddDirectQueryDataSourceResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

        Adds a new data source in Amazon OpenSearch Service so that you can perform direct queries on external data.

        " + }, "AddTags":{ "name":"AddTags", "http":{ @@ -59,7 +77,7 @@ {"shape":"ValidationException"}, {"shape":"InternalException"} ], - "documentation":"

        Attaches tags to an existing Amazon OpenSearch Service domain. Tags are a set of case-sensitive key-value pairs. A domain can have up to 10 tags. For more information, see Tagging Amazon OpenSearch Service domains.

        " + "documentation":"

        Attaches tags to an existing Amazon OpenSearch Service domain, data source, or application.

        Tags are a set of case-sensitive key-value pairs. A domain, data source, or application can have up to 10 tags. For more information, see Tagging Amazon OpenSearch Service resources.

        " }, "AssociatePackage":{ "name":"AssociatePackage", @@ -277,6 +295,22 @@ ], "documentation":"

        Deletes a direct-query data source. For more information, see Deleting an Amazon OpenSearch Service data source with Amazon S3.

        " }, + "DeleteDirectQueryDataSource":{ + "name":"DeleteDirectQueryDataSource", + "http":{ + "method":"DELETE", + "requestUri":"/2021-01-01/opensearch/directQueryDataSource/{DataSourceName}" + }, + "input":{"shape":"DeleteDirectQueryDataSourceRequest"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"} + ], + "documentation":"

        Deletes a previously configured direct query data source from Amazon OpenSearch Service.

        " + }, "DeleteDomain":{ "name":"DeleteDomain", "http":{ @@ -687,6 +721,23 @@ ], "documentation":"

        Retrieves information about a direct query data source.

        " }, + "GetDirectQueryDataSource":{ + "name":"GetDirectQueryDataSource", + "http":{ + "method":"GET", + "requestUri":"/2021-01-01/opensearch/directQueryDataSource/{DataSourceName}" + }, + "input":{"shape":"GetDirectQueryDataSourceRequest"}, + "output":{"shape":"GetDirectQueryDataSourceResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"} + ], + "documentation":"

        Returns detailed configuration information for a specific direct query data source in Amazon OpenSearch Service.

        " + }, "GetDomainMaintenanceStatus":{ "name":"GetDomainMaintenanceStatus", "http":{ @@ -792,6 +843,23 @@ ], "documentation":"

        Lists direct-query data sources for a specific domain. For more information, see For more information, see Working with Amazon OpenSearch Service direct queries with Amazon S3.

        " }, + "ListDirectQueryDataSources":{ + "name":"ListDirectQueryDataSources", + "http":{ + "method":"GET", + "requestUri":"/2021-01-01/opensearch/directQueryDataSource" + }, + "input":{"shape":"ListDirectQueryDataSourcesRequest"}, + "output":{"shape":"ListDirectQueryDataSourcesResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"} + ], + "documentation":"

        Lists an inventory of all the direct query data sources that you have configured within Amazon OpenSearch Service.

        " + }, "ListDomainMaintenances":{ "name":"ListDomainMaintenances", "http":{ @@ -904,7 +972,7 @@ {"shape":"ValidationException"}, {"shape":"InternalException"} ], - "documentation":"

        Returns all resource tags for an Amazon OpenSearch Service domain. For more information, see Tagging Amazon OpenSearch Service domains.

        " + "documentation":"

        Returns all resource tags for an Amazon OpenSearch Service domain, data source, or application. For more information, see Tagging Amazon OpenSearch Service resources.

        " }, "ListVersions":{ "name":"ListVersions", @@ -1013,7 +1081,7 @@ {"shape":"ValidationException"}, {"shape":"InternalException"} ], - "documentation":"

        Removes the specified set of tags from an Amazon OpenSearch Service domain. For more information, see Tagging Amazon OpenSearch Service domains.

        " + "documentation":"

        Removes the specified set of tags from an Amazon OpenSearch Service domain, data source, or application. For more information, see Tagging Amazon OpenSearch Service resources.

        " }, "RevokeVpcEndpointAccess":{ "name":"RevokeVpcEndpointAccess", @@ -1103,6 +1171,23 @@ ], "documentation":"

        Updates a direct-query data source. For more information, see Working with Amazon OpenSearch Service data source integrations with Amazon S3.

        " }, + "UpdateDirectQueryDataSource":{ + "name":"UpdateDirectQueryDataSource", + "http":{ + "method":"PUT", + "requestUri":"/2021-01-01/opensearch/directQueryDataSource/{DataSourceName}" + }, + "input":{"shape":"UpdateDirectQueryDataSourceRequest"}, + "output":{"shape":"UpdateDirectQueryDataSourceResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"} + ], + "documentation":"

        Updates the configuration or properties of an existing direct query data source in Amazon OpenSearch Service.

        " + }, "UpdateDomainConfig":{ "name":"UpdateDomainConfig", "http":{ @@ -1393,6 +1478,42 @@ }, "documentation":"

        The result of an AddDataSource operation.

        " }, + "AddDirectQueryDataSourceRequest":{ + "type":"structure", + "required":[ + "DataSourceName", + "DataSourceType", + "OpenSearchArns" + ], + "members":{ + "DataSourceName":{ + "shape":"DirectQueryDataSourceName", + "documentation":"

        A unique, user-defined label to identify the data source within your OpenSearch Service environment.

        " + }, + "DataSourceType":{ + "shape":"DirectQueryDataSourceType", + "documentation":"

        The supported Amazon Web Services service that you want to use as the source for direct queries in OpenSearch Service.

        " + }, + "Description":{ + "shape":"DirectQueryDataSourceDescription", + "documentation":"

        An optional text field for providing additional context and details about the data source.

        " + }, + "OpenSearchArns":{ + "shape":"DirectQueryOpenSearchARNList", + "documentation":"

        A list of Amazon Resource Names (ARNs) for the OpenSearch collections that are associated with the direct query data source.

        " + }, + "TagList":{"shape":"TagList"} + } + }, + "AddDirectQueryDataSourceResponse":{ + "type":"structure", + "members":{ + "DataSourceArn":{ + "shape":"String", + "documentation":"

        The unique, system-generated identifier that represents the data source.

        " + } + } + }, "AddTagsRequest":{ "type":"structure", "required":[ @@ -1402,14 +1523,14 @@ "members":{ "ARN":{ "shape":"ARN", - "documentation":"

        Amazon Resource Name (ARN) for the OpenSearch Service domain to which you want to attach resource tags.

        " + "documentation":"

        Amazon Resource Name (ARN) for the OpenSearch Service domain, data source, or application to which you want to attach resource tags.

        " }, "TagList":{ "shape":"TagList", "documentation":"

        List of resource tags.

        " } }, - "documentation":"

        Container for the parameters to the AddTags operation. Specifies the tags to attach to the domain.

        " + "documentation":"

        Container for the parameters to the AddTags operation. Specifies the tags to attach to the domain, data source, or application.

        " }, "AdditionalLimit":{ "type":"structure", @@ -2171,6 +2292,17 @@ "max":64, "min":1 }, + "CloudWatchDirectQueryDataSource":{ + "type":"structure", + "required":["RoleArn"], + "members":{ + "RoleArn":{ + "shape":"DirectQueryDataSourceRoleArn", + "documentation":"

        The unique identifier of the IAM role that grants OpenSearch Service permission to access the specified data source.

        " + } + }, + "documentation":"

        Configuration details for a CloudWatch Logs data source that can be used for direct queries.

        " + }, "CloudWatchLogsLogGroupArn":{ "type":"string", "documentation":"

        ARN of the Cloudwatch log group to publish logs to.

        ", @@ -2821,6 +2953,18 @@ }, "documentation":"

        The result of a GetDataSource operation.

        " }, + "DeleteDirectQueryDataSourceRequest":{ + "type":"structure", + "required":["DataSourceName"], + "members":{ + "DataSourceName":{ + "shape":"DirectQueryDataSourceName", + "documentation":"

        A unique, user-defined label to identify the data source within your OpenSearch Service environment.

        ", + "location":"uri", + "locationName":"DataSourceName" + } + } + }, "DeleteDomainRequest":{ "type":"structure", "required":["DomainName"], @@ -3505,6 +3649,76 @@ } }, "Description":{"type":"string"}, + "DirectQueryDataSource":{ + "type":"structure", + "members":{ + "DataSourceName":{ + "shape":"DirectQueryDataSourceName", + "documentation":"

        A unique, user-defined label to identify the data source within your OpenSearch Service environment.

        " + }, + "DataSourceType":{ + "shape":"DirectQueryDataSourceType", + "documentation":"

        The supported Amazon Web Services service that is used as the source for direct queries in OpenSearch Service.

        " + }, + "Description":{ + "shape":"DirectQueryDataSourceDescription", + "documentation":"

        A description that provides additional context and details about the data source.

        " + }, + "OpenSearchArns":{ + "shape":"DirectQueryOpenSearchARNList", + "documentation":"

        A list of Amazon Resource Names (ARNs) for the OpenSearch collections that are associated with the direct query data source.

        " + }, + "DataSourceArn":{ + "shape":"String", + "documentation":"

        The unique, system-generated identifier that represents the data source.

        " + }, + "TagList":{ + "shape":"TagList", + "documentation":"

        A list of tags attached to a direct query data source.

        " + } + }, + "documentation":"

        The configuration details for a data source that can be directly queried.

        " + }, + "DirectQueryDataSourceDescription":{ + "type":"string", + "max":1000, + "pattern":"^([a-zA-Z0-9_])*[\\\\a-zA-Z0-9_@#%*+=:?./!\\s-]*$" + }, + "DirectQueryDataSourceList":{ + "type":"list", + "member":{"shape":"DirectQueryDataSource"} + }, + "DirectQueryDataSourceName":{ + "type":"string", + "max":80, + "min":3, + "pattern":"[a-z][a-z0-9_]+" + }, + "DirectQueryDataSourceRoleArn":{ + "type":"string", + "max":200, + "min":32, + "pattern":"^arn:aws[a-zA-Z-]*:iam::\\d{12}:role(\\/service-role)?\\/[A-Za-z0-9+=,.@\\-_]{1,64}$" + }, + "DirectQueryDataSourceType":{ + "type":"structure", + "members":{ + "CloudWatchLog":{ + "shape":"CloudWatchDirectQueryDataSource", + "documentation":"

        Specifies CloudWatch Logs as a type of data source for direct queries.

        " + }, + "SecurityLake":{ + "shape":"SecurityLakeDirectQueryDataSource", + "documentation":"

        Specifies Security Lake as a type of data source for direct queries.

        " + } + }, + "documentation":"

        The type of data source that is used for direct queries. This is a supported Amazon Web Services service, such as CloudWatch Logs or Security Lake.

        ", + "union":true + }, + "DirectQueryOpenSearchARNList":{ + "type":"list", + "member":{"shape":"ARN"} + }, "DisableTimestamp":{"type":"timestamp"}, "DisabledOperationException":{ "type":"structure", @@ -4442,6 +4656,43 @@ }, "documentation":"

        The result of a GetDataSource operation.

        " }, + "GetDirectQueryDataSourceRequest":{ + "type":"structure", + "required":["DataSourceName"], + "members":{ + "DataSourceName":{ + "shape":"DirectQueryDataSourceName", + "documentation":"

        A unique, user-defined label that identifies the data source within your OpenSearch Service environment.

        ", + "location":"uri", + "locationName":"DataSourceName" + } + } + }, + "GetDirectQueryDataSourceResponse":{ + "type":"structure", + "members":{ + "DataSourceName":{ + "shape":"DirectQueryDataSourceName", + "documentation":"

        A unique, user-defined label to identify the data source within your OpenSearch Service environment.

        " + }, + "DataSourceType":{ + "shape":"DirectQueryDataSourceType", + "documentation":"

        The supported Amazon Web Services service that is used as the source for direct queries in OpenSearch Service.

        " + }, + "Description":{ + "shape":"DirectQueryDataSourceDescription", + "documentation":"

        A description that provides additional context and details about the data source.

        " + }, + "OpenSearchArns":{ + "shape":"DirectQueryOpenSearchARNList", + "documentation":"

        A list of Amazon Resource Names (ARNs) for the OpenSearch collections that are associated with the direct query data source.

        " + }, + "DataSourceArn":{ + "shape":"String", + "documentation":"

        The unique, system-generated identifier that represents the data source.

        " + } + } + }, "GetDomainMaintenanceStatusRequest":{ "type":"structure", "required":[ @@ -5099,6 +5350,26 @@ }, "documentation":"

        The result of a ListDataSources operation.

        " }, + "ListDirectQueryDataSourcesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nexttoken" + } + } + }, + "ListDirectQueryDataSourcesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "DirectQueryDataSources":{ + "shape":"DirectQueryDataSourceList", + "documentation":"

        A list of the direct query data sources that are returned by the ListDirectQueryDataSources API operation.

        " + } + } + }, "ListDomainMaintenancesRequest":{ "type":"structure", "required":["DomainName"], @@ -5348,7 +5619,7 @@ "members":{ "ARN":{ "shape":"ARN", - "documentation":"

        Amazon Resource Name (ARN) for the domain to view tags for.

        ", + "documentation":"

        Amazon Resource Name (ARN) for the domain, data source, or application to view tags for.

        ", "location":"querystring", "locationName":"arn" } @@ -5360,7 +5631,7 @@ "members":{ "TagList":{ "shape":"TagList", - "documentation":"

        List of resource tags associated with the specified domain.

        " + "documentation":"

        List of resource tags associated with the specified domain, data source, or application.

        " } }, "documentation":"

        The results of a ListTags operation.

        " @@ -6492,11 +6763,11 @@ "members":{ "ARN":{ "shape":"ARN", - "documentation":"

        The Amazon Resource Name (ARN) of the domain from which you want to delete the specified tags.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the domain, data source, or application from which you want to delete the specified tags.

        " }, "TagKeys":{ "shape":"StringList", - "documentation":"

        The list of tag keys to remove from the domain.

        " + "documentation":"

        The list of tag keys to remove from the domain, data source, or application.

        " } }, "documentation":"

        Container for the request parameters to the RemoveTags operation.

        " @@ -6922,6 +7193,17 @@ "SYSTEM" ] }, + "SecurityLakeDirectQueryDataSource":{ + "type":"structure", + "required":["RoleArn"], + "members":{ + "RoleArn":{ + "shape":"DirectQueryDataSourceRoleArn", + "documentation":"

        The unique identifier of the IAM role that grants OpenSearch Service permission to access the specified data source.

        " + } + }, + "documentation":"

        Configuration details for a Security Lake data source that can be used for direct queries.

        " + }, "ServiceSoftwareOptions":{ "type":"structure", "members":{ @@ -7337,6 +7619,43 @@ }, "documentation":"

        The result of an UpdateDataSource operation.

        " }, + "UpdateDirectQueryDataSourceRequest":{ + "type":"structure", + "required":[ + "DataSourceName", + "DataSourceType", + "OpenSearchArns" + ], + "members":{ + "DataSourceName":{ + "shape":"DirectQueryDataSourceName", + "documentation":"

        A unique, user-defined label to identify the data source within your OpenSearch Service environment.

        ", + "location":"uri", + "locationName":"DataSourceName" + }, + "DataSourceType":{ + "shape":"DirectQueryDataSourceType", + "documentation":"

        The supported Amazon Web Services service that you want to use as the source for direct queries in OpenSearch Service.

        " + }, + "Description":{ + "shape":"DirectQueryDataSourceDescription", + "documentation":"

        An optional text field for providing additional context and details about the data source.

        " + }, + "OpenSearchArns":{ + "shape":"DirectQueryOpenSearchARNList", + "documentation":"

        A list of Amazon Resource Names (ARNs) for the OpenSearch collections that are associated with the direct query data source.

        " + } + } + }, + "UpdateDirectQueryDataSourceResponse":{ + "type":"structure", + "members":{ + "DataSourceArn":{ + "shape":"String", + "documentation":"

        The unique, system-generated identifier that represents the data source.

        " + } + } + }, "UpdateDomainConfigRequest":{ "type":"structure", "required":["DomainName"], diff --git a/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json b/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json index 7641719be4b..103cd0302d9 100644 --- a/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json +++ b/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json @@ -60,7 +60,7 @@ {"shape":"UnsupportedAPIEndpointException"}, {"shape":"PolicyChangesInProgressException"} ], - "documentation":"

        Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects accounts depends on the type of policy. Refer to the Organizations User Guide for information about each policy type:

        This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

        " + "documentation":"

        Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects accounts depends on the type of policy. Refer to the Organizations User Guide for information about each policy type:

        This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

        " }, "CancelHandshake":{ "name":"CancelHandshake", @@ -381,7 +381,7 @@ {"shape":"InvalidInputException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

        Returns the contents of the effective policy for specified policy type and account. The effective policy is the aggregation of any policies of the specified type that the account inherits, plus any policy of that type that is directly attached to the account.

        This operation applies only to policy types other than service control policies (SCPs).

        For more information about policy inheritance, see Understanding management policy inheritance in the Organizations User Guide.

        This operation can be called from any account in the organization.

        " + "documentation":"

        Returns the contents of the effective policy for specified policy type and account. The effective policy is the aggregation of any policies of the specified type that the account inherits, plus any policy of that type that is directly attached to the account.

        This operation applies only to management policies. It does not apply to authorization policies: service control policies (SCPs) and resource control policies (RCPs).

        For more information about policy inheritance, see Understanding management policy inheritance in the Organizations User Guide.

        This operation can be called from any account in the organization.

        " }, "DescribeHandshake":{ "name":"DescribeHandshake", @@ -1661,7 +1661,7 @@ }, "Type":{ "shape":"PolicyType", - "documentation":"

        The type of policy to create. You can specify one of the following values:

        " + "documentation":"

        The type of policy to create. You can specify one of the following values:

        " }, "Tags":{ "shape":"Tags", @@ -1838,7 +1838,7 @@ "members":{ "PolicyType":{ "shape":"EffectivePolicyType", - "documentation":"

        The type of policy that you want information about. You can specify one of the following values:

        " + "documentation":"

        The type of policy that you want information about. You can specify one of the following values:

        " }, "TargetId":{ "shape":"PolicyTargetId", @@ -1978,7 +1978,7 @@ }, "PolicyType":{ "shape":"PolicyType", - "documentation":"

        The policy type that you want to disable in this root. You can specify one of the following values:

        " + "documentation":"

        The policy type that you want to disable in this root. You can specify one of the following values:

        " } } }, @@ -2067,7 +2067,8 @@ "TAG_POLICY", "BACKUP_POLICY", "AISERVICES_OPT_OUT_POLICY", - "CHATBOT_POLICY" + "CHATBOT_POLICY", + "DECLARATIVE_POLICY_EC2" ] }, "Email":{ @@ -2114,7 +2115,7 @@ }, "PolicyType":{ "shape":"PolicyType", - "documentation":"

        The policy type that you want to enable. You can specify one of the following values:

        " + "documentation":"

        The policy type that you want to enable. You can specify one of the following values:

        " } } }, @@ -2790,7 +2791,7 @@ }, "Filter":{ "shape":"PolicyType", - "documentation":"

        The type of policy that you want to include in the returned list. You must specify one of the following values:

        " + "documentation":"

        The type of policy that you want to include in the returned list. You must specify one of the following values:

        " }, "NextToken":{ "shape":"NextToken", @@ -2821,7 +2822,7 @@ "members":{ "Filter":{ "shape":"PolicyType", - "documentation":"

        Specifies the type of policy that you want to include in the response. You must specify one of the following values:

        " + "documentation":"

        Specifies the type of policy that you want to include in the response. You must specify one of the following values:

        " }, "NextToken":{ "shape":"NextToken", @@ -3271,7 +3272,8 @@ "TAG_POLICY", "BACKUP_POLICY", "AISERVICES_OPT_OUT_POLICY", - "CHATBOT_POLICY" + "CHATBOT_POLICY", + "DECLARATIVE_POLICY_EC2" ] }, "PolicyTypeAlreadyEnabledException":{ diff --git a/tools/code-generation/api-descriptions/qbusiness-2023-11-27.normal.json b/tools/code-generation/api-descriptions/qbusiness-2023-11-27.normal.json index 532272576cd..cec3f1be592 100644 --- a/tools/code-generation/api-descriptions/qbusiness-2023-11-27.normal.json +++ b/tools/code-generation/api-descriptions/qbusiness-2023-11-27.normal.json @@ -67,6 +67,7 @@ {"shape":"InternalServerException"}, {"shape":"LicenseNotFoundException"}, {"shape":"ConflictException"}, + {"shape":"ExternalResourceException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} @@ -87,6 +88,7 @@ {"shape":"InternalServerException"}, {"shape":"LicenseNotFoundException"}, {"shape":"ConflictException"}, + {"shape":"ExternalResourceException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} @@ -111,7 +113,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

        Creates an Amazon Q Business application.

        There are new tiers for Amazon Q Business. Not all features in Amazon Q Business Pro are also available in Amazon Q Business Lite. For information on what's included in Amazon Q Business Lite and what's included in Amazon Q Business Pro, see Amazon Q Business tiers. You must use the Amazon Q Business console to assign subscription tiers to users.

        A Amazon Q Apps service linked role will be created if it's absent in the Amazon Web Services account when the QAppsConfiguration is enabled in the request. For more information, see Using service-linked roles for Q Apps

        ", + "documentation":"

        Creates an Amazon Q Business application.

        There are new tiers for Amazon Q Business. Not all features in Amazon Q Business Pro are also available in Amazon Q Business Lite. For information on what's included in Amazon Q Business Lite and what's included in Amazon Q Business Pro, see Amazon Q Business tiers. You must use the Amazon Q Business console to assign subscription tiers to users.

        An Amazon Q Apps service linked role will be created if it's absent in the Amazon Web Services account when QAppsConfiguration is enabled in the request. For more information, see Using service-linked roles for Q Apps.

        When you create an application, Amazon Q Business may securely transmit data for processing from your selected Amazon Web Services region, but within your geography. For more information, see Cross region inference in Amazon Q Business.

        ", "idempotent":true }, "CreateDataSource":{ @@ -527,6 +529,26 @@ ], "documentation":"

        Gets information about an existing Amazon Q Business index.

        " }, + "GetMedia":{ + "name":"GetMedia", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}/conversations/{conversationId}/messages/{messageId}/media/{mediaId}", + "responseCode":200 + }, + "input":{"shape":"GetMediaRequest"}, + "output":{"shape":"GetMediaResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"LicenseNotFoundException"}, + {"shape":"MediaTooLargeException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Returns the image bytes corresponding to a media object. If you have implemented your own application with the Chat and ChatSync APIs, and have enabled content extraction from visual data in Amazon Q Business, you use the GetMedia API operation to download the images so you can show them in your UI with responses.

        For more information, see Extracting semantic meaning from images and visuals.

        " + }, "GetPlugin":{ "name":"GetPlugin", "http":{ @@ -615,7 +637,26 @@ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Lists Amazon Q Business applications.

        " + "documentation":"

        Lists Amazon Q Business applications.

        Amazon Q Business applications may securely transmit data for processing across Amazon Web Services Regions within your geography. For more information, see Cross region inference in Amazon Q Business.

        " + }, + "ListAttachments":{ + "name":"ListAttachments", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}/attachments", + "responseCode":200 + }, + "input":{"shape":"ListAttachmentsRequest"}, + "output":{"shape":"ListAttachmentsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"LicenseNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Gets a list of attachments associated with an Amazon Q Business web experience or a list of attachements associated with a specific Amazon Q Business conversation.

        " }, "ListConversations":{ "name":"ListConversations", @@ -648,6 +689,7 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} @@ -888,6 +930,7 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} @@ -950,7 +993,7 @@ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Updates an existing Amazon Q Business application.

        A Amazon Q Apps service-linked role will be created if it's absent in the Amazon Web Services account when the QAppsConfiguration is enabled in the request. For more information, see Using service-linked roles for Q Apps

        ", + "documentation":"

        Updates an existing Amazon Q Business application.

        Amazon Q Business applications may securely transmit data for processing across Amazon Web Services Regions within your geography. For more information, see Cross region inference in Amazon Q Business.

        An Amazon Q Apps service-linked role will be created if it's absent in the Amazon Web Services account when QAppsConfiguration is enabled in the request. For more information, see Using service-linked roles for Q Apps.

        ", "idempotent":true }, "UpdateChatControlsConfiguration":{ @@ -1468,23 +1511,73 @@ }, "documentation":"

        The creator mode specific admin controls configured for an Amazon Q Business application. Determines whether an end user can generate LLM-only responses when they use the web experience.

        For more information, see Admin controls and guardrails and Conversation settings.

        " }, - "AttachmentInput":{ + "Attachment":{ "type":"structure", - "required":[ - "name", - "data" - ], "members":{ + "attachmentId":{ + "shape":"AttachmentId", + "documentation":"

        The identifier of the Amazon Q Business attachment.

        " + }, + "conversationId":{ + "shape":"ConversationId", + "documentation":"

        The identifier of the Amazon Q Business conversation the attachment is associated with.

        " + }, "name":{ "shape":"AttachmentName", - "documentation":"

        The name of the file.

        " + "documentation":"

        Filename of the Amazon Q Business attachment.

        " }, + "copyFrom":{ + "shape":"CopyFromSource", + "documentation":"

        A CopyFromSource containing a reference to the original source of the Amazon Q Business attachment.

        " + }, + "fileType":{ + "shape":"String", + "documentation":"

        Filetype of the Amazon Q Business attachment.

        " + }, + "fileSize":{ + "shape":"Integer", + "documentation":"

        Size in bytes of the Amazon Q Business attachment.

        " + }, + "md5chksum":{ + "shape":"String", + "documentation":"

        MD5 checksum of the Amazon Q Business attachment contents.

        " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

        The Unix timestamp when the Amazon Q Business attachment was created.

        " + }, + "status":{ + "shape":"AttachmentStatus", + "documentation":"

        AttachmentStatus of the Amazon Q Business attachment.

        " + }, + "error":{ + "shape":"ErrorDetail", + "documentation":"

        ErrorDetail providing information about a Amazon Q Business attachment error.

        " + } + }, + "documentation":"

        An attachment in an Amazon Q Business conversation.

        " + }, + "AttachmentId":{ + "type":"string", + "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" + }, + "AttachmentInput":{ + "type":"structure", + "members":{ "data":{ "shape":"Blob", - "documentation":"

        The data contained within the uploaded file.

        " + "documentation":"

        The contents of the attachment.

        " + }, + "name":{ + "shape":"AttachmentName", + "documentation":"

        The filename of the attachment.

        " + }, + "copyFrom":{ + "shape":"CopyFromSource", + "documentation":"

        A reference to an existing attachment.

        " } }, - "documentation":"

        A file directly uploaded into a web experience chat.

        " + "documentation":"

        This is either a file directly uploaded into a web experience chat or a reference to an existing attachment that is part of a web experience chat.

        " }, "AttachmentInputEvent":{ "type":"structure", @@ -1494,6 +1587,10 @@ "documentation":"

        A file input event activated by a end user request to upload files into their web experience chat.

        ", "event":true }, + "AttachmentList":{ + "type":"list", + "member":{"shape":"Attachment"} + }, "AttachmentName":{ "type":"string", "max":1000, @@ -1514,6 +1611,14 @@ "error":{ "shape":"ErrorDetail", "documentation":"

        An error associated with a file uploaded during chat.

        " + }, + "attachmentId":{ + "shape":"AttachmentId", + "documentation":"

        The unique identifier of the Amazon Q Business attachment.

        " + }, + "conversationId":{ + "shape":"ConversationId", + "documentation":"

        The unique identifier of the Amazon Q Business conversation.

        " } }, "documentation":"

        The details of a file uploaded during chat.

        " @@ -1522,7 +1627,7 @@ "type":"string", "enum":[ "FAILED", - "SUCCEEDED" + "SUCCESS" ] }, "AttachmentsConfiguration":{ @@ -1807,9 +1912,7 @@ }, "BlockedPhrases":{ "type":"list", - "member":{"shape":"BlockedPhrase"}, - "max":5, - "min":0 + "member":{"shape":"BlockedPhrase"} }, "BlockedPhrasesConfiguration":{ "type":"structure", @@ -1853,6 +1956,30 @@ "max":999999999, "min":0 }, + "BrowserExtension":{ + "type":"string", + "enum":[ + "FIREFOX", + "CHROME" + ] + }, + "BrowserExtensionConfiguration":{ + "type":"structure", + "required":["enabledBrowserExtensions"], + "members":{ + "enabledBrowserExtensions":{ + "shape":"BrowserExtensionList", + "documentation":"

        Specify the browser extensions allowed for your Amazon Q web experience.

        • CHROME — Enables the extension for Chromium-based browsers (Google Chrome, Microsoft Edge, Opera, etc.).

        • FIREFOX — Enables the extension for Mozilla Firefox.

        • CHROME and FIREFOX — Enable the extension for Chromium-based browsers and Mozilla Firefox.

        " + } + }, + "documentation":"

        The container for browser extension configuration for an Amazon Q Business web experience.

        " + }, + "BrowserExtensionList":{ + "type":"list", + "member":{"shape":"BrowserExtension"}, + "max":2, + "min":0 + }, "ChatInput":{ "type":"structure", "required":["applicationId"], @@ -2040,7 +2167,7 @@ }, "chatMode":{ "shape":"ChatMode", - "documentation":"

        The chat modes available to an Amazon Q Business end user.

        • RETRIEVAL_MODE - The default chat mode for an Amazon Q Business application. When this mode is enabled, Amazon Q Business generates responses only from data sources connected to an Amazon Q Business application.

        • CREATOR_MODE - By selecting this mode, users can choose to generate responses only from the LLM knowledge, without consulting connected data sources, for a chat request.

        • PLUGIN_MODE - By selecting this mode, users can choose to use plugins in chat.

        For more information, see Admin controls and guardrails, Plugins, and Conversation settings.

        " + "documentation":"

        The chatMode parameter determines the chat modes available to Amazon Q Business users:

        • RETRIEVAL_MODE - If you choose this mode, Amazon Q generates responses solely from the data sources connected and indexed by the application. If an answer is not found in the data sources or there are no data sources available, Amazon Q will respond with a \"No Answer Found\" message, unless LLM knowledge has been enabled. In that case, Amazon Q will generate a response from the LLM knowledge

        • CREATOR_MODE - By selecting this mode, you can choose to generate responses only from the LLM knowledge. You can also attach files and have Amazon Q generate a response based on the data in those files. If the attached files do not contain an answer for the query, Amazon Q will automatically fall back to generating a response from the LLM knowledge.

        • PLUGIN_MODE - By selecting this mode, users can choose to use plugins in chat to get their responses.

        If none of the modes are selected, Amazon Q will only respond using the information from the attached files.

        For more information, see Admin controls and guardrails, Plugins, and Response sources.

        " }, "chatModeConfiguration":{ "shape":"ChatModeConfiguration", @@ -2093,7 +2220,8 @@ "ClientIdForOIDC":{ "type":"string", "max":255, - "min":1 + "min":1, + "pattern":"[a-zA-Z0-9_.:/()*?=-]*" }, "ClientIdsForOIDC":{ "type":"list", @@ -2138,7 +2266,7 @@ "documentation":"

        The type of the resource affected.

        " } }, - "documentation":"

        You are trying to perform an action that conflicts with the current status of your resource. Fix any inconsistences with your resources and try again.

        ", + "documentation":"

        You are trying to perform an action that conflicts with the current status of your resource. Fix any inconsistencies with your resources and try again.

        ", "error":{ "httpStatusCode":409, "senderFault":true @@ -2206,11 +2334,40 @@ "min":36, "pattern":"[a-zA-Z0-9][a-zA-Z0-9-]{35}" }, + "ConversationSource":{ + "type":"structure", + "required":[ + "conversationId", + "attachmentId" + ], + "members":{ + "conversationId":{ + "shape":"ConversationId", + "documentation":"

        The unique identifier of the Amazon Q Business conversation.

        " + }, + "attachmentId":{ + "shape":"AttachmentId", + "documentation":"

        The unique identifier of the Amazon Q Business attachment.

        " + } + }, + "documentation":"

        The source reference for an existing attachment in an existing conversation.

        " + }, "ConversationTitle":{"type":"string"}, "Conversations":{ "type":"list", "member":{"shape":"Conversation"} }, + "CopyFromSource":{ + "type":"structure", + "members":{ + "conversation":{ + "shape":"ConversationSource", + "documentation":"

        A reference to an attachment in an existing conversation.

        " + } + }, + "documentation":"

        The source reference for an existing attachment.

        ", + "union":true + }, "CreateApplicationRequest":{ "type":"structure", "required":["displayName"], @@ -2228,7 +2385,7 @@ "documentation":"

        The authentication type being used by a Amazon Q Business application.

        " }, "iamIdentityProviderArn":{ - "shape":"IamIdentityProviderArn", + "shape":"IAMIdentityProviderArn", "documentation":"

        The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.

        " }, "identityCenterInstanceArn":{ @@ -2337,7 +2494,11 @@ "documentation":"

        A token you provide to identify a request to create a data source connector. Multiple calls to the CreateDataSource API with the same client token will create only one data source connector.

        ", "idempotencyToken":true }, - "documentEnrichmentConfiguration":{"shape":"DocumentEnrichmentConfiguration"} + "documentEnrichmentConfiguration":{"shape":"DocumentEnrichmentConfiguration"}, + "mediaExtractionConfiguration":{ + "shape":"MediaExtractionConfiguration", + "documentation":"

        The configuration for extracting information from media in documents during ingestion.

        " + } } }, "CreateDataSourceResponse":{ @@ -2370,14 +2531,14 @@ "shape":"IndexName", "documentation":"

        A name for the Amazon Q Business index.

        " }, - "type":{ - "shape":"IndexType", - "documentation":"

        The index type that's suitable for your needs. For more information on what's included in each type of index, see Amazon Q Business tiers.

        " - }, "description":{ "shape":"Description", "documentation":"

        A description for the Amazon Q Business index.

        " }, + "type":{ + "shape":"IndexType", + "documentation":"

        The index type that's suitable for your needs. For more information on what's included in each type of index, see Amazon Q Business tiers.

        " + }, "tags":{ "shape":"Tags", "documentation":"

        A list of key-value pairs that identify or categorize the index. You can also use tags to help control access to the index. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

        " @@ -2603,6 +2764,10 @@ "identityProviderConfiguration":{ "shape":"IdentityProviderConfiguration", "documentation":"

        Information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.

        " + }, + "browserExtensionConfiguration":{ + "shape":"BrowserExtensionConfiguration", + "documentation":"

        The browser extension configuration for an Amazon Q Business web experience.

        For Amazon Q Business application using external OIDC-compliant identity providers (IdPs). The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application. For more information, see Configure external OIDC identity provider for your browser extensions..

        " } } }, @@ -3138,7 +3303,7 @@ "type":"string", "max":1000, "min":0, - "pattern":"\\P{C}*" + "pattern":"[\\s\\S]*" }, "Document":{ "type":"structure", @@ -3171,6 +3336,10 @@ "documentEnrichmentConfiguration":{ "shape":"DocumentEnrichmentConfiguration", "documentation":"

        The configuration information for altering document metadata and content during the document ingestion process.

        " + }, + "mediaExtractionConfiguration":{ + "shape":"MediaExtractionConfiguration", + "documentation":"

        The configuration for extracting information from media in the document.

        " } }, "documentation":"

        A document in an Amazon Q Business application.

        " @@ -3494,20 +3663,20 @@ "members":{ "errorMessage":{ "shape":"ErrorMessage", - "documentation":"

        The message explaining the data source sync error.

        " + "documentation":"

        The message explaining the Amazon Q Business request error.

        " }, "errorCode":{ "shape":"ErrorCode", - "documentation":"

        The code associated with the data source sync error.

        " + "documentation":"

        The code associated with the Amazon Q Business request error.

        " } }, - "documentation":"

        Provides information about a data source sync error.

        " + "documentation":"

        Provides information about a Amazon Q Business request error.

        " }, "ErrorMessage":{ "type":"string", "max":2048, "min":1, - "pattern":"\\P{C}*" + "pattern":"[\\s\\S]*" }, "ExampleChatMessage":{ "type":"string", @@ -3527,6 +3696,19 @@ "min":36, "pattern":"[a-zA-Z0-9][a-zA-Z0-9-]{35}" }, + "ExternalResourceException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

        An external resource that you configured with your application is returning errors and preventing this operation from succeeding. Fix those errors and try again.

        ", + "error":{ + "httpStatusCode":424, + "senderFault":true + }, + "exception":true + }, "FailedAttachmentEvent":{ "type":"structure", "members":{ @@ -3601,7 +3783,7 @@ "documentation":"

        The authentication type being used by a Amazon Q Business application.

        " }, "iamIdentityProviderArn":{ - "shape":"IamIdentityProviderArn", + "shape":"IAMIdentityProviderArn", "documentation":"

        The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.

        " }, "identityCenterApplicationArn":{ @@ -3798,7 +3980,11 @@ "shape":"ErrorDetail", "documentation":"

        When the Status field value is FAILED, the ErrorMessage field contains a description of the error that caused the data source connector to fail.

        " }, - "documentEnrichmentConfiguration":{"shape":"DocumentEnrichmentConfiguration"} + "documentEnrichmentConfiguration":{"shape":"DocumentEnrichmentConfiguration"}, + "mediaExtractionConfiguration":{ + "shape":"MediaExtractionConfiguration", + "documentation":"

        The configuration for extracting information from media in documents for the data source.

        " + } } }, "GetGroupRequest":{ @@ -3884,10 +4070,6 @@ "shape":"IndexName", "documentation":"

        The name of the Amazon Q Business index.

        " }, - "type":{ - "shape":"IndexType", - "documentation":"

        The type of index attached to your Amazon Q Business application.

        " - }, "indexArn":{ "shape":"IndexArn", "documentation":"

        The Amazon Resource Name (ARN) of the Amazon Q Business index.

        " @@ -3896,6 +4078,10 @@ "shape":"IndexStatus", "documentation":"

        The current status of the index. When the value is ACTIVE, the index is ready for use. If the Status field value is FAILED, the ErrorMessage field contains a message that explains why.

        " }, + "type":{ + "shape":"IndexType", + "documentation":"

        The type of index attached to your Amazon Q Business application.

        " + }, "description":{ "shape":"Description", "documentation":"

        The description for the Amazon Q Business index.

        " @@ -3926,6 +4112,54 @@ } } }, + "GetMediaRequest":{ + "type":"structure", + "required":[ + "applicationId", + "conversationId", + "messageId", + "mediaId" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

        The identifier of the Amazon Q Business which contains the media object.

        ", + "location":"uri", + "locationName":"applicationId" + }, + "conversationId":{ + "shape":"ConversationId", + "documentation":"

        The identifier of the Amazon Q Business conversation.

        ", + "location":"uri", + "locationName":"conversationId" + }, + "messageId":{ + "shape":"MessageId", + "documentation":"

        The identifier of the Amazon Q Business message.

        ", + "location":"uri", + "locationName":"messageId" + }, + "mediaId":{ + "shape":"MediaId", + "documentation":"

        The identifier of the media object. You can find this in the sourceAttributions returned by the Chat, ChatSync, and ListMessages API responses.

        ", + "location":"uri", + "locationName":"mediaId" + } + } + }, + "GetMediaResponse":{ + "type":"structure", + "members":{ + "mediaBytes":{ + "shape":"Blob", + "documentation":"

        The base64-encoded bytes of the media object.

        " + }, + "mediaMimeType":{ + "shape":"String", + "documentation":"

        The MIME type of the media object (image/png).

        " + } + } + }, "GetPluginRequest":{ "type":"structure", "required":[ @@ -4179,6 +4413,10 @@ "error":{ "shape":"ErrorDetail", "documentation":"

        When the Status field value is FAILED, the ErrorMessage field contains a description of the error that caused the data source connector to fail.

        " + }, + "browserExtensionConfiguration":{ + "shape":"BrowserExtensionConfiguration", + "documentation":"

        The browser extension configuration for an Amazon Q Business web experience.

        " } } }, @@ -4271,7 +4509,7 @@ }, "documentation":"

        Provides the configuration information for invoking a Lambda function in Lambda to alter document metadata and content when ingesting documents into Amazon Q Business.

        You can configure your Lambda function using the PreExtractionHookConfiguration parameter if you want to apply advanced alterations on the original or raw documents.

        If you want to apply advanced alterations on the Amazon Q Business structured documents, you must configure your Lambda function using PostExtractionHookConfiguration.

        You can only invoke one Lambda function. However, this function can invoke other functions it requires.

        For more information, see Custom document enrichment.

        " }, - "IamIdentityProviderArn":{ + "IAMIdentityProviderArn":{ "type":"string", "max":2048, "min":20, @@ -4300,6 +4538,24 @@ "AWS_IAM_IDC" ] }, + "ImageExtractionConfiguration":{ + "type":"structure", + "required":["imageExtractionStatus"], + "members":{ + "imageExtractionStatus":{ + "shape":"ImageExtractionStatus", + "documentation":"

        Specify whether to extract semantic meaning from images and visuals from documents.

        " + } + }, + "documentation":"

        The configuration for extracting semantic meaning from images in documents. For more information, see Extracting semantic meaning from images and visuals.

        " + }, + "ImageExtractionStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "Index":{ "type":"structure", "members":{ @@ -4511,6 +4767,55 @@ } } }, + "ListAttachmentsRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

        The unique identifier for the Amazon Q Business application.

        ", + "location":"uri", + "locationName":"applicationId" + }, + "conversationId":{ + "shape":"ConversationId", + "documentation":"

        The unique identifier of the Amazon Q Business web experience conversation.

        ", + "location":"querystring", + "locationName":"conversationId" + }, + "userId":{ + "shape":"UserId", + "documentation":"

        The unique identifier of the user involved in the Amazon Q Business web experience conversation.

        ", + "location":"querystring", + "locationName":"userId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If the number of attachments returned exceeds maxResults, Amazon Q Business returns a next token as a pagination token to retrieve the next set of attachments.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResultsIntegerForListAttachments", + "documentation":"

        The maximum number of attachements to return.

        ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAttachmentsResponse":{ + "type":"structure", + "members":{ + "attachments":{ + "shape":"AttachmentList", + "documentation":"

        An array of information on one or more attachments.

        " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If the response is truncated, Amazon Q Business returns this token, which you can use in a later request to list the next set of attachments.

        " + } + } + }, "ListConversationsRequest":{ "type":"structure", "required":["applicationId"], @@ -4846,7 +5151,7 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

        If the number of retrievers returned exceeds maxResults, Amazon Q Business returns a next token as a pagination token to retrieve the next set of messages.

        ", + "documentation":"

        If the number of messages returned exceeds maxResults, Amazon Q Business returns a next token as a pagination token to retrieve the next set of messages.

        ", "location":"querystring", "locationName":"nextToken" }, @@ -5019,6 +5324,12 @@ "max":100, "min":1 }, + "MaxResultsIntegerForListAttachments":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, "MaxResultsIntegerForListConversations":{ "type":"integer", "box":true, @@ -5079,6 +5390,35 @@ "max":100, "min":1 }, + "MediaExtractionConfiguration":{ + "type":"structure", + "members":{ + "imageExtractionConfiguration":{ + "shape":"ImageExtractionConfiguration", + "documentation":"

        The configuration for extracting semantic meaning from images in documents. For more information, see Extracting semantic meaning from images and visuals.

        " + } + }, + "documentation":"

        The configuration for extracting information from media in documents.

        " + }, + "MediaId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9-]{35}" + }, + "MediaTooLargeException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

        The requested media object is too large to be returned.

        ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "MemberGroup":{ "type":"structure", "required":["groupName"], @@ -5096,9 +5436,7 @@ }, "MemberGroups":{ "type":"list", - "member":{"shape":"MemberGroup"}, - "max":1000, - "min":1 + "member":{"shape":"MemberGroup"} }, "MemberRelation":{ "type":"string", @@ -5124,9 +5462,7 @@ }, "MemberUsers":{ "type":"list", - "member":{"shape":"MemberUser"}, - "max":1000, - "min":1 + "member":{"shape":"MemberUser"} }, "MembershipType":{ "type":"string", @@ -6021,6 +6357,12 @@ }, "documentation":"

        The documents used to generate an Amazon Q Business web experience response.

        " }, + "SourceAttributionMediaId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9-]{35}" + }, "SourceAttributions":{ "type":"list", "member":{"shape":"SourceAttribution"} @@ -6170,7 +6512,7 @@ "type":"string", "max":998, "min":0, - "pattern":"\\P{C}*" + "pattern":"[\\s\\S]*" }, "SystemMessageId":{ "type":"string", @@ -6311,6 +6653,14 @@ "snippetExcerpt":{ "shape":"SnippetExcerpt", "documentation":"

        The relevant text excerpt from a source that was used to generate a citation text segment in an Amazon Q Business chat response.

        " + }, + "mediaId":{ + "shape":"SourceAttributionMediaId", + "documentation":"

        The identifier of the media object associated with the text segment in the source attribution.

        " + }, + "mediaMimeType":{ + "shape":"String", + "documentation":"

        The MIME type (image/png) of the media object associated with the text segment in the source attribution.

        " } }, "documentation":"

        Provides information about a text extract in a chat response that can be attributed to a source document.

        " @@ -6543,7 +6893,11 @@ "shape":"RoleArn", "documentation":"

        The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.

        " }, - "documentEnrichmentConfiguration":{"shape":"DocumentEnrichmentConfiguration"} + "documentEnrichmentConfiguration":{"shape":"DocumentEnrichmentConfiguration"}, + "mediaExtractionConfiguration":{ + "shape":"MediaExtractionConfiguration", + "documentation":"

        The configuration for extracting information from media in documents for your data source.

        " + } } }, "UpdateDataSourceResponse":{ @@ -6772,6 +7126,10 @@ "origins":{ "shape":"WebExperienceOrigins", "documentation":"

        Updates the website domain origins that are allowed to embed the Amazon Q Business web experience.

         The <i>domain origin</i> refers to the <i>base URL</i> for accessing a website including the protocol (<code>http/https</code>), the domain name, and the port number (if specified).</p> <note> <ul> <li> <p>Any values except <code>null</code> submitted as part of this update will replace all previous values.</p> </li> <li> <p>You must only submit a <i>base URL</i> and not a full path. For example, <code>https://docs.aws.amazon.com</code>.</p> </li> </ul> </note> 
        " + }, + "browserExtensionConfiguration":{ + "shape":"BrowserExtensionConfiguration", + "documentation":"

        The browser extension configuration for an Amazon Q Business web experience.

        For Amazon Q Business application using external OIDC-compliant identity providers (IdPs). The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application. For more information, see Configure external OIDC identity provider for your browser extensions..

        " } } }, @@ -6823,11 +7181,7 @@ "type":"list", "member":{"shape":"String"} }, - "UserMessage":{ - "type":"string", - "max":7000, - "min":1 - }, + "UserMessage":{"type":"string"}, "UsersAndGroups":{ "type":"structure", "members":{ @@ -6972,13 +7326,13 @@ "type":"string", "max":500, "min":0, - "pattern":"\\P{C}*" + "pattern":"[\\s\\S]*" }, "WebExperienceTitle":{ "type":"string", "max":500, "min":0, - "pattern":"\\P{C}*" + "pattern":"[\\s\\S]*" }, "WebExperienceWelcomeMessage":{ "type":"string", diff --git a/tools/code-generation/api-descriptions/qconnect-2020-10-19.normal.json b/tools/code-generation/api-descriptions/qconnect-2020-10-19.normal.json index fd6d528ee8d..60806587475 100644 --- a/tools/code-generation/api-descriptions/qconnect-2020-10-19.normal.json +++ b/tools/code-generation/api-descriptions/qconnect-2020-10-19.normal.json @@ -72,6 +72,46 @@ "documentation":"

        Creates and Amazon Q in Connect AI Agent version.

        ", "idempotent":true }, + "CreateAIGuardrail":{ + "name":"CreateAIGuardrail", + "http":{ + "method":"POST", + "requestUri":"/assistants/{assistantId}/aiguardrails", + "responseCode":200 + }, + "input":{"shape":"CreateAIGuardrailRequest"}, + "output":{"shape":"CreateAIGuardrailResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Creates an Amazon Q in Connect AI Guardrail.

        ", + "idempotent":true + }, + "CreateAIGuardrailVersion":{ + "name":"CreateAIGuardrailVersion", + "http":{ + "method":"POST", + "requestUri":"/assistants/{assistantId}/aiguardrails/{aiGuardrailId}/versions", + "responseCode":200 + }, + "input":{"shape":"CreateAIGuardrailVersionRequest"}, + "output":{"shape":"CreateAIGuardrailVersionResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Creates an Amazon Q in Connect AI Guardrail version.

        ", + "idempotent":true + }, "CreateAIPrompt":{ "name":"CreateAIPrompt", "http":{ @@ -356,6 +396,44 @@ "documentation":"

        Deletes an Amazon Q in Connect AI Agent Version.

        ", "idempotent":true }, + "DeleteAIGuardrail":{ + "name":"DeleteAIGuardrail", + "http":{ + "method":"DELETE", + "requestUri":"/assistants/{assistantId}/aiguardrails/{aiGuardrailId}", + "responseCode":202 + }, + "input":{"shape":"DeleteAIGuardrailRequest"}, + "output":{"shape":"DeleteAIGuardrailResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Deletes an Amazon Q in Connect AI Guardrail.

        ", + "idempotent":true + }, + "DeleteAIGuardrailVersion":{ + "name":"DeleteAIGuardrailVersion", + "http":{ + "method":"DELETE", + "requestUri":"/assistants/{assistantId}/aiguardrails/{aiGuardrailId}/versions/{versionNumber}", + "responseCode":202 + }, + "input":{"shape":"DeleteAIGuardrailVersionRequest"}, + "output":{"shape":"DeleteAIGuardrailVersionResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Delete and Amazon Q in Connect AI Guardrail version.

        ", + "idempotent":true + }, "DeleteAIPrompt":{ "name":"DeleteAIPrompt", "http":{ @@ -569,6 +647,23 @@ ], "documentation":"

        Gets an Amazon Q in Connect AI Agent.

        " }, + "GetAIGuardrail":{ + "name":"GetAIGuardrail", + "http":{ + "method":"GET", + "requestUri":"/assistants/{assistantId}/aiguardrails/{aiGuardrailId}", + "responseCode":200 + }, + "input":{"shape":"GetAIGuardrailRequest"}, + "output":{"shape":"GetAIGuardrailResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Gets the Amazon Q in Connect AI Guardrail.

        " + }, "GetAIPrompt":{ "name":"GetAIPrompt", "http":{ @@ -715,6 +810,22 @@ ], "documentation":"

        Retrieves the Amazon Q in Connect message template. The message template identifier can contain an optional qualifier, for example, <message-template-id>:<qualifier>, which is either an actual version number or an Amazon Q Connect managed qualifier $ACTIVE_VERSION | $LATEST. If it is not supplied, then $LATEST is assumed implicitly.

        " }, + "GetNextMessage":{ + "name":"GetNextMessage", + "http":{ + "method":"GET", + "requestUri":"/assistants/{assistantId}/sessions/{sessionId}/messages/next", + "responseCode":200 + }, + "input":{"shape":"GetNextMessageRequest"}, + "output":{"shape":"GetNextMessageResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

        Retrieves next message on an Amazon Q in Connect session.

        " + }, "GetQuickResponse":{ "name":"GetQuickResponse", "http":{ @@ -799,6 +910,40 @@ ], "documentation":"

        Lists AI Agents.

        " }, + "ListAIGuardrailVersions":{ + "name":"ListAIGuardrailVersions", + "http":{ + "method":"GET", + "requestUri":"/assistants/{assistantId}/aiguardrails/{aiGuardrailId}/versions", + "responseCode":200 + }, + "input":{"shape":"ListAIGuardrailVersionsRequest"}, + "output":{"shape":"ListAIGuardrailVersionsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Lists AI Guardrail versions.

        " + }, + "ListAIGuardrails":{ + "name":"ListAIGuardrails", + "http":{ + "method":"GET", + "requestUri":"/assistants/{assistantId}/aiguardrails", + "responseCode":200 + }, + "input":{"shape":"ListAIGuardrailsRequest"}, + "output":{"shape":"ListAIGuardrailsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Lists the AI Guardrails available on the Amazon Q in Connect assistant.

        " + }, "ListAIPromptVersions":{ "name":"ListAIPromptVersions", "http":{ @@ -960,6 +1105,22 @@ ], "documentation":"

        Lists all the available Amazon Q in Connect message templates for the specified knowledge base.

        " }, + "ListMessages":{ + "name":"ListMessages", + "http":{ + "method":"GET", + "requestUri":"/assistants/{assistantId}/sessions/{sessionId}/messages", + "responseCode":200 + }, + "input":{"shape":"ListMessagesRequest"}, + "output":{"shape":"ListMessagesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

        Lists messages on an Amazon Q in Connect session.

        " + }, "ListQuickResponses":{ "name":"ListQuickResponses", "http":{ @@ -1160,6 +1321,26 @@ ], "documentation":"

        Searches for sessions.

        " }, + "SendMessage":{ + "name":"SendMessage", + "http":{ + "method":"POST", + "requestUri":"/assistants/{assistantId}/sessions/{sessionId}/message", + "responseCode":200 + }, + "input":{"shape":"SendMessageRequest"}, + "output":{"shape":"SendMessageResponse"}, + "errors":[ + {"shape":"RequestTimeoutException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Submits a message to the Amazon Q in Connect session.

        ", + "idempotent":true + }, "StartContentUpload":{ "name":"StartContentUpload", "http":{ @@ -1245,6 +1426,25 @@ "documentation":"

        Updates an AI Agent.

        ", "idempotent":true }, + "UpdateAIGuardrail":{ + "name":"UpdateAIGuardrail", + "http":{ + "method":"POST", + "requestUri":"/assistants/{assistantId}/aiguardrails/{aiGuardrailId}", + "responseCode":200 + }, + "input":{"shape":"UpdateAIGuardrailRequest"}, + "output":{"shape":"UpdateAIGuardrailResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Updates an AI Guardrail.

        ", + "idempotent":true + }, "UpdateAIPrompt":{ "name":"UpdateAIPrompt", "http":{ @@ -1416,6 +1616,10 @@ "manualSearchAIAgentConfiguration":{ "shape":"ManualSearchAIAgentConfiguration", "documentation":"

        The configuration for AI Agents of type MANUAL_SEARCH.

        " + }, + "selfServiceAIAgentConfiguration":{ + "shape":"SelfServiceAIAgentConfiguration", + "documentation":"

        The configuration for AI Agents of type SELF_SERVICE.

        " } }, "documentation":"

        A typed union that specifies the configuration based on the type of AI Agent.

        ", @@ -1580,7 +1784,8 @@ "type":"string", "enum":[ "MANUAL_SEARCH", - "ANSWER_RECOMMENDATION" + "ANSWER_RECOMMENDATION", + "SELF_SERVICE" ] }, "AIAgentVersionSummariesList":{ @@ -1601,40 +1806,55 @@ }, "documentation":"

        The summary of the AI Agent version.

        " }, - "AIPromptAPIFormat":{ + "AIGuardrailBlockedMessaging":{ "type":"string", - "enum":[ - "ANTHROPIC_CLAUDE_MESSAGES", - "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS" - ] + "documentation":"

        Messaging for when violations are detected in text

        ", + "max":500, + "min":1, + "sensitive":true }, - "AIPromptData":{ + "AIGuardrailContentPolicyConfig":{ + "type":"structure", + "required":["filtersConfig"], + "members":{ + "filtersConfig":{ + "shape":"GuardrailContentFiltersConfig", + "documentation":"

        Contains the type of the content filter and how strongly it should apply to prompts and model responses.

        " + } + }, + "documentation":"

        Contains details about how to handle harmful content.

        " + }, + "AIGuardrailContextualGroundingPolicyConfig":{ + "type":"structure", + "required":["filtersConfig"], + "members":{ + "filtersConfig":{ + "shape":"GuardrailContextualGroundingFiltersConfig", + "documentation":"

        The filter configuration details for the AI Guardrails contextual grounding policy.

        " + } + }, + "documentation":"

        The policy configuration details for the AI Guardrail's contextual grounding policy.

        " + }, + "AIGuardrailData":{ "type":"structure", "required":[ - "aiPromptArn", - "aiPromptId", - "apiFormat", + "aiGuardrailArn", + "aiGuardrailId", "assistantArn", "assistantId", - "modelId", + "blockedInputMessaging", + "blockedOutputsMessaging", "name", - "templateConfiguration", - "templateType", - "type", "visibilityStatus" ], "members":{ - "aiPromptArn":{ + "aiGuardrailArn":{ "shape":"Arn", - "documentation":"

        The Amazon Resource Name (ARN) of the AI Prompt.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the AI Guardrail.

        " }, - "aiPromptId":{ + "aiGuardrailId":{ "shape":"Uuid", - "documentation":"

        The identifier of the Amazon Q in Connect AI prompt.

        " - }, - "apiFormat":{ - "shape":"AIPromptAPIFormat", - "documentation":"

        The API format used for this AI Prompt.

        " + "documentation":"

        The identifier of the Amazon Q in Connect AI Guardrail.

        " }, "assistantArn":{ "shape":"Arn", @@ -1644,84 +1864,104 @@ "shape":"Uuid", "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        " }, - "description":{ - "shape":"Description", - "documentation":"

        The description of the AI Prompt.

        " + "blockedInputMessaging":{ + "shape":"AIGuardrailBlockedMessaging", + "documentation":"

        The message to return when the AI Guardrail blocks a prompt.

        " }, - "modelId":{ - "shape":"AIPromptModelIdentifier", - "documentation":"

        The identifier of the model used for this AI Prompt. Model Ids supported are: CLAUDE_3_HAIKU_20240307_V1.

        " + "blockedOutputsMessaging":{ + "shape":"AIGuardrailBlockedMessaging", + "documentation":"

        The message to return when the AI Guardrail blocks a model response.

        " + }, + "contentPolicyConfig":{ + "shape":"AIGuardrailContentPolicyConfig", + "documentation":"

        Contains details about how to handle harmful content.

        " + }, + "contextualGroundingPolicyConfig":{ + "shape":"AIGuardrailContextualGroundingPolicyConfig", + "documentation":"

        The policy configuration details for the AI Guardrail's contextual grounding policy.

        " + }, + "description":{ + "shape":"AIGuardrailDescription", + "documentation":"

        A description of the AI Guardrail.

        " }, "modifiedTime":{ "shape":"Timestamp", - "documentation":"

        The time the AI Prompt was last modified.

        " + "documentation":"

        The time the AI Guardrail was last modified.

        " }, "name":{ "shape":"Name", - "documentation":"

        The name of the AI Prompt

        " + "documentation":"

        The name of the AI Guardrail.

        " }, - "origin":{ - "shape":"Origin", - "documentation":"

        The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs.

        " + "sensitiveInformationPolicyConfig":{ + "shape":"AIGuardrailSensitiveInformationPolicyConfig", + "documentation":"

        Contains details about PII entities and regular expressions to configure for the AI Guardrail.

        " }, "status":{ "shape":"Status", - "documentation":"

        The status of the AI Prompt.

        " + "documentation":"

        The status of the AI Guardrail.

        " }, "tags":{ "shape":"Tags", "documentation":"

        The tags used to organize, track, or control access for this resource.

        " }, - "templateConfiguration":{ - "shape":"AIPromptTemplateConfiguration", - "documentation":"

        The configuration of the prompt template for this AI Prompt.

        " - }, - "templateType":{ - "shape":"AIPromptTemplateType", - "documentation":"

        The type of the prompt template for this AI Prompt.

        " - }, - "type":{ - "shape":"AIPromptType", - "documentation":"

        The type of this AI Prompt.

        " + "topicPolicyConfig":{ + "shape":"AIGuardrailTopicPolicyConfig", + "documentation":"

        Contains details about topics that the AI Guardrail should identify and deny.

        " }, "visibilityStatus":{ "shape":"VisibilityStatus", - "documentation":"

        The visibility status of the AI Prompt.

        " + "documentation":"

        The visibility status of the AI Guardrail.

        " + }, + "wordPolicyConfig":{ + "shape":"AIGuardrailWordPolicyConfig", + "documentation":"

        Contains details about the word policy to configured for the AI Guardrail.

        " } }, - "documentation":"

        The data for the AI Prompt

        " + "documentation":"

        The data for the AI Guardrail

        " }, - "AIPromptModelIdentifier":{ + "AIGuardrailDescription":{ "type":"string", - "max":2048, - "min":1 + "documentation":"

        Description of the guardrail or its version

        ", + "max":200, + "min":1, + "sensitive":true }, - "AIPromptSummary":{ + "AIGuardrailSensitiveInformationPolicyConfig":{ + "type":"structure", + "members":{ + "piiEntitiesConfig":{ + "shape":"GuardrailPiiEntitiesConfig", + "documentation":"

        A list of PII entities to configure to the AI Guardrail.

        " + }, + "regexesConfig":{ + "shape":"GuardrailRegexesConfig", + "documentation":"

        A list of regular expressions to configure to the AI Guardrail.

        " + } + }, + "documentation":"

        Contains details about PII entities and regular expressions to configure for the AI Guardrail.

        " + }, + "AIGuardrailSummariesList":{ + "type":"list", + "member":{"shape":"AIGuardrailSummary"} + }, + "AIGuardrailSummary":{ "type":"structure", "required":[ - "aiPromptArn", - "aiPromptId", - "apiFormat", + "aiGuardrailArn", + "aiGuardrailId", "assistantArn", "assistantId", - "modelId", "name", - "templateType", - "type", "visibilityStatus" ], "members":{ - "aiPromptArn":{ + "aiGuardrailArn":{ "shape":"Arn", - "documentation":"

        The Amazon Resource Name (ARN) of the AI Prompt.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the AI Guardrail.

        " }, - "aiPromptId":{ + "aiGuardrailId":{ "shape":"Uuid", - "documentation":"

        The identifier of the Amazon Q in Connect AI prompt.

        " - }, - "apiFormat":{ - "shape":"AIPromptAPIFormat", - "documentation":"

        The API format used for this AI Prompt.

        " + "documentation":"

        The identifier of the Amazon Q in Connect AI Guardrail.

        " }, "assistantArn":{ "shape":"Arn", @@ -1732,61 +1972,261 @@ "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        " }, "description":{ - "shape":"Description", - "documentation":"

        The description of the AI Prompt.

        " - }, - "modelId":{ - "shape":"AIPromptModelIdentifier", - "documentation":"

        The identifier of the model used for this AI Prompt. Model Ids supported are: CLAUDE_3_HAIKU_20240307_V1.

        " + "shape":"AIGuardrailDescription", + "documentation":"

        A description of the AI Guardrail.

        " }, "modifiedTime":{ "shape":"Timestamp", - "documentation":"

        The time the AI Prompt was last modified.

        " + "documentation":"

        The time the AI Guardrail was last modified.

        " }, "name":{ "shape":"Name", - "documentation":"

        The name of the AI Prompt.

        " - }, - "origin":{ - "shape":"Origin", - "documentation":"

        The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs.

        " + "documentation":"

        The name of the AI Guardrail.

        " }, "status":{ "shape":"Status", - "documentation":"

        The status of the AI Prompt.

        " + "documentation":"

        The status of the AI Guardrail.

        " }, "tags":{ "shape":"Tags", "documentation":"

        The tags used to organize, track, or control access for this resource.

        " }, - "templateType":{ - "shape":"AIPromptTemplateType", - "documentation":"

        The type of the prompt template for this AI Prompt.

        " - }, - "type":{ - "shape":"AIPromptType", - "documentation":"

        The type of this AI Prompt.

        " - }, "visibilityStatus":{ "shape":"VisibilityStatus", - "documentation":"

        The visibility status of the AI Prompt.

        " + "documentation":"

        The visibility status of the AI Guardrail.

        " } }, - "documentation":"

        The summary of the AI Prompt.

        " - }, - "AIPromptSummaryList":{ - "type":"list", - "member":{"shape":"AIPromptSummary"} + "documentation":"

        The summary of the AI Guardrail.

        " }, - "AIPromptTemplateConfiguration":{ + "AIGuardrailTopicPolicyConfig":{ "type":"structure", + "required":["topicsConfig"], "members":{ - "textFullAIPromptEditTemplateConfiguration":{ - "shape":"TextFullAIPromptEditTemplateConfiguration", - "documentation":"

        The configuration for a prompt template that supports full textual prompt configuration using a YAML prompt.

        " + "topicsConfig":{ + "shape":"GuardrailTopicsConfig", + "documentation":"

        A list of policies related to topics that the AI Guardrail should deny.

        " } }, - "documentation":"

        A typed union that specifies the configuration for a prompt template based on its type.

        ", + "documentation":"

        Contains details about topics that the AI Guardrail should identify and deny.

        " + }, + "AIGuardrailVersionSummariesList":{ + "type":"list", + "member":{"shape":"AIGuardrailVersionSummary"} + }, + "AIGuardrailVersionSummary":{ + "type":"structure", + "members":{ + "aiGuardrailSummary":{ + "shape":"AIGuardrailSummary", + "documentation":"

        The data for the summary of the AI Guardrail version.

        " + }, + "versionNumber":{ + "shape":"Version", + "documentation":"

        The version number for this AI Guardrail version.

        " + } + }, + "documentation":"

        The summary of the AI Guardrail version.

        " + }, + "AIGuardrailWordPolicyConfig":{ + "type":"structure", + "members":{ + "managedWordListsConfig":{ + "shape":"GuardrailManagedWordListsConfig", + "documentation":"

        A list of managed words to configure for the AI Guardrail.

        " + }, + "wordsConfig":{ + "shape":"GuardrailWordsConfig", + "documentation":"

        A list of words to configure for the AI Guardrail.

        " + } + }, + "documentation":"

        Contains details about the word policy to configured for the AI Guardrail.

        " + }, + "AIPromptAPIFormat":{ + "type":"string", + "enum":[ + "ANTHROPIC_CLAUDE_MESSAGES", + "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS" + ] + }, + "AIPromptData":{ + "type":"structure", + "required":[ + "aiPromptArn", + "aiPromptId", + "apiFormat", + "assistantArn", + "assistantId", + "modelId", + "name", + "templateConfiguration", + "templateType", + "type", + "visibilityStatus" + ], + "members":{ + "aiPromptArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the AI Prompt.

        " + }, + "aiPromptId":{ + "shape":"Uuid", + "documentation":"

        The identifier of the Amazon Q in Connect AI prompt.

        " + }, + "apiFormat":{ + "shape":"AIPromptAPIFormat", + "documentation":"

        The API format used for this AI Prompt.

        " + }, + "assistantArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

        " + }, + "assistantId":{ + "shape":"Uuid", + "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        " + }, + "description":{ + "shape":"Description", + "documentation":"

        The description of the AI Prompt.

        " + }, + "modelId":{ + "shape":"AIPromptModelIdentifier", + "documentation":"

        The identifier of the model used for this AI Prompt. Model Ids supported are: CLAUDE_3_HAIKU_20240307_V1.

        " + }, + "modifiedTime":{ + "shape":"Timestamp", + "documentation":"

        The time the AI Prompt was last modified.

        " + }, + "name":{ + "shape":"Name", + "documentation":"

        The name of the AI Prompt

        " + }, + "origin":{ + "shape":"Origin", + "documentation":"

        The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs.

        " + }, + "status":{ + "shape":"Status", + "documentation":"

        The status of the AI Prompt.

        " + }, + "tags":{ + "shape":"Tags", + "documentation":"

        The tags used to organize, track, or control access for this resource.

        " + }, + "templateConfiguration":{ + "shape":"AIPromptTemplateConfiguration", + "documentation":"

        The configuration of the prompt template for this AI Prompt.

        " + }, + "templateType":{ + "shape":"AIPromptTemplateType", + "documentation":"

        The type of the prompt template for this AI Prompt.

        " + }, + "type":{ + "shape":"AIPromptType", + "documentation":"

        The type of this AI Prompt.

        " + }, + "visibilityStatus":{ + "shape":"VisibilityStatus", + "documentation":"

        The visibility status of the AI Prompt.

        " + } + }, + "documentation":"

        The data for the AI Prompt

        " + }, + "AIPromptModelIdentifier":{ + "type":"string", + "max":2048, + "min":1 + }, + "AIPromptSummary":{ + "type":"structure", + "required":[ + "aiPromptArn", + "aiPromptId", + "apiFormat", + "assistantArn", + "assistantId", + "modelId", + "name", + "templateType", + "type", + "visibilityStatus" + ], + "members":{ + "aiPromptArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the AI Prompt.

        " + }, + "aiPromptId":{ + "shape":"Uuid", + "documentation":"

        The identifier of the Amazon Q in Connect AI prompt.

        " + }, + "apiFormat":{ + "shape":"AIPromptAPIFormat", + "documentation":"

        The API format used for this AI Prompt.

        " + }, + "assistantArn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

        " + }, + "assistantId":{ + "shape":"Uuid", + "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        " + }, + "description":{ + "shape":"Description", + "documentation":"

        The description of the AI Prompt.

        " + }, + "modelId":{ + "shape":"AIPromptModelIdentifier", + "documentation":"

        The identifier of the model used for this AI Prompt. Model Ids supported are: CLAUDE_3_HAIKU_20240307_V1.

        " + }, + "modifiedTime":{ + "shape":"Timestamp", + "documentation":"

        The time the AI Prompt was last modified.

        " + }, + "name":{ + "shape":"Name", + "documentation":"

        The name of the AI Prompt.

        " + }, + "origin":{ + "shape":"Origin", + "documentation":"

        The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs.

        " + }, + "status":{ + "shape":"Status", + "documentation":"

        The status of the AI Prompt.

        " + }, + "tags":{ + "shape":"Tags", + "documentation":"

        The tags used to organize, track, or control access for this resource.

        " + }, + "templateType":{ + "shape":"AIPromptTemplateType", + "documentation":"

        The type of the prompt template for this AI Prompt.

        " + }, + "type":{ + "shape":"AIPromptType", + "documentation":"

        The type of this AI Prompt.

        " + }, + "visibilityStatus":{ + "shape":"VisibilityStatus", + "documentation":"

        The visibility status of the AI Prompt.

        " + } + }, + "documentation":"

        The summary of the AI Prompt.

        " + }, + "AIPromptSummaryList":{ + "type":"list", + "member":{"shape":"AIPromptSummary"} + }, + "AIPromptTemplateConfiguration":{ + "type":"structure", + "members":{ + "textFullAIPromptEditTemplateConfiguration":{ + "shape":"TextFullAIPromptEditTemplateConfiguration", + "documentation":"

        The configuration for a prompt template that supports full textual prompt configuration using a YAML prompt.

        " + } + }, + "documentation":"

        A typed union that specifies the configuration for a prompt template based on its type.

        ", "union":true }, "AIPromptTemplateType":{ @@ -1798,7 +2238,9 @@ "enum":[ "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", - "QUERY_REFORMULATION" + "QUERY_REFORMULATION", + "SELF_SERVICE_PRE_PROCESSING", + "SELF_SERVICE_ANSWER_GENERATION" ] }, "AIPromptVersionSummariesList":{ @@ -1910,6 +2352,10 @@ "AnswerRecommendationAIAgentConfiguration":{ "type":"structure", "members":{ + "answerGenerationAIGuardrailId":{ + "shape":"UuidWithQualifier", + "documentation":"

        The AI Guardrail identifier for the Answer Generation Guardrail used by the ANSWER_RECOMMENDATION AI Agent.

        " + }, "answerGenerationAIPromptId":{ "shape":"UuidWithQualifier", "documentation":"

        The AI Prompt identifier for the Answer Generation prompt used by the ANSWER_RECOMMENDATION AI Agent.

        " @@ -2762,6 +3208,48 @@ "type":"string", "pattern":"^(text/(plain|html|csv))|(application/(pdf|vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.document))|(application/x\\.wisdom-json;source=(salesforce|servicenow|zendesk))$" }, + "ConversationContext":{ + "type":"structure", + "required":["selfServiceConversationHistory"], + "members":{ + "selfServiceConversationHistory":{ + "shape":"SelfServiceConversationHistoryList", + "documentation":"

        The self service conversation history before the Amazon Q in Connect session.

        " + } + }, + "documentation":"

        The conversation context to include in SendMessage.

        " + }, + "ConversationState":{ + "type":"structure", + "required":["status"], + "members":{ + "reason":{ + "shape":"ConversationStatusReason", + "documentation":"

        The reason of the conversation state.

        " + }, + "status":{ + "shape":"ConversationStatus", + "documentation":"

        The status of the conversation state.

        " + } + }, + "documentation":"

        The conversation state associated to a message.

        " + }, + "ConversationStatus":{ + "type":"string", + "enum":[ + "CLOSED", + "READY", + "PROCESSING" + ] + }, + "ConversationStatusReason":{ + "type":"string", + "enum":[ + "SUCCESS", + "FAILED", + "REJECTED" + ] + }, "CreateAIAgentRequest":{ "type":"structure", "required":[ @@ -2861,57 +3349,176 @@ } } }, - "CreateAIPromptRequest":{ + "CreateAIGuardrailRequest":{ "type":"structure", "required":[ - "apiFormat", "assistantId", - "modelId", + "blockedInputMessaging", + "blockedOutputsMessaging", "name", - "templateConfiguration", - "templateType", - "type", "visibilityStatus" ], "members":{ - "apiFormat":{ - "shape":"AIPromptAPIFormat", - "documentation":"

        The API Format of the AI Prompt.

        " - }, "assistantId":{ "shape":"UuidOrArn", "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        ", "location":"uri", "locationName":"assistantId" }, + "blockedInputMessaging":{ + "shape":"AIGuardrailBlockedMessaging", + "documentation":"

        The message to return when the AI Guardrail blocks a prompt.

        " + }, + "blockedOutputsMessaging":{ + "shape":"AIGuardrailBlockedMessaging", + "documentation":"

        The message to return when the AI Guardrail blocks a model response.

        " + }, "clientToken":{ "shape":"ClientToken", "documentation":"

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

        ", "idempotencyToken":true }, - "description":{ - "shape":"Description", - "documentation":"

        The description of the AI Prompt.

        " + "contentPolicyConfig":{ + "shape":"AIGuardrailContentPolicyConfig", + "documentation":"

        The content filter policies to configure for the AI Guardrail.

        " }, - "modelId":{ - "shape":"AIPromptModelIdentifier", - "documentation":"

        The identifier of the model used for this AI Prompt. Model Ids supported are: CLAUDE_3_HAIKU_20240307_V1

        " + "contextualGroundingPolicyConfig":{ + "shape":"AIGuardrailContextualGroundingPolicyConfig", + "documentation":"

        The contextual grounding policy configuration used to create an AI Guardrail.

        " + }, + "description":{ + "shape":"AIGuardrailDescription", + "documentation":"

        A description of the AI Guardrail.

        " }, "name":{ "shape":"Name", - "documentation":"

        The name of the AI Prompt.

        " + "documentation":"

        The name of the AI Guardrail.

        " + }, + "sensitiveInformationPolicyConfig":{ + "shape":"AIGuardrailSensitiveInformationPolicyConfig", + "documentation":"

        The sensitive information policy to configure for the AI Guardrail.

        " }, "tags":{ "shape":"Tags", "documentation":"

        The tags used to organize, track, or control access for this resource.

        " }, - "templateConfiguration":{ - "shape":"AIPromptTemplateConfiguration", - "documentation":"

        The configuration of the prompt template for this AI Prompt.

        " + "topicPolicyConfig":{ + "shape":"AIGuardrailTopicPolicyConfig", + "documentation":"

        The topic policies to configure for the AI Guardrail.

        " }, - "templateType":{ - "shape":"AIPromptTemplateType", - "documentation":"

        The type of the prompt template for this AI Prompt.

        " + "visibilityStatus":{ + "shape":"VisibilityStatus", + "documentation":"

        The visibility status of the AI Guardrail.

        " + }, + "wordPolicyConfig":{ + "shape":"AIGuardrailWordPolicyConfig", + "documentation":"

        The word policy you configure for the AI Guardrail.

        " + } + } + }, + "CreateAIGuardrailResponse":{ + "type":"structure", + "members":{ + "aiGuardrail":{ + "shape":"AIGuardrailData", + "documentation":"

        The data of the AI Guardrail.

        " + } + } + }, + "CreateAIGuardrailVersionRequest":{ + "type":"structure", + "required":[ + "aiGuardrailId", + "assistantId" + ], + "members":{ + "aiGuardrailId":{ + "shape":"UuidOrArnOrEitherWithQualifier", + "documentation":"

        The identifier of the Amazon Q in Connect AI Guardrail.

        ", + "location":"uri", + "locationName":"aiGuardrailId" + }, + "assistantId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        ", + "location":"uri", + "locationName":"assistantId" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

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

        ", + "idempotencyToken":true + }, + "modifiedTime":{ + "shape":"Timestamp", + "documentation":"

        The time the AI Guardrail was last modified.

        " + } + } + }, + "CreateAIGuardrailVersionResponse":{ + "type":"structure", + "members":{ + "aiGuardrail":{ + "shape":"AIGuardrailData", + "documentation":"

        The data of the AI Guardrail version.

        " + }, + "versionNumber":{ + "shape":"Version", + "documentation":"

        The version number of the AI Guardrail version.

        " + } + } + }, + "CreateAIPromptRequest":{ + "type":"structure", + "required":[ + "apiFormat", + "assistantId", + "modelId", + "name", + "templateConfiguration", + "templateType", + "type", + "visibilityStatus" + ], + "members":{ + "apiFormat":{ + "shape":"AIPromptAPIFormat", + "documentation":"

        The API Format of the AI Prompt.

        " + }, + "assistantId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        ", + "location":"uri", + "locationName":"assistantId" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

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

        ", + "idempotencyToken":true + }, + "description":{ + "shape":"Description", + "documentation":"

        The description of the AI Prompt.

        " + }, + "modelId":{ + "shape":"AIPromptModelIdentifier", + "documentation":"

        The identifier of the model used for this AI Prompt. Model Ids supported are: CLAUDE_3_HAIKU_20240307_V1

        " + }, + "name":{ + "shape":"Name", + "documentation":"

        The name of the AI Prompt.

        " + }, + "tags":{ + "shape":"Tags", + "documentation":"

        The tags used to organize, track, or control access for this resource.

        " + }, + "templateConfiguration":{ + "shape":"AIPromptTemplateConfiguration", + "documentation":"

        The configuration of the prompt template for this AI Prompt.

        " + }, + "templateType":{ + "shape":"AIPromptTemplateType", + "documentation":"

        The type of the prompt template for this AI Prompt.

        " }, "type":{ "shape":"AIPromptType", @@ -3888,6 +4495,65 @@ "members":{ } }, + "DeleteAIGuardrailRequest":{ + "type":"structure", + "required":[ + "aiGuardrailId", + "assistantId" + ], + "members":{ + "aiGuardrailId":{ + "shape":"UuidOrArnOrEitherWithQualifier", + "documentation":"

        The identifier of the Amazon Q in Connect AI Guardrail. Can be either the ID or the ARN. URLs cannot contain the ARN.

        ", + "location":"uri", + "locationName":"aiGuardrailId" + }, + "assistantId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        ", + "location":"uri", + "locationName":"assistantId" + } + } + }, + "DeleteAIGuardrailResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteAIGuardrailVersionRequest":{ + "type":"structure", + "required":[ + "aiGuardrailId", + "assistantId", + "versionNumber" + ], + "members":{ + "aiGuardrailId":{ + "shape":"UuidOrArnOrEitherWithQualifier", + "documentation":"

        The identifier of the Amazon Q in Connect AI Guardrail.

        ", + "location":"uri", + "locationName":"aiGuardrailId" + }, + "assistantId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        ", + "location":"uri", + "locationName":"assistantId" + }, + "versionNumber":{ + "shape":"Version", + "documentation":"

        The version number of the AI Guardrail version to be deleted.

        ", + "location":"uri", + "locationName":"versionNumber" + } + } + }, + "DeleteAIGuardrailVersionResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteAIPromptRequest":{ "type":"structure", "required":[ @@ -4555,6 +5221,40 @@ } } }, + "GetAIGuardrailRequest":{ + "type":"structure", + "required":[ + "aiGuardrailId", + "assistantId" + ], + "members":{ + "aiGuardrailId":{ + "shape":"UuidOrArnOrEitherWithQualifier", + "documentation":"

        The identifier of the Amazon Q in Connect AI Guardrail.

        ", + "location":"uri", + "locationName":"aiGuardrailId" + }, + "assistantId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        ", + "location":"uri", + "locationName":"assistantId" + } + } + }, + "GetAIGuardrailResponse":{ + "type":"structure", + "members":{ + "aiGuardrail":{ + "shape":"AIGuardrailData", + "documentation":"

        The data of the AI Guardrail.

        " + }, + "versionNumber":{ + "shape":"Version", + "documentation":"

        The version number of the AI Guardrail version (returned if an AI Guardrail version was specified via use of a qualifier for the aiGuardrailId on the request).

        " + } + } + }, "GetAIPromptRequest":{ "type":"structure", "required":[ @@ -4818,6 +5518,69 @@ } } }, + "GetNextMessageRequest":{ + "type":"structure", + "required":[ + "assistantId", + "nextMessageToken", + "sessionId" + ], + "members":{ + "assistantId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect assistant.

        ", + "location":"uri", + "locationName":"assistantId" + }, + "nextMessageToken":{ + "shape":"NextToken", + "documentation":"

        The token for the next message. Use the value returned in the SendMessage or previous response in the next request to retrieve the next message.

        ", + "location":"querystring", + "locationName":"nextMessageToken" + }, + "sessionId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect session.

        ", + "location":"uri", + "locationName":"sessionId" + } + } + }, + "GetNextMessageResponse":{ + "type":"structure", + "required":[ + "conversationState", + "requestMessageId", + "response", + "type" + ], + "members":{ + "conversationSessionData":{ + "shape":"RuntimeSessionDataList", + "documentation":"

        The conversation data stored on an Amazon Q in Connect Session.

        " + }, + "conversationState":{ + "shape":"ConversationState", + "documentation":"

        The state of current conversation.

        " + }, + "nextMessageToken":{ + "shape":"NextToken", + "documentation":"

        The token for the next message.

        " + }, + "requestMessageId":{ + "shape":"Uuid", + "documentation":"

        The identifier of the submitted message.

        " + }, + "response":{ + "shape":"MessageOutput", + "documentation":"

        The message response to the requested message.

        " + }, + "type":{ + "shape":"MessageType", + "documentation":"

        The type of message response.

        " + } + } + }, "GetQuickResponseRequest":{ "type":"structure", "required":[ @@ -4955,6 +5718,335 @@ "type":"list", "member":{"shape":"GroupingValue"} }, + "GuardrailContentFilterConfig":{ + "type":"structure", + "required":[ + "inputStrength", + "outputStrength", + "type" + ], + "members":{ + "inputStrength":{ + "shape":"GuardrailFilterStrength", + "documentation":"

        The strength of the content filter to apply to prompts. As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.

        " + }, + "outputStrength":{ + "shape":"GuardrailFilterStrength", + "documentation":"

        The strength of the content filter to apply to model responses. As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.

        " + }, + "type":{ + "shape":"GuardrailContentFilterType", + "documentation":"

        The harmful category that the content filter is applied to.

        " + } + }, + "documentation":"

        Contains filter strengths for harmful content. AI Guardrail's support the following content filters to detect and filter harmful user inputs and FM-generated outputs.

        • Hate: Describes input prompts and model responses that discriminate, criticize, insult, denounce, or dehumanize a person or group on the basis of an identity (such as race, ethnicity, gender, religion, sexual orientation, ability, and national origin).

        • Insults: Describes input prompts and model responses that includes demeaning, humiliating, mocking, insulting, or belittling language. This type of language is also labeled as bullying.

        • Sexual: Describes input prompts and model responses that indicates sexual interest, activity, or arousal using direct or indirect references to body parts, physical traits, or sex.

        • Violence: Describes input prompts and model responses that includes glorification of, or threats to inflict physical pain, hurt, or injury toward a person, group, or thing.

        Content filtering depends on the confidence classification of user inputs and FM responses across each of the four harmful categories. All input and output statements are classified into one of four confidence levels (NONE, LOW, MEDIUM, HIGH) for each harmful category. For example, if a statement is classified as Hate with HIGH confidence, the likelihood of the statement representing hateful content is high. A single statement can be classified across multiple categories with varying confidence levels. For example, a single statement can be classified as Hate with HIGH confidence, Insults with LOW confidence, Sexual with NONE confidence, and Violence with MEDIUM confidence.

        " + }, + "GuardrailContentFilterType":{ + "type":"string", + "documentation":"

        Type of text to text filter in content policy

        ", + "enum":[ + "SEXUAL", + "VIOLENCE", + "HATE", + "INSULTS", + "MISCONDUCT", + "PROMPT_ATTACK" + ], + "sensitive":true + }, + "GuardrailContentFiltersConfig":{ + "type":"list", + "member":{"shape":"GuardrailContentFilterConfig"}, + "documentation":"

        List of content filter configs in content policy.

        ", + "max":6, + "min":1 + }, + "GuardrailContextualGroundingFilterConfig":{ + "type":"structure", + "required":[ + "threshold", + "type" + ], + "members":{ + "threshold":{ + "shape":"GuardrailContextualGroundingFilterThreshold", + "documentation":"

        The threshold details for the AI Guardrail's contextual grounding filter.

        " + }, + "type":{ + "shape":"GuardrailContextualGroundingFilterType", + "documentation":"

        The filter type for the AI Guardrail's contextual grounding filter.

        " + } + }, + "documentation":"

        The filter configuration details for the AI Guardrail's contextual grounding filter.

        " + }, + "GuardrailContextualGroundingFilterThreshold":{ + "type":"double", + "documentation":"

        The threshold for this filter.

        ", + "min":0, + "sensitive":true + }, + "GuardrailContextualGroundingFilterType":{ + "type":"string", + "documentation":"

        Type of contextual grounding filter

        ", + "enum":[ + "GROUNDING", + "RELEVANCE" + ], + "sensitive":true + }, + "GuardrailContextualGroundingFiltersConfig":{ + "type":"list", + "member":{"shape":"GuardrailContextualGroundingFilterConfig"}, + "documentation":"

        List of contextual grounding filter configs.

        ", + "min":1 + }, + "GuardrailFilterStrength":{ + "type":"string", + "documentation":"

        Strength for filters

        ", + "enum":[ + "NONE", + "LOW", + "MEDIUM", + "HIGH" + ], + "sensitive":true + }, + "GuardrailManagedWordListsConfig":{ + "type":"list", + "member":{"shape":"GuardrailManagedWordsConfig"}, + "documentation":"

        A config for the list of managed words.

        " + }, + "GuardrailManagedWordsConfig":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"GuardrailManagedWordsType", + "documentation":"

        The managed word type to configure for the AI Guardrail.

        " + } + }, + "documentation":"

        The managed word list to configure for the AI Guardrail.

        " + }, + "GuardrailManagedWordsType":{ + "type":"string", + "documentation":"

        Options for managed words.

        ", + "enum":["PROFANITY"], + "sensitive":true + }, + "GuardrailPiiEntitiesConfig":{ + "type":"list", + "member":{"shape":"GuardrailPiiEntityConfig"}, + "documentation":"

        List of entities.

        ", + "min":1 + }, + "GuardrailPiiEntityConfig":{ + "type":"structure", + "required":[ + "action", + "type" + ], + "members":{ + "action":{ + "shape":"GuardrailSensitiveInformationAction", + "documentation":"

        Configure AI Guardrail's action when the PII entity is detected.

        " + }, + "type":{ + "shape":"GuardrailPiiEntityType", + "documentation":"

        Configure AI Guardrail type when the PII entity is detected.

        The following PIIs are used to block or mask sensitive information:

        • General

          • ADDRESS

            A physical address, such as \"100 Main Street, Anytown, USA\" or \"Suite #12, Building 123\". An address can include information such as the street, building, location, city, state, country, county, zip code, precinct, and neighborhood.

          • AGE

            An individual's age, including the quantity and unit of time. For example, in the phrase \"I am 40 years old,\" Guarrails recognizes \"40 years\" as an age.

          • NAME

            An individual's name. This entity type does not include titles, such as Dr., Mr., Mrs., or Miss. AI Guardrail doesn't apply this entity type to names that are part of organizations or addresses. For example, AI Guardrail recognizes the \"John Doe Organization\" as an organization, and it recognizes \"Jane Doe Street\" as an address.

          • EMAIL

            An email address, such as marymajor@email.com.

          • PHONE

            A phone number. This entity type also includes fax and pager numbers.

          • USERNAME

            A user name that identifies an account, such as a login name, screen name, nick name, or handle.

          • PASSWORD

            An alphanumeric string that is used as a password, such as \"* very20special#pass*\".

          • DRIVER_ID

            The number assigned to a driver's license, which is an official document permitting an individual to operate one or more motorized vehicles on a public road. A driver's license number consists of alphanumeric characters.

          • LICENSE_PLATE

            A license plate for a vehicle is issued by the state or country where the vehicle is registered. The format for passenger vehicles is typically five to eight digits, consisting of upper-case letters and numbers. The format varies depending on the location of the issuing state or country.

          • VEHICLE_IDENTIFICATION_NUMBER

            A Vehicle Identification Number (VIN) uniquely identifies a vehicle. VIN content and format are defined in the ISO 3779 specification. Each country has specific codes and formats for VINs.

        • Finance

          • REDIT_DEBIT_CARD_CVV

            A three-digit card verification code (CVV) that is present on VISA, MasterCard, and Discover credit and debit cards. For American Express credit or debit cards, the CVV is a four-digit numeric code.

          • CREDIT_DEBIT_CARD_EXPIRY

            The expiration date for a credit or debit card. This number is usually four digits long and is often formatted as month/year or MM/YY. AI Guardrail recognizes expiration dates such as 01/21, 01/2021, and Jan 2021.

          • CREDIT_DEBIT_CARD_NUMBER

            The number for a credit or debit card. These numbers can vary from 13 to 16 digits in length. However, Amazon Comprehend also recognizes credit or debit card numbers when only the last four digits are present.

          • PIN

            A four-digit personal identification number (PIN) with which you can access your bank account.

          • INTERNATIONAL_BANK_ACCOUNT_NUMBER

            An International Bank Account Number has specific formats in each country. For more information, see www.iban.com/structure.

          • SWIFT_CODE

            A SWIFT code is a standard format of Bank Identifier Code (BIC) used to specify a particular bank or branch. Banks use these codes for money transfers such as international wire transfers.

            SWIFT codes consist of eight or 11 characters. The 11-digit codes refer to specific branches, while eight-digit codes (or 11-digit codes ending in 'XXX') refer to the head or primary office.

        • IT

          • IP_ADDRESS

            An IPv4 address, such as 198.51.100.0.

          • MAC_ADDRESS

            A media access control (MAC) address is a unique identifier assigned to a network interface controller (NIC).

          • URL

            A web address, such as www.example.com.

          • AWS_ACCESS_KEY

            A unique identifier that's associated with a secret access key; you use the access key ID and secret access key to sign programmatic Amazon Web Services requests cryptographically.

          • AWS_SECRET_KEY

            A unique identifier that's associated with an access key. You use the access key ID and secret access key to sign programmatic Amazon Web Services requests cryptographically.

        • USA specific

          • US_BANK_ACCOUNT_NUMBER

            A US bank account number, which is typically 10 to 12 digits long.

          • US_BANK_ROUTING_NUMBER

            A US bank account routing number. These are typically nine digits long,

          • US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER

            A US Individual Taxpayer Identification Number (ITIN) is a nine-digit number that starts with a \"9\" and contain a \"7\" or \"8\" as the fourth digit. An ITIN can be formatted with a space or a dash after the third and forth digits.

          • US_PASSPORT_NUMBER

            A US passport number. Passport numbers range from six to nine alphanumeric characters.

          • US_SOCIAL_SECURITY_NUMBER

            A US Social Security Number (SSN) is a nine-digit number that is issued to US citizens, permanent residents, and temporary working residents.

        • Canada specific

          • CA_HEALTH_NUMBER

            A Canadian Health Service Number is a 10-digit unique identifier, required for individuals to access healthcare benefits.

          • CA_SOCIAL_INSURANCE_NUMBER

            A Canadian Social Insurance Number (SIN) is a nine-digit unique identifier, required for individuals to access government programs and benefits.

            The SIN is formatted as three groups of three digits, such as 123-456-789. A SIN can be validated through a simple check-digit process called the Luhn algorithm .

        • UK Specific

          • UK_NATIONAL_HEALTH_SERVICE_NUMBER

            A UK National Health Service Number is a 10-17 digit number, such as 485 555 3456. The current system formats the 10-digit number with spaces after the third and sixth digits. The final digit is an error-detecting checksum.

          • UK_NATIONAL_INSURANCE_NUMBER

            A UK National Insurance Number (NINO) provides individuals with access to National Insurance (social security) benefits. It is also used for some purposes in the UK tax system.

            The number is nine digits long and starts with two letters, followed by six numbers and one letter. A NINO can be formatted with a space or a dash after the two letters and after the second, forth, and sixth digits.

          • UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER

            A UK Unique Taxpayer Reference (UTR) is a 10-digit number that identifies a taxpayer or a business.

        • Custom

          • Regex filter - You can use a regular expressions to define patterns for an AI Guardrail to recognize and act upon such as serial number, booking ID etc..

        " + } + }, + "documentation":"

        The PII entity to configure for the AI Guardrail.

        " + }, + "GuardrailPiiEntityType":{ + "type":"string", + "documentation":"

        The currently supported PII entities

        ", + "enum":[ + "ADDRESS", + "AGE", + "AWS_ACCESS_KEY", + "AWS_SECRET_KEY", + "CA_HEALTH_NUMBER", + "CA_SOCIAL_INSURANCE_NUMBER", + "CREDIT_DEBIT_CARD_CVV", + "CREDIT_DEBIT_CARD_EXPIRY", + "CREDIT_DEBIT_CARD_NUMBER", + "DRIVER_ID", + "EMAIL", + "INTERNATIONAL_BANK_ACCOUNT_NUMBER", + "IP_ADDRESS", + "LICENSE_PLATE", + "MAC_ADDRESS", + "NAME", + "PASSWORD", + "PHONE", + "PIN", + "SWIFT_CODE", + "UK_NATIONAL_HEALTH_SERVICE_NUMBER", + "UK_NATIONAL_INSURANCE_NUMBER", + "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", + "URL", + "USERNAME", + "US_BANK_ACCOUNT_NUMBER", + "US_BANK_ROUTING_NUMBER", + "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", + "US_PASSPORT_NUMBER", + "US_SOCIAL_SECURITY_NUMBER", + "VEHICLE_IDENTIFICATION_NUMBER" + ], + "sensitive":true + }, + "GuardrailRegexConfig":{ + "type":"structure", + "required":[ + "action", + "name", + "pattern" + ], + "members":{ + "action":{ + "shape":"GuardrailSensitiveInformationAction", + "documentation":"

        The AI Guardrail action to configure when matching regular expression is detected.

        " + }, + "description":{ + "shape":"GuardrailRegexDescription", + "documentation":"

        The description of the regular expression to configure for the AI Guardrail.

        " + }, + "name":{ + "shape":"GuardrailRegexName", + "documentation":"

        The name of the regular expression to configure for the AI Guardrail.

        " + }, + "pattern":{ + "shape":"GuardrailRegexPattern", + "documentation":"

        The regular expression pattern to configure for the AI Guardrail.

        " + } + }, + "documentation":"

        The regular expression to configure for the AI Guardrail.

        " + }, + "GuardrailRegexDescription":{ + "type":"string", + "documentation":"

        The regex description.

        ", + "max":1000, + "min":1, + "sensitive":true + }, + "GuardrailRegexName":{ + "type":"string", + "documentation":"

        The regex name.

        ", + "max":100, + "min":1, + "sensitive":true + }, + "GuardrailRegexPattern":{ + "type":"string", + "documentation":"

        The regex pattern.

        ", + "min":1, + "sensitive":true + }, + "GuardrailRegexesConfig":{ + "type":"list", + "member":{"shape":"GuardrailRegexConfig"}, + "documentation":"

        List of regex.

        ", + "min":1 + }, + "GuardrailSensitiveInformationAction":{ + "type":"string", + "documentation":"

        Options for sensitive information action.

        ", + "enum":[ + "BLOCK", + "ANONYMIZE" + ], + "sensitive":true + }, + "GuardrailTopicConfig":{ + "type":"structure", + "required":[ + "definition", + "name", + "type" + ], + "members":{ + "definition":{ + "shape":"GuardrailTopicDefinition", + "documentation":"

        A definition of the topic to deny.

        " + }, + "examples":{ + "shape":"GuardrailTopicExamples", + "documentation":"

        A list of prompts, each of which is an example of a prompt that can be categorized as belonging to the topic.

        " + }, + "name":{ + "shape":"GuardrailTopicName", + "documentation":"

        The name of the topic to deny.

        " + }, + "type":{ + "shape":"GuardrailTopicType", + "documentation":"

        Specifies to deny the topic.

        " + } + }, + "documentation":"

        Details about topics for the AI Guardrail to identify and deny.

        " + }, + "GuardrailTopicDefinition":{ + "type":"string", + "documentation":"

        Definition of topic in topic policy

        ", + "max":200, + "min":1, + "sensitive":true + }, + "GuardrailTopicExample":{ + "type":"string", + "documentation":"

        Text example in topic policy

        ", + "max":100, + "min":1, + "sensitive":true + }, + "GuardrailTopicExamples":{ + "type":"list", + "member":{"shape":"GuardrailTopicExample"}, + "documentation":"

        List of text examples

        ", + "min":0 + }, + "GuardrailTopicName":{ + "type":"string", + "documentation":"

        Name of topic in topic policy

        ", + "max":100, + "min":1, + "pattern":"^[0-9a-zA-Z-_ !?.]+$", + "sensitive":true + }, + "GuardrailTopicType":{ + "type":"string", + "documentation":"

        Type of topic in a policy

        ", + "enum":["DENY"], + "sensitive":true + }, + "GuardrailTopicsConfig":{ + "type":"list", + "member":{"shape":"GuardrailTopicConfig"}, + "documentation":"

        List of topic configs in topic policy.

        ", + "min":1 + }, + "GuardrailWordConfig":{ + "type":"structure", + "required":["text"], + "members":{ + "text":{ + "shape":"GuardrailWordText", + "documentation":"

        Text of the word configured for the AI Guardrail to block.

        " + } + }, + "documentation":"

        A word to configure for the AI Guardrail.

        " + }, + "GuardrailWordText":{ + "type":"string", + "documentation":"

        The custom word text.

        ", + "min":1, + "sensitive":true + }, + "GuardrailWordsConfig":{ + "type":"list", + "member":{"shape":"GuardrailWordConfig"}, + "documentation":"

        List of custom word configs.

        ", + "min":1 + }, "Headers":{ "type":"map", "key":{"shape":"NonEmptyString"}, @@ -5167,6 +6259,10 @@ "type":"string", "enum":["QUICK_RESPONSES"] }, + "Integer":{ + "type":"integer", + "box":true + }, "IntentDetectedDataDetails":{ "type":"structure", "required":[ @@ -5370,36 +6466,133 @@ "shape":"VectorIngestionConfiguration", "documentation":"

        Contains details about how to ingest the documents in a data source.

        " } - }, - "documentation":"

        Summary information about the knowledge base.

        " - }, - "KnowledgeBaseType":{ - "type":"string", - "enum":[ - "EXTERNAL", - "CUSTOM", - "QUICK_RESPONSES", - "MESSAGE_TEMPLATES", - "MANAGED" - ] + }, + "documentation":"

        Summary information about the knowledge base.

        " + }, + "KnowledgeBaseType":{ + "type":"string", + "enum":[ + "EXTERNAL", + "CUSTOM", + "QUICK_RESPONSES", + "MESSAGE_TEMPLATES", + "MANAGED" + ] + }, + "LanguageCode":{ + "type":"string", + "max":5, + "min":2 + }, + "ListAIAgentVersionsRequest":{ + "type":"structure", + "required":[ + "aiAgentId", + "assistantId" + ], + "members":{ + "aiAgentId":{ + "shape":"UuidOrArnOrEitherWithQualifier", + "documentation":"

        The identifier of the Amazon Q in Connect AI Agent for which versions are to be listed.

        ", + "location":"uri", + "locationName":"aiAgentId" + }, + "assistantId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        ", + "location":"uri", + "locationName":"assistantId" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum number of results to return per page.

        ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "origin":{ + "shape":"Origin", + "documentation":"

        The origin of the AI Agent versions to be listed. SYSTEM for a default AI Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent creation APIs.

        ", + "location":"querystring", + "locationName":"origin" + } + } + }, + "ListAIAgentVersionsResponse":{ + "type":"structure", + "required":["aiAgentVersionSummaries"], + "members":{ + "aiAgentVersionSummaries":{ + "shape":"AIAgentVersionSummariesList", + "documentation":"

        The summaries of AI Agent versions.

        " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

        " + } + } + }, + "ListAIAgentsRequest":{ + "type":"structure", + "required":["assistantId"], + "members":{ + "assistantId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        ", + "location":"uri", + "locationName":"assistantId" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum number of results to return per page.

        ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "origin":{ + "shape":"Origin", + "documentation":"

        The origin of the AI Agents to be listed. SYSTEM for a default AI Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent creation APIs.

        ", + "location":"querystring", + "locationName":"origin" + } + } }, - "LanguageCode":{ - "type":"string", - "max":5, - "min":2 + "ListAIAgentsResponse":{ + "type":"structure", + "required":["aiAgentSummaries"], + "members":{ + "aiAgentSummaries":{ + "shape":"AIAgentSummaryList", + "documentation":"

        The summaries of AI Agents.

        " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

        " + } + } }, - "ListAIAgentVersionsRequest":{ + "ListAIGuardrailVersionsRequest":{ "type":"structure", "required":[ - "aiAgentId", + "aiGuardrailId", "assistantId" ], "members":{ - "aiAgentId":{ + "aiGuardrailId":{ "shape":"UuidOrArnOrEitherWithQualifier", - "documentation":"

        The identifier of the Amazon Q in Connect AI Agent for which versions are to be listed.

        ", + "documentation":"

        The identifier of the Amazon Q in Connect AI Guardrail for which versions are to be listed.

        ", "location":"uri", - "locationName":"aiAgentId" + "locationName":"aiGuardrailId" }, "assistantId":{ "shape":"UuidOrArn", @@ -5418,22 +6611,16 @@ "documentation":"

        The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

        ", "location":"querystring", "locationName":"nextToken" - }, - "origin":{ - "shape":"Origin", - "documentation":"

        The origin of the AI Agent versions to be listed. SYSTEM for a default AI Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent creation APIs.

        ", - "location":"querystring", - "locationName":"origin" } } }, - "ListAIAgentVersionsResponse":{ + "ListAIGuardrailVersionsResponse":{ "type":"structure", - "required":["aiAgentVersionSummaries"], + "required":["aiGuardrailVersionSummaries"], "members":{ - "aiAgentVersionSummaries":{ - "shape":"AIAgentVersionSummariesList", - "documentation":"

        The summaries of AI Agent versions.

        " + "aiGuardrailVersionSummaries":{ + "shape":"AIGuardrailVersionSummariesList", + "documentation":"

        The summaries of the AI Guardrail versions.

        " }, "nextToken":{ "shape":"NextToken", @@ -5441,7 +6628,7 @@ } } }, - "ListAIAgentsRequest":{ + "ListAIGuardrailsRequest":{ "type":"structure", "required":["assistantId"], "members":{ @@ -5462,22 +6649,16 @@ "documentation":"

        The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

        ", "location":"querystring", "locationName":"nextToken" - }, - "origin":{ - "shape":"Origin", - "documentation":"

        The origin of the AI Agents to be listed. SYSTEM for a default AI Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent creation APIs.

        ", - "location":"querystring", - "locationName":"origin" } } }, - "ListAIAgentsResponse":{ + "ListAIGuardrailsResponse":{ "type":"structure", - "required":["aiAgentSummaries"], + "required":["aiGuardrailSummaries"], "members":{ - "aiAgentSummaries":{ - "shape":"AIAgentSummaryList", - "documentation":"

        The summaries of AI Agents.

        " + "aiGuardrailSummaries":{ + "shape":"AIGuardrailSummariesList", + "documentation":"

        The summaries of the AI Guardrails.

        " }, "nextToken":{ "shape":"NextToken", @@ -5890,6 +7071,53 @@ } } }, + "ListMessagesRequest":{ + "type":"structure", + "required":[ + "assistantId", + "sessionId" + ], + "members":{ + "assistantId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect assistant.

        ", + "location":"uri", + "locationName":"assistantId" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum number of results to return per page.

        ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "sessionId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect session.

        ", + "location":"uri", + "locationName":"sessionId" + } + } + }, + "ListMessagesResponse":{ + "type":"structure", + "required":["messages"], + "members":{ + "messages":{ + "shape":"MessageList", + "documentation":"

        The message information.

        " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

        " + } + } + }, "ListQuickResponsesRequest":{ "type":"structure", "required":["knowledgeBaseId"], @@ -5968,6 +7196,10 @@ "ManualSearchAIAgentConfiguration":{ "type":"structure", "members":{ + "answerGenerationAIGuardrailId":{ + "shape":"UuidWithQualifier", + "documentation":"

        The AI Guardrail identifier for the Answer Generation guardrail used by the MANUAL_SEARCH AI Agent.

        " + }, "answerGenerationAIPromptId":{ "shape":"UuidWithQualifier", "documentation":"

        The AI Prompt identifier for the Answer Generation prompt used by the MANUAL_SEARCH AI Agent.

        " @@ -5985,6 +7217,60 @@ "max":100, "min":1 }, + "MessageData":{ + "type":"structure", + "members":{ + "text":{ + "shape":"TextMessage", + "documentation":"

        The message data in text type.

        " + } + }, + "documentation":"

        The message data.

        ", + "union":true + }, + "MessageInput":{ + "type":"structure", + "required":["value"], + "members":{ + "value":{ + "shape":"MessageData", + "documentation":"

        The message input value.

        " + } + }, + "documentation":"

        The message input.

        " + }, + "MessageList":{ + "type":"list", + "member":{"shape":"MessageOutput"} + }, + "MessageOutput":{ + "type":"structure", + "required":[ + "messageId", + "participant", + "timestamp", + "value" + ], + "members":{ + "messageId":{ + "shape":"Uuid", + "documentation":"

        The identifier of a message.

        " + }, + "participant":{ + "shape":"Participant", + "documentation":"

        The participant of a message.

        " + }, + "timestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of a message.

        " + }, + "value":{ + "shape":"MessageData", + "documentation":"

        The value of a message data.

        " + } + }, + "documentation":"

        The message output.

        " + }, "MessageTemplateAttachment":{ "type":"structure", "required":[ @@ -6531,6 +7817,10 @@ "type":"list", "member":{"shape":"MessageTemplateVersionSummary"} }, + "MessageType":{ + "type":"string", + "enum":["TEXT"] + }, "Name":{ "type":"string", "max":255, @@ -6690,6 +7980,14 @@ "type":"string", "enum":["BEDROCK_FOUNDATION_MODEL"] }, + "Participant":{ + "type":"string", + "enum":[ + "CUSTOMER", + "AGENT", + "BOT" + ] + }, "PreconditionFailedException":{ "type":"structure", "members":{ @@ -7974,6 +9272,53 @@ "max":100, "min":1 }, + "SelfServiceAIAgentConfiguration":{ + "type":"structure", + "members":{ + "associationConfigurations":{ + "shape":"AssociationConfigurationList", + "documentation":"

        The association configurations for overriding behavior on this AI Agent.

        " + }, + "selfServiceAIGuardrailId":{ + "shape":"UuidWithQualifier", + "documentation":"

        The AI Guardrail identifier used by the SELF_SERVICE AI Agent.

        " + }, + "selfServiceAnswerGenerationAIPromptId":{ + "shape":"UuidWithQualifier", + "documentation":"

        The AI Prompt identifier for the Self Service Answer Generation prompt used by the SELF_SERVICE AI Agent

        " + }, + "selfServicePreProcessingAIPromptId":{ + "shape":"UuidWithQualifier", + "documentation":"

        The AI Prompt identifier for the Self Service Pre-Processing prompt used by the SELF_SERVICE AI Agent

        " + } + }, + "documentation":"

        The configuration for AI Agents of type SELF_SERVICE.

        " + }, + "SelfServiceConversationHistory":{ + "type":"structure", + "required":["turnNumber"], + "members":{ + "botResponse":{ + "shape":"SensitiveString", + "documentation":"

        The bot response of the conversation history data.

        " + }, + "inputTranscript":{ + "shape":"SensitiveString", + "documentation":"

        The input transcript of the conversation history data.

        " + }, + "turnNumber":{ + "shape":"Integer", + "documentation":"

        The number of turn of the conversation history data.

        " + } + }, + "documentation":"

        The conversation history data to included in conversation context data before the the Amazon Q in Connect session..

        " + }, + "SelfServiceConversationHistoryList":{ + "type":"list", + "member":{"shape":"SelfServiceConversationHistory"}, + "max":10, + "min":0 + }, "SemanticChunkingConfiguration":{ "type":"structure", "required":[ @@ -8014,6 +9359,63 @@ "box":true, "min":1 }, + "SendMessageRequest":{ + "type":"structure", + "required":[ + "assistantId", + "message", + "sessionId", + "type" + ], + "members":{ + "assistantId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect assistant.

        ", + "location":"uri", + "locationName":"assistantId" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

        A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the AWS SDK populates this field.For more information about idempotency, see Making retries safe with idempotent APIs.

        ", + "idempotencyToken":true + }, + "conversationContext":{ + "shape":"ConversationContext", + "documentation":"

        The conversation context before the Amazon Q in Connect session.

        " + }, + "message":{ + "shape":"MessageInput", + "documentation":"

        The message data to submit to the Amazon Q in Connect session.

        " + }, + "sessionId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect session.

        ", + "location":"uri", + "locationName":"sessionId" + }, + "type":{ + "shape":"MessageType", + "documentation":"

        The message type.

        " + } + } + }, + "SendMessageResponse":{ + "type":"structure", + "required":[ + "nextMessageToken", + "requestMessageId" + ], + "members":{ + "nextMessageToken":{ + "shape":"NextToken", + "documentation":"

        The token for the next message, used by GetNextMessage.

        " + }, + "requestMessageId":{ + "shape":"Uuid", + "documentation":"

        The identifier of the submitted message.

        " + } + } + }, "SensitiveString":{ "type":"string", "sensitive":true @@ -8450,6 +9852,22 @@ }, "documentation":"

        The configuration for a prompt template that supports full textual prompt configuration using a YAML prompt.

        " }, + "TextMessage":{ + "type":"structure", + "members":{ + "value":{ + "shape":"TextMessageValueString", + "documentation":"

        The value of the message data in text type.

        " + } + }, + "documentation":"

        The message data in text type.

        " + }, + "TextMessageValueString":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, "ThrottlingException":{ "type":"structure", "members":{ @@ -8561,6 +9979,80 @@ } } }, + "UpdateAIGuardrailRequest":{ + "type":"structure", + "required":[ + "aiGuardrailId", + "assistantId", + "blockedInputMessaging", + "blockedOutputsMessaging", + "visibilityStatus" + ], + "members":{ + "aiGuardrailId":{ + "shape":"UuidOrArnOrEitherWithQualifier", + "documentation":"

        The identifier of the Amazon Q in Connect AI Guardrail.

        ", + "location":"uri", + "locationName":"aiGuardrailId" + }, + "assistantId":{ + "shape":"UuidOrArn", + "documentation":"

        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

        ", + "location":"uri", + "locationName":"assistantId" + }, + "blockedInputMessaging":{ + "shape":"AIGuardrailBlockedMessaging", + "documentation":"

        The message to return when the AI Guardrail blocks a prompt.

        " + }, + "blockedOutputsMessaging":{ + "shape":"AIGuardrailBlockedMessaging", + "documentation":"

        The message to return when the AI Guardrail blocks a model response.

        " + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

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

        ", + "idempotencyToken":true + }, + "contentPolicyConfig":{ + "shape":"AIGuardrailContentPolicyConfig", + "documentation":"

        The content filter policies to configure for the AI Guardrail.

        " + }, + "contextualGroundingPolicyConfig":{ + "shape":"AIGuardrailContextualGroundingPolicyConfig", + "documentation":"

        The contextual grounding policy configuration used to create an AI Guardrail.

        " + }, + "description":{ + "shape":"AIGuardrailDescription", + "documentation":"

        A description of the AI Guardrail.

        " + }, + "sensitiveInformationPolicyConfig":{ + "shape":"AIGuardrailSensitiveInformationPolicyConfig", + "documentation":"

        The sensitive information policy to configure for the AI Guardrail.

        " + }, + "topicPolicyConfig":{ + "shape":"AIGuardrailTopicPolicyConfig", + "documentation":"

        The topic policies to configure for the AI Guardrail.

        " + }, + "visibilityStatus":{ + "shape":"VisibilityStatus", + "documentation":"

        The visibility status of the Amazon Q in Connect AI Guardrail.

        " + }, + "wordPolicyConfig":{ + "shape":"AIGuardrailWordPolicyConfig", + "documentation":"

        The word policy you configure for the AI Guardrail.

        " + } + } + }, + "UpdateAIGuardrailResponse":{ + "type":"structure", + "members":{ + "aiGuardrail":{ + "shape":"AIGuardrailData", + "documentation":"

        The data of the updated Amazon Q in Connect AI Guardrail.

        " + } + } + }, "UpdateAIPromptRequest":{ "type":"structure", "required":[ diff --git a/tools/code-generation/api-descriptions/rds-2014-10-31.normal.json b/tools/code-generation/api-descriptions/rds-2014-10-31.normal.json index eec1601cfb6..259209cf2b8 100644 --- a/tools/code-generation/api-descriptions/rds-2014-10-31.normal.json +++ b/tools/code-generation/api-descriptions/rds-2014-10-31.normal.json @@ -1780,7 +1780,7 @@ {"shape":"ResourceNotFoundFault"}, {"shape":"InvalidResourceStateFault"} ], - "documentation":"

        Disables the HTTP endpoint for the specified DB cluster. Disabling this endpoint disables RDS Data API.

        For more information, see Using RDS Data API in the Amazon Aurora User Guide.

        This operation applies only to Aurora PostgreSQL Serverless v2 and provisioned DB clusters. To disable the HTTP endpoint for Aurora Serverless v1 DB clusters, use the EnableHttpEndpoint parameter of the ModifyDBCluster operation.

        " + "documentation":"

        Disables the HTTP endpoint for the specified DB cluster. Disabling this endpoint disables RDS Data API.

        For more information, see Using RDS Data API in the Amazon Aurora User Guide.

        This operation applies only to Aurora Serverless v2 and provisioned DB clusters. To disable the HTTP endpoint for Aurora Serverless v1 DB clusters, use the EnableHttpEndpoint parameter of the ModifyDBCluster operation.

        " }, "DownloadDBLogFilePortion":{ "name":"DownloadDBLogFilePortion", @@ -1815,7 +1815,7 @@ {"shape":"ResourceNotFoundFault"}, {"shape":"InvalidResourceStateFault"} ], - "documentation":"

        Enables the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.

        When enabled, this endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the Aurora DB cluster. You can also query your database from inside the RDS console with the RDS query editor.

        For more information, see Using RDS Data API in the Amazon Aurora User Guide.

        This operation applies only to Aurora PostgreSQL Serverless v2 and provisioned DB clusters. To enable the HTTP endpoint for Aurora Serverless v1 DB clusters, use the EnableHttpEndpoint parameter of the ModifyDBCluster operation.

        " + "documentation":"

        Enables the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.

        When enabled, this endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the Aurora DB cluster. You can also query your database from inside the RDS console with the RDS query editor.

        For more information, see Using RDS Data API in the Amazon Aurora User Guide.

        This operation applies only to Aurora Serverless v2 and provisioned DB clusters. To enable the HTTP endpoint for Aurora Serverless v1 DB clusters, use the EnableHttpEndpoint parameter of the ModifyDBCluster operation.

        " }, "FailoverDBCluster":{ "name":"FailoverDBCluster", @@ -4307,6 +4307,10 @@ "shape":"String", "documentation":"

        The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting up and enabling Enhanced Monitoring in the Amazon RDS User Guide.

        If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn value.

        Valid for Cluster Type: Multi-AZ DB clusters only

        " }, + "DatabaseInsightsMode":{ + "shape":"DatabaseInsightsMode", + "documentation":"

        Specifies the mode of Database Insights to enable for the cluster.

        " + }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", "documentation":"

        Specifies whether to turn on Performance Insights for the DB cluster.

        For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

        Valid for Cluster Type: Multi-AZ DB clusters only

        " @@ -4610,6 +4614,10 @@ "shape":"BooleanOptional", "documentation":"

        Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

        For more information, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

        This setting doesn't apply to the following DB instances:

        • Amazon Aurora (Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB cluster.)

        • RDS Custom

        " }, + "DatabaseInsightsMode":{ + "shape":"DatabaseInsightsMode", + "documentation":"

        Specifies the mode of Database Insights to enable for the instance.

        " + }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", "documentation":"

        Specifies whether to enable Performance Insights for the DB instance. For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

        This setting doesn't apply to RDS Custom DB instances.

        " @@ -4774,6 +4782,10 @@ "shape":"BooleanOptional", "documentation":"

        Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

        For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

        This setting doesn't apply to RDS Custom DB instances.

        " }, + "DatabaseInsightsMode":{ + "shape":"DatabaseInsightsMode", + "documentation":"

        Specifies the mode of Database Insights.

        " + }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", "documentation":"

        Specifies whether to enable Performance Insights for the read replica.

        For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

        This setting doesn't apply to RDS Custom DB instances.

        " @@ -5695,6 +5707,10 @@ "shape":"String", "documentation":"

        The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

        This setting is only for non-Aurora Multi-AZ DB clusters.

        " }, + "DatabaseInsightsMode":{ + "shape":"DatabaseInsightsMode", + "documentation":"

        The mode of Database Insights that is enabled for the cluster.

        " + }, "PerformanceInsightsEnabled":{ "shape":"BooleanOptional", "documentation":"

        Indicates whether Performance Insights is enabled for the DB cluster.

        This setting is only for non-Aurora Multi-AZ DB clusters.

        " @@ -6939,6 +6955,10 @@ "shape":"Boolean", "documentation":"

        Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled for the DB instance.

        For a list of engine versions that support IAM database authentication, see IAM database authentication in the Amazon RDS User Guide and IAM database authentication in Aurora in the Amazon Aurora User Guide.

        " }, + "DatabaseInsightsMode":{ + "shape":"DatabaseInsightsMode", + "documentation":"

        The mode of Database Insights that is enabled for the instance.

        " + }, "PerformanceInsightsEnabled":{ "shape":"BooleanOptional", "documentation":"

        Indicates whether Performance Insights is enabled for the DB instance.

        " @@ -8699,6 +8719,13 @@ "min":1, "pattern":"^arn:[A-Za-z][0-9A-Za-z-:._]*" }, + "DatabaseInsightsMode":{ + "type":"string", + "enum":[ + "standard", + "advanced" + ] + }, "DeleteBlueGreenDeploymentRequest":{ "type":"structure", "required":["BlueGreenDeploymentIdentifier"], @@ -12339,7 +12366,7 @@ }, "EnableHttpEndpoint":{ "shape":"BooleanOptional", - "documentation":"

        Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster. By default, the HTTP endpoint isn't enabled.

        When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database from inside the RDS console with the RDS query editor.

        For more information, see Using RDS Data API in the Amazon Aurora User Guide.

        This parameter applies only to Aurora Serverless v1 DB clusters. To enable or disable the HTTP endpoint for an Aurora PostgreSQL Serverless v2 or provisioned DB cluster, use the EnableHttpEndpoint and DisableHttpEndpoint operations.

        Valid for Cluster Type: Aurora DB clusters only

        " + "documentation":"

        Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster. By default, the HTTP endpoint isn't enabled.

        When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database from inside the RDS console with the RDS query editor.

        For more information, see Using RDS Data API in the Amazon Aurora User Guide.

        This parameter applies only to Aurora Serverless v1 DB clusters. To enable or disable the HTTP endpoint for an Aurora Serverless v2 or provisioned DB cluster, use the EnableHttpEndpoint and DisableHttpEndpoint operations.

        Valid for Cluster Type: Aurora DB clusters only

        " }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", @@ -12377,6 +12404,10 @@ "shape":"String", "documentation":"

        The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

        If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn value.

        Valid for Cluster Type: Multi-AZ DB clusters only

        " }, + "DatabaseInsightsMode":{ + "shape":"DatabaseInsightsMode", + "documentation":"

        Specifies the mode of Database Insights to enable for the cluster.

        " + }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", "documentation":"

        Specifies whether to turn on Performance Insights for the DB cluster.

        For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

        Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

        " @@ -12645,6 +12676,10 @@ "shape":"BooleanOptional", "documentation":"

        Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

        This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB cluster.

        For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

        This setting doesn't apply to RDS Custom DB instances.

        " }, + "DatabaseInsightsMode":{ + "shape":"DatabaseInsightsMode", + "documentation":"

        Specifies the mode of Database Insights to enable for the instance.

        " + }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", "documentation":"

        Specifies whether to enable Performance Insights for the DB instance.

        For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

        This setting doesn't apply to RDS Custom DB instances.

        " @@ -15617,6 +15652,10 @@ "shape":"String", "documentation":"

        An Amazon Web Services Identity and Access Management (IAM) role with a trust policy and a permissions policy that allows Amazon RDS to access your Amazon S3 bucket. For information about this role, see Creating an IAM role manually in the Amazon RDS User Guide.

        " }, + "DatabaseInsightsMode":{ + "shape":"DatabaseInsightsMode", + "documentation":"

        Specifies the mode of Database Insights to enable for the instance.

        " + }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", "documentation":"

        Specifies whether to enable Performance Insights for the DB instance.

        For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

        " diff --git a/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json b/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json index d81fdbe0c6c..c92ba74cd2f 100644 --- a/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json +++ b/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json @@ -28,7 +28,7 @@ {"shape":"NoSuchUpload"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadAbort.html", - "documentation":"

        This operation aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be freed. However, if any part uploads are currently in progress, those part uploads might or might not succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to completely free all storage consumed by all parts.

        To verify that all parts have been removed and prevent getting charged for the part storage, you should call the ListParts API operation and ensure that the parts list is empty.

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

        • 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - For information about permissions required to use the multipart upload, see Multipart Upload and Permissions in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following operations are related to AbortMultipartUpload:

        " + "documentation":"

        This operation aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be freed. However, if any part uploads are currently in progress, those part uploads might or might not succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to completely free all storage consumed by all parts.

        To verify that all parts have been removed and prevent getting charged for the part storage, you should call the ListParts API operation and ensure that the parts list is empty.

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

        • 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - For information about permissions required to use the multipart upload, see Multipart Upload and Permissions in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following operations are related to AbortMultipartUpload:

        " }, "CompleteMultipartUpload":{ "name":"CompleteMultipartUpload", @@ -39,7 +39,7 @@ "input":{"shape":"CompleteMultipartUploadRequest"}, "output":{"shape":"CompleteMultipartUploadOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadComplete.html", - "documentation":"

        Completes a multipart upload by assembling previously uploaded parts.

        You first initiate the multipart upload and then upload all parts using the UploadPart operation or the UploadPartCopy operation. After successfully uploading all relevant parts of an upload, you call this CompleteMultipartUpload operation to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the CompleteMultipartUpload request, you must provide the parts list and ensure that the parts list is complete. The CompleteMultipartUpload API operation concatenates the parts that you provide in the list. For each part in the list, you must provide the PartNumber value and the ETag value that are returned after that part was uploaded.

        The processing of a CompleteMultipartUpload request could take several minutes to finalize. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. A request could fail after the initial 200 OK response has been sent. This means that a 200 OK response can contain either a success or an error. The error response might be embedded in the 200 OK response. If you call this API operation directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use exceptions, they return an error).

        Note that if CompleteMultipartUpload fails, applications should be prepared to retry any failed requests (including 500 error responses). For more information, see Amazon S3 Error Best Practices.

        You can't use Content-Type: application/x-www-form-urlencoded for the CompleteMultipartUpload requests. Also, if you don't provide a Content-Type header, CompleteMultipartUpload can still return a 200 OK response.

        For more information about multipart uploads, see Uploading Objects Using Multipart Upload 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints 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 in the Amazon S3 User Guide.

          If you provide an additional checksum value in your MultipartUpload requests and the object is encrypted with Key Management Service, you must have permission to use the kms:Decrypt action for the CompleteMultipartUpload request to succeed.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

        Special errors
        • Error Code: EntityTooSmall

          • Description: Your proposed upload is smaller than the minimum allowed object size. Each part must be at least 5 MB in size, except the last part.

          • HTTP Status Code: 400 Bad Request

        • Error Code: InvalidPart

          • Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified ETag might not have matched the uploaded part's ETag.

          • HTTP Status Code: 400 Bad Request

        • Error Code: InvalidPartOrder

          • Description: The list of parts was not in ascending order. The parts list must be specified in order by part number.

          • HTTP Status Code: 400 Bad Request

        • Error Code: NoSuchUpload

          • Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.

          • HTTP Status Code: 404 Not Found

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following operations are related to CompleteMultipartUpload:

        " + "documentation":"

        Completes a multipart upload by assembling previously uploaded parts.

        You first initiate the multipart upload and then upload all parts using the UploadPart operation or the UploadPartCopy operation. After successfully uploading all relevant parts of an upload, you call this CompleteMultipartUpload operation to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the CompleteMultipartUpload request, you must provide the parts list and ensure that the parts list is complete. The CompleteMultipartUpload API operation concatenates the parts that you provide in the list. For each part in the list, you must provide the PartNumber value and the ETag value that are returned after that part was uploaded.

        The processing of a CompleteMultipartUpload request could take several minutes to finalize. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. A request could fail after the initial 200 OK response has been sent. This means that a 200 OK response can contain either a success or an error. The error response might be embedded in the 200 OK response. If you call this API operation directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use exceptions, they return an error).

        Note that if CompleteMultipartUpload fails, applications should be prepared to retry any failed requests (including 500 error responses). For more information, see Amazon S3 Error Best Practices.

        You can't use Content-Type: application/x-www-form-urlencoded for the CompleteMultipartUpload requests. Also, if you don't provide a Content-Type header, CompleteMultipartUpload can still return a 200 OK response.

        For more information about multipart uploads, see Uploading Objects Using Multipart Upload 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets 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 in the Amazon S3 User Guide.

          If you provide an additional checksum value in your MultipartUpload requests and the object is encrypted with Key Management Service, you must have permission to use the kms:Decrypt action for the CompleteMultipartUpload request to succeed.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

        Special errors
        • Error Code: EntityTooSmall

          • Description: Your proposed upload is smaller than the minimum allowed object size. Each part must be at least 5 MB in size, except the last part.

          • HTTP Status Code: 400 Bad Request

        • Error Code: InvalidPart

          • Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified ETag might not have matched the uploaded part's ETag.

          • HTTP Status Code: 400 Bad Request

        • Error Code: InvalidPartOrder

          • Description: The list of parts was not in ascending order. The parts list must be specified in order by part number.

          • HTTP Status Code: 400 Bad Request

        • Error Code: NoSuchUpload

          • Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.

          • HTTP Status Code: 404 Not Found

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following operations are related to CompleteMultipartUpload:

        " }, "CopyObject":{ "name":"CopyObject", @@ -53,7 +53,7 @@ {"shape":"ObjectNotInActiveTierError"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectCOPY.html", - "documentation":"

        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.

        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.

        • 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        • VPC endpoints don't support cross-Region requests (including copies). If you're using VPC endpoints, your source and destination buckets should be in the same Amazon Web Services Region as your VPC endpoint.

        Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account. For more information about how to enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services Account Management Guide.

        Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

        Authentication and authorization

        All CopyObject 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.

        Directory buckets - You must use the IAM credentials to authenticate and authorize your access to the CopyObject 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 must have read access to the source object and write access to the destination bucket.

        • General purpose bucket permissions - You must have permissions in an IAM policy based on the source and destination bucket types in a CopyObject operation.

          • If the source object is in a general purpose bucket, you must have s3:GetObject permission to read the source object that is being copied.

          • If the destination bucket is a general purpose bucket, you must have s3:PutObject permission to write the object copy to the destination bucket.

        • Directory bucket permissions - You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types in a CopyObject operation.

          • If the source object that you want to copy is in a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to read the object. 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 copy source bucket.

          • If the copy destination is a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to write the object to the destination. The s3express:SessionMode condition key can't be set to ReadOnly on the copy destination bucket.

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

          For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the Amazon S3 User Guide.

        Response and special errors

        When the request is an HTTP 1.1 request, the response is chunk encoded. When the request is not an HTTP 1.1 request, the response would not contain the Content-Length. You always need to read the entire response body to check if the copy succeeds.

        • If the copy is successful, you receive a response with information about the copied object.

        • A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. A 200 OK response can contain either a success or an error.

          • If the error occurs before the copy action starts, you receive a standard Amazon S3 error.

          • If the error occurs during the copy operation, the error response is embedded in the 200 OK response. For example, in a cross-region copy, you may encounter throttling and receive a 200 OK response. For more information, see Resolve the Error 200 response when copying objects to Amazon S3. The 200 OK status code means the copy was accepted, but it doesn't mean the copy is complete. Another example is when you disconnect from Amazon S3 before the copy is complete, Amazon S3 might cancel the copy and you may receive a 200 OK response. You must stay connected to Amazon S3 until the entire response is successfully received and processed.

            If you call this API operation directly, make sure to design your application to parse the content of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use exceptions, they return an error).

        Charge

        The copy request charge is based on the storage class and Region that you specify for the destination object. The request can also result in a data retrieval charge for the source if the source storage class bills for data retrieval. If the copy source is in a different region, the data transfer is billed to the copy source account. For pricing information, see Amazon S3 pricing.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following operations are related to CopyObject:

        ", + "documentation":"

        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.

        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.

        • 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        • VPC endpoints don't support cross-Region requests (including copies). If you're using VPC endpoints, your source and destination buckets should be in the same Amazon Web Services Region as your VPC endpoint.

        Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account. For more information about how to enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services Account Management Guide.

        Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

        Authentication and authorization

        All CopyObject 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.

        Directory buckets - You must use the IAM credentials to authenticate and authorize your access to the CopyObject 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 must have read access to the source object and write access to the destination bucket.

        • General purpose bucket permissions - You must have permissions in an IAM policy based on the source and destination bucket types in a CopyObject operation.

          • If the source object is in a general purpose bucket, you must have s3:GetObject permission to read the source object that is being copied.

          • If the destination bucket is a general purpose bucket, you must have s3:PutObject permission to write the object copy to the destination bucket.

        • Directory bucket permissions - You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types in a CopyObject operation.

          • If the source object that you want to copy is in a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to read the object. 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 copy source bucket.

          • If the copy destination is a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to write the object to the destination. The s3express:SessionMode condition key can't be set to ReadOnly on the copy destination bucket.

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

          For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the Amazon S3 User Guide.

        Response and special errors

        When the request is an HTTP 1.1 request, the response is chunk encoded. When the request is not an HTTP 1.1 request, the response would not contain the Content-Length. You always need to read the entire response body to check if the copy succeeds.

        • If the copy is successful, you receive a response with information about the copied object.

        • A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. A 200 OK response can contain either a success or an error.

          • If the error occurs before the copy action starts, you receive a standard Amazon S3 error.

          • If the error occurs during the copy operation, the error response is embedded in the 200 OK response. For example, in a cross-region copy, you may encounter throttling and receive a 200 OK response. For more information, see Resolve the Error 200 response when copying objects to Amazon S3. The 200 OK status code means the copy was accepted, but it doesn't mean the copy is complete. Another example is when you disconnect from Amazon S3 before the copy is complete, Amazon S3 might cancel the copy and you may receive a 200 OK response. You must stay connected to Amazon S3 until the entire response is successfully received and processed.

            If you call this API operation directly, make sure to design your application to parse the content of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use exceptions, they return an error).

        Charge

        The copy request charge is based on the storage class and Region that you specify for the destination object. The request can also result in a data retrieval charge for the source if the source storage class bills for data retrieval. If the copy source is in a different region, the data transfer is billed to the copy source account. For pricing information, see Amazon S3 pricing.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following operations are related to CopyObject:

        ", "alias":"PutObjectCopy", "staticContextParams":{ "DisableS3ExpressSessionAuth":{"value":true} @@ -72,7 +72,7 @@ {"shape":"BucketAlreadyOwnedByYou"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html", - "documentation":"

        This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see CreateBucket .

        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 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 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, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - In addition to the s3:CreateBucket permission, the following permissions are required in a policy when your CreateBucket request includes specific headers:

          • Access control lists (ACLs) - In your CreateBucket request, if you specify an access control list (ACL) and set it to public-read, public-read-write, authenticated-read, or if you explicitly specify any other custom ACLs, both s3:CreateBucket and s3:PutBucketAcl permissions are required. In your CreateBucket request, if you set the ACL to private, or if you don't specify any ACLs, only the s3:CreateBucket permission is required.

          • Object Lock - In your CreateBucket request, if you set x-amz-bucket-object-lock-enabled to true, the s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

          • S3 Object Ownership - If your CreateBucket request includes the x-amz-object-ownership header, then the s3:PutBucketOwnershipControls permission is required.

            To set an ACL on a bucket as part of a CreateBucket request, you must explicitly set S3 Object Ownership for the bucket to a different value than the default, BucketOwnerEnforced. Additionally, if your desired bucket ACL grants public access, you must first create the bucket (without the bucket ACL) and then explicitly disable Block Public Access on the bucket before using PutBucketAcl to set the ACL. If you try to create a bucket with a public ACL, the request will fail.

            For the majority of modern use cases in S3, we recommend that you keep all Block Public Access settings enabled and keep ACLs disabled. If you would like to share data with users outside of your account, you can use bucket policies as needed. For more information, see Controlling ownership of objects and disabling ACLs for your bucket and Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

          • S3 Block Public Access - If your specific use case requires granting public access to your S3 resources, you can disable Block Public Access. Specifically, you can create a new bucket with Block Public Access enabled, then separately call the DeletePublicAccessBlock API. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

        • Directory bucket permissions - You must have the s3express:CreateBucket 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 in the Amazon S3 User Guide.

          The permissions for ACLs, Object Lock, S3 Object Ownership, and S3 Block Public Access are not supported for directory buckets. For directory buckets, all Block Public Access settings are enabled at the bucket level and S3 Object Ownership is set to Bucket owner enforced (ACLs disabled). These settings can't be modified.

          For more information about permissions for creating and working with directory buckets, see Directory buckets in the Amazon S3 User Guide. For more information about supported S3 features for directory buckets, see Features of S3 Express One Zone in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        The following operations are related to CreateBucket:

        ", + "documentation":"

        This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see CreateBucket .

        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 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 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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - In addition to the s3:CreateBucket permission, the following permissions are required in a policy when your CreateBucket request includes specific headers:

          • Access control lists (ACLs) - In your CreateBucket request, if you specify an access control list (ACL) and set it to public-read, public-read-write, authenticated-read, or if you explicitly specify any other custom ACLs, both s3:CreateBucket and s3:PutBucketAcl permissions are required. In your CreateBucket request, if you set the ACL to private, or if you don't specify any ACLs, only the s3:CreateBucket permission is required.

          • Object Lock - In your CreateBucket request, if you set x-amz-bucket-object-lock-enabled to true, the s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

          • S3 Object Ownership - If your CreateBucket request includes the x-amz-object-ownership header, then the s3:PutBucketOwnershipControls permission is required.

            To set an ACL on a bucket as part of a CreateBucket request, you must explicitly set S3 Object Ownership for the bucket to a different value than the default, BucketOwnerEnforced. Additionally, if your desired bucket ACL grants public access, you must first create the bucket (without the bucket ACL) and then explicitly disable Block Public Access on the bucket before using PutBucketAcl to set the ACL. If you try to create a bucket with a public ACL, the request will fail.

            For the majority of modern use cases in S3, we recommend that you keep all Block Public Access settings enabled and keep ACLs disabled. If you would like to share data with users outside of your account, you can use bucket policies as needed. For more information, see Controlling ownership of objects and disabling ACLs for your bucket and Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

          • S3 Block Public Access - If your specific use case requires granting public access to your S3 resources, you can disable Block Public Access. Specifically, you can create a new bucket with Block Public Access enabled, then separately call the DeletePublicAccessBlock API. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

        • Directory bucket permissions - You must have the s3express:CreateBucket 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 in the Amazon S3 User Guide.

          The permissions for ACLs, Object Lock, S3 Object Ownership, and S3 Block Public Access are not supported for directory buckets. For directory buckets, all Block Public Access settings are enabled at the bucket level and S3 Object Ownership is set to Bucket owner enforced (ACLs disabled). These settings can't be modified.

          For more information about permissions for creating and working with directory buckets, see Directory buckets in the Amazon S3 User Guide. For more information about supported S3 features for directory buckets, see Features of S3 Express One Zone in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

        The following operations are related to CreateBucket:

        ", "alias":"PutBucket", "staticContextParams":{ "DisableAccessPoints":{"value":true}, @@ -88,7 +88,7 @@ "input":{"shape":"CreateMultipartUploadRequest"}, "output":{"shape":"CreateMultipartUploadOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadInitiate.html", - "documentation":"

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

        • Directory buckets - S3 Lifecycle is not supported by directory buckets.

        • 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Request signing

        For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - To perform a multipart upload with encryption using an Key Management Service (KMS) KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey actions on the key. The requester must also have permissions for the kms:GenerateDataKey action for the CreateMultipartUpload API. Then, the requester needs permissions for the kms:Decrypt action on the UploadPart and UploadPartCopy APIs. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        Encryption
        • General purpose buckets - Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption information in your request, the encryption setting of the uploaded parts is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to use a different type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the object with a different encryption key (such as an Amazon S3 managed key, a KMS key, or a customer-provided key). When the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the CreateMultipartUpload request.

          • Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (aws/s3) and KMS customer managed keys stored in Key Management Service (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data, specify the following headers in the request.

            • x-amz-server-side-encryption

            • x-amz-server-side-encryption-aws-kms-key-id

            • x-amz-server-side-encryption-context

            • If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in KMS to protect the data.

            • To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

            • If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role is in a different account from the key, then you must have the permissions on both the key policy and your IAM user or role.

            • All GET and PUT requests for an object protected by KMS fail if you don't make them by using Secure Sockets Layer (SSL), Transport Layer Security (TLS), or Signature Version 4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

            For more information about server-side encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys in the Amazon S3 User Guide.

          • Use customer-provided encryption keys (SSE-C) – If you want to manage your own encryption keys, provide all the following headers in the request.

            • x-amz-server-side-encryption-customer-algorithm

            • x-amz-server-side-encryption-customer-key

            • x-amz-server-side-encryption-customer-key-MD5

            For more information about server-side encryption with customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with customer-provided encryption keys (SSE-C) in the Amazon S3 User Guide.

        • Directory buckets - 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 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.

          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. 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. 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. So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), the encryption request headers must match the default encryption configuration of the directory bucket.

          For directory buckets, when you perform a CreateMultipartUpload operation and an UploadPartCopy operation, the request headers you provide in the CreateMultipartUpload request must match the default encryption configuration of the destination bucket.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following operations are related to CreateMultipartUpload:

        ", + "documentation":"

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

        • Directory buckets - S3 Lifecycle is not supported by directory buckets.

        • 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Request signing

        For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - To perform a multipart upload with encryption using an Key Management Service (KMS) KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey actions on the key. The requester must also have permissions for the kms:GenerateDataKey action for the CreateMultipartUpload API. Then, the requester needs permissions for the kms:Decrypt action on the UploadPart and UploadPartCopy APIs. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        Encryption
        • General purpose buckets - Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption information in your request, the encryption setting of the uploaded parts is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to use a different type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the object with a different encryption key (such as an Amazon S3 managed key, a KMS key, or a customer-provided key). When the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the CreateMultipartUpload request.

          • Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (aws/s3) and KMS customer managed keys stored in Key Management Service (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data, specify the following headers in the request.

            • x-amz-server-side-encryption

            • x-amz-server-side-encryption-aws-kms-key-id

            • x-amz-server-side-encryption-context

            • If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in KMS to protect the data.

            • To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

            • If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role is in a different account from the key, then you must have the permissions on both the key policy and your IAM user or role.

            • All GET and PUT requests for an object protected by KMS fail if you don't make them by using Secure Sockets Layer (SSL), Transport Layer Security (TLS), or Signature Version 4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

            For more information about server-side encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys in the Amazon S3 User Guide.

          • Use customer-provided encryption keys (SSE-C) – If you want to manage your own encryption keys, provide all the following headers in the request.

            • x-amz-server-side-encryption-customer-algorithm

            • x-amz-server-side-encryption-customer-key

            • x-amz-server-side-encryption-customer-key-MD5

            For more information about server-side encryption with customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with customer-provided encryption keys (SSE-C) in the Amazon S3 User Guide.

        • Directory buckets - 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 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.

          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. 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. 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. So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), the encryption request headers must match the default encryption configuration of the directory bucket.

          For directory buckets, when you perform a CreateMultipartUpload operation and an UploadPartCopy operation, the request headers you provide in the CreateMultipartUpload request must match the default encryption configuration of the destination bucket.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following operations are related to CreateMultipartUpload:

        ", "alias":"InitiateMultipartUpload" }, "CreateSession":{ @@ -102,7 +102,7 @@ "errors":[ {"shape":"NoSuchBucket"} ], - "documentation":"

        Creates a session that establishes temporary security credentials to support fast authentication and authorization for the Zonal endpoint API operations on directory buckets. For more information about Zonal endpoint API operations that include the Availability Zone in the request endpoint, see S3 Express One Zone APIs in the Amazon S3 User Guide.

        To make Zonal endpoint API requests on a directory bucket, use the CreateSession API operation. Specifically, you grant s3express:CreateSession permission to a bucket in a bucket policy or an IAM identity-based policy. Then, you use IAM credentials to make the CreateSession API request on the bucket, which returns temporary security credentials that include the access key ID, secret access key, session token, and expiration. These credentials have associated permissions to access the Zonal endpoint API operations. After the session is created, you don’t need to use other policies to grant permissions to each Zonal endpoint API individually. Instead, in your Zonal endpoint API requests, you sign your requests by applying the temporary security credentials of the session to the request headers and following the SigV4 protocol for authentication. You also apply the session token to the x-amz-s3session-token request header for authorization. Temporary security credentials are scoped to the bucket and expire after 5 minutes. After the expiration time, any calls that you make with those credentials will fail. You must use IAM credentials again to make a CreateSession API request that generates a new set of temporary credentials for use. Temporary credentials cannot be extended or refreshed beyond the original specified interval.

        If you use Amazon Web Services SDKs, SDKs handle the session token refreshes automatically to avoid service interruptions when a session expires. We recommend that you use the Amazon Web Services SDKs to initiate and manage requests to the CreateSession API. For more information, see Performance guidelines and design patterns in the Amazon S3 User Guide.

        • 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-az_id.region.amazonaws.com. Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        • CopyObject API operation - Unlike other Zonal endpoint API operations, the CopyObject 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 CopyObject API operation on directory buckets, see CopyObject.

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

        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 . For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone 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 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.

        For Zonal endpoint (object-level) API operations except CopyObject and UploadPartCopy, you authenticate and authorize requests through CreateSession 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). 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 is supported per directory bucket for the lifetime of the bucket. The Amazon Web Services managed key (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 and UploadPartCopy) 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 and UploadPartCopy), 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-az_id.region.amazonaws.com.

        ", + "documentation":"

        Creates a session that establishes temporary security credentials to support fast authentication and authorization for the Zonal endpoint API operations on directory buckets. For more information about Zonal endpoint API operations that include the Availability Zone in the request endpoint, see S3 Express One Zone APIs in the Amazon S3 User Guide.

        To make Zonal endpoint API requests on a directory bucket, use the CreateSession API operation. Specifically, you grant s3express:CreateSession permission to a bucket in a bucket policy or an IAM identity-based policy. Then, you use IAM credentials to make the CreateSession API request on the bucket, which returns temporary security credentials that include the access key ID, secret access key, session token, and expiration. These credentials have associated permissions to access the Zonal endpoint API operations. After the session is created, you don’t need to use other policies to grant permissions to each Zonal endpoint API individually. Instead, in your Zonal endpoint API requests, you sign your requests by applying the temporary security credentials of the session to the request headers and following the SigV4 protocol for authentication. You also apply the session token to the x-amz-s3session-token request header for authorization. Temporary security credentials are scoped to the bucket and expire after 5 minutes. After the expiration time, any calls that you make with those credentials will fail. You must use IAM credentials again to make a CreateSession API request that generates a new set of temporary credentials for use. Temporary credentials cannot be extended or refreshed beyond the original specified interval.

        If you use Amazon Web Services SDKs, SDKs handle the session token refreshes automatically to avoid service interruptions when a session expires. We recommend that you use the Amazon Web Services SDKs to initiate and manage requests to the CreateSession API. For more information, see Performance guidelines and design patterns in the Amazon S3 User Guide.

        • 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 Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        • CopyObject API operation - Unlike other Zonal endpoint API operations, the CopyObject 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 CopyObject API operation on directory buckets, see CopyObject.

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

        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 . For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone 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 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.

        For Zonal endpoint (object-level) API operations except CopyObject and UploadPartCopy, you authenticate and authorize requests through CreateSession 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). 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 is supported per directory bucket for the lifetime of the bucket. The Amazon Web Services managed key (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 and UploadPartCopy) 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 and UploadPartCopy), 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.

        ", "staticContextParams":{ "DisableS3ExpressSessionAuth":{"value":true} } @@ -116,7 +116,7 @@ }, "input":{"shape":"DeleteBucketRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETE.html", - "documentation":"

        Deletes the S3 bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted.

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

        • 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, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - You must have the s3:DeleteBucket permission on the specified bucket in a policy.

        • Directory bucket permissions - You must have the s3express:DeleteBucket 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 in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        The following operations are related to DeleteBucket:

        ", + "documentation":"

        Deletes the S3 bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted.

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

        • 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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - You must have the s3:DeleteBucket permission on the specified bucket in a policy.

        • Directory bucket permissions - You must have the s3express:DeleteBucket 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 in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

        The following operations are related to DeleteBucket:

        ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -156,7 +156,7 @@ "responseCode":204 }, "input":{"shape":"DeleteBucketEncryptionRequest"}, - "documentation":"

        This implementation of the DELETE action resets the default encryption for the bucket as server-side encryption with Amazon S3 managed keys (SSE-S3).

        Permissions
        • General purpose bucket permissions - The s3:PutEncryptionConfiguration permission is required in a policy. 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 Operations and Managing Access Permissions to Your Amazon S3 Resources.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:PutEncryptionConfiguration 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 in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        The following operations are related to DeleteBucketEncryption:

        ", + "documentation":"

        This implementation of the DELETE action resets the default encryption for the bucket as server-side encryption with Amazon S3 managed keys (SSE-S3).

        Permissions
        • General purpose bucket permissions - The s3:PutEncryptionConfiguration permission is required in a policy. 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 Operations and Managing Access Permissions to Your Amazon S3 Resources.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:PutEncryptionConfiguration 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 in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

        The following operations are related to DeleteBucketEncryption:

        ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -196,7 +196,7 @@ }, "input":{"shape":"DeleteBucketLifecycleRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html", - "documentation":"

        Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of rules contained in the deleted lifecycle configuration.

        Permissions
        • General purpose bucket permissions - By default, all Amazon S3 resources are private, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration). Only the resource owner (that is, the Amazon Web Services account that created it) can access the resource. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, a user must have the s3:PutLifecycleConfiguration permission.

          For more information about permissions, see Managing Access Permissions to Your Amazon S3 Resources.

        • Directory bucket permissions - You must have the s3express:PutLifecycleConfiguration permission in an IAM identity-based policy to use this operation. Cross-account access to this API operation isn't supported. The resource owner can optionally grant access permissions to others by creating a role or user for them as long as they are within the same account as the owner and resource.

          For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM 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, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        For more information about the object expiration, see Elements to Describe Lifecycle Actions.

        Related actions include:

        ", + "documentation":"

        Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of rules contained in the deleted lifecycle configuration.

        Permissions
        • General purpose bucket permissions - By default, all Amazon S3 resources are private, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration). Only the resource owner (that is, the Amazon Web Services account that created it) can access the resource. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, a user must have the s3:PutLifecycleConfiguration permission.

          For more information about permissions, see Managing Access Permissions to Your Amazon S3 Resources.

        • Directory bucket permissions - You must have the s3express:PutLifecycleConfiguration permission in an IAM identity-based policy to use this operation. Cross-account access to this API operation isn't supported. The resource owner can optionally grant access permissions to others by creating a role or user for them as long as they are within the same account as the owner and resource.

          For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM 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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        For more information about the object expiration, see Elements to Describe Lifecycle Actions.

        Related actions include:

        ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -236,7 +236,7 @@ }, "input":{"shape":"DeleteBucketPolicyRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html", - "documentation":"

        Deletes the policy of a specified bucket.

        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, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Permissions

        If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must both have the DeleteBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

        If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

        To ensure that bucket owners don't inadvertently lock themselves out of their own buckets, the root principal in a bucket owner's Amazon Web Services account can perform the GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the root principal's access. Bucket owner root principals can only be blocked from performing these API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

        • General purpose bucket permissions - The s3:DeleteBucketPolicy permission is required in a policy. For more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:DeleteBucketPolicy 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 in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        The following operations are related to DeleteBucketPolicy

        ", + "documentation":"

        Deletes the policy of a specified bucket.

        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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Permissions

        If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must both have the DeleteBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

        If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

        To ensure that bucket owners don't inadvertently lock themselves out of their own buckets, the root principal in a bucket owner's Amazon Web Services account can perform the GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the root principal's access. Bucket owner root principals can only be blocked from performing these API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

        • General purpose bucket permissions - The s3:DeleteBucketPolicy permission is required in a policy. For more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:DeleteBucketPolicy 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 in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

        The following operations are related to DeleteBucketPolicy

        ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -292,7 +292,7 @@ "input":{"shape":"DeleteObjectRequest"}, "output":{"shape":"DeleteObjectOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectDELETE.html", - "documentation":"

        Removes an object from a bucket. The behavior depends on the bucket's versioning state. For more information, see Best practices to consider before deleting an object.

        To remove a specific version, you must use the versionId query parameter. Using this query parameter permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the response header x-amz-delete-marker to true. If the object you want to delete is in a bucket where the bucket versioning configuration is MFA delete enabled, you must include the x-amz-mfa request header in the DELETE versionId request. Requests that include x-amz-mfa must use HTTPS. For more information about MFA delete and to see example requests, see Using MFA delete and Sample request in the Amazon S3 User Guide.

        • 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 versionId query parameter in the request.

        • 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        • MFA delete is not supported by directory buckets.

        Permissions
        • General purpose bucket permissions - The following permissions are required in your policies when your DeleteObjects request includes specific headers.

          • s3:DeleteObject - To delete an object from a bucket, you must always have the s3:DeleteObject permission.

            You can also use PutBucketLifecycle to delete objects in Amazon S3.

          • s3:DeleteObjectVersion - To delete a specific version of an object from a versioning-enabled bucket, you must have the s3:DeleteObjectVersion permission.

          • If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration permissions.

        • Directory buckets permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following action is related to DeleteObject:

        " + "documentation":"

        Removes an object from a bucket. The behavior depends on the bucket's versioning state:

        • If bucket versioning is not enabled, the operation permanently deletes the object.

        • If bucket versioning is enabled, the operation inserts a delete marker, which becomes the current version of the object. To permanently delete an object in a versioned bucket, you must include the object’s versionId in the request. For more information about versioning-enabled buckets, see Deleting object versions from a versioning-enabled bucket.

        • If bucket versioning is suspended, the operation removes the object that has a null versionId, if there is one, and inserts a delete marker that becomes the current version of the object. If there isn't an object with a null versionId, and all versions of the object have a versionId, Amazon S3 does not remove the object and only inserts a delete marker. To permanently delete an object that has a versionId, you must include the object’s versionId in the request. For more information about versioning-suspended buckets, see Deleting objects from versioning-suspended buckets.

        • 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. You can only specify null to the versionId query parameter in the request.

        • 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        To remove a specific version, you must use the versionId query parameter. Using this query parameter permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the response header x-amz-delete-marker to true.

        If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, you must include the x-amz-mfa request header in the DELETE versionId request. Requests that include x-amz-mfa must use HTTPS. For more information about MFA Delete, see Using MFA Delete in the Amazon S3 User Guide. To see sample requests that use versioning, see Sample Request.

        Directory buckets - MFA delete is not supported by directory buckets.

        You can delete objects by explicitly calling DELETE Object or calling (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration actions.

        Directory buckets - S3 Lifecycle is not supported by directory buckets.

        Permissions
        • General purpose bucket permissions - The following permissions are required in your policies when your DeleteObjects request includes specific headers.

          • s3:DeleteObject - To delete an object from a bucket, you must always have the s3:DeleteObject permission.

          • s3:DeleteObjectVersion - To delete a specific version of an object from a versioning-enabled bucket, you must have the s3:DeleteObjectVersion permission.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following action is related to DeleteObject:

        " }, "DeleteObjectTagging":{ "name":"DeleteObjectTagging", @@ -314,7 +314,7 @@ "input":{"shape":"DeleteObjectsRequest"}, "output":{"shape":"DeleteObjectsOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/multiobjectdeleteapi.html", - "documentation":"

        This operation enables you to delete multiple objects from a bucket using a single HTTP request. If you know the object keys that you want to delete, then this operation provides a suitable alternative to sending individual delete requests, reducing per-request overhead.

        The request can contain a list of up to 1000 keys that you want to delete. In the XML, you provide the object key names, and optionally, version IDs if you want to delete a specific version of the object from a versioning-enabled bucket. For each key, Amazon S3 performs a delete operation and returns the result of that delete, success or failure, in the response. Note that if the object specified in the request is not found, Amazon S3 returns the result as deleted.

        • Directory buckets - S3 Versioning isn't enabled and supported for directory buckets.

        • 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        The operation supports two modes for the response: verbose and quiet. By default, the operation uses verbose mode in which the response includes the result of deletion of each key in your request. In quiet mode the response includes only keys where the delete operation encountered an error. For a successful deletion in a quiet mode, the operation does not return any information about the delete in the response body.

        When performing this action on an MFA Delete enabled bucket, that attempts to delete any versioned objects, you must include an MFA token. If you do not provide one, the entire request will fail, even if there are non-versioned objects you are trying to delete. If you provide an invalid token, whether there are versioned keys in the request or not, the entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA Delete in the Amazon S3 User Guide.

        Directory buckets - MFA delete is not supported by directory buckets.

        Permissions
        • General purpose bucket permissions - The following permissions are required in your policies when your DeleteObjects request includes specific headers.

          • s3:DeleteObject - To delete an object from a bucket, you must always specify the s3:DeleteObject permission.

          • s3:DeleteObjectVersion - To delete a specific version of an object from a versioning-enabled bucket, you must specify the s3:DeleteObjectVersion permission.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        Content-MD5 request header
        • General purpose bucket - The Content-MD5 request header is required for all Multi-Object Delete requests. Amazon S3 uses the header value to ensure that your request body has not been altered in transit.

        • Directory bucket - The Content-MD5 request header or a additional checksum request header (including x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-sha1, or x-amz-checksum-sha256) is required for all Multi-Object Delete requests.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following operations are related to DeleteObjects:

        ", + "documentation":"

        This operation enables you to delete multiple objects from a bucket using a single HTTP request. If you know the object keys that you want to delete, then this operation provides a suitable alternative to sending individual delete requests, reducing per-request overhead.

        The request can contain a list of up to 1000 keys that you want to delete. In the XML, you provide the object key names, and optionally, version IDs if you want to delete a specific version of the object from a versioning-enabled bucket. For each key, Amazon S3 performs a delete operation and returns the result of that delete, success or failure, in the response. Note that if the object specified in the request is not found, Amazon S3 returns the result as deleted.

        • Directory buckets - S3 Versioning isn't enabled and supported for directory buckets.

        • 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        The operation supports two modes for the response: verbose and quiet. By default, the operation uses verbose mode in which the response includes the result of deletion of each key in your request. In quiet mode the response includes only keys where the delete operation encountered an error. For a successful deletion in a quiet mode, the operation does not return any information about the delete in the response body.

        When performing this action on an MFA Delete enabled bucket, that attempts to delete any versioned objects, you must include an MFA token. If you do not provide one, the entire request will fail, even if there are non-versioned objects you are trying to delete. If you provide an invalid token, whether there are versioned keys in the request or not, the entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA Delete in the Amazon S3 User Guide.

        Directory buckets - MFA delete is not supported by directory buckets.

        Permissions
        • General purpose bucket permissions - The following permissions are required in your policies when your DeleteObjects request includes specific headers.

          • s3:DeleteObject - To delete an object from a bucket, you must always specify the s3:DeleteObject permission.

          • s3:DeleteObjectVersion - To delete a specific version of an object from a versioning-enabled bucket, you must specify the s3:DeleteObjectVersion permission.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        Content-MD5 request header
        • General purpose bucket - The Content-MD5 request header is required for all Multi-Object Delete requests. Amazon S3 uses the header value to ensure that your request body has not been altered in transit.

        • Directory bucket - The Content-MD5 request header or a additional checksum request header (including x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-sha1, or x-amz-checksum-sha256) is required for all Multi-Object Delete requests.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following operations are related to DeleteObjects:

        ", "alias":"DeleteMultipleObjects", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", @@ -396,7 +396,7 @@ }, "input":{"shape":"GetBucketEncryptionRequest"}, "output":{"shape":"GetBucketEncryptionOutput"}, - "documentation":"

        Returns the default encryption configuration for an Amazon S3 bucket. By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3).

        Permissions
        • General purpose bucket permissions - The s3:GetEncryptionConfiguration permission is required in a policy. 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 Operations and Managing Access Permissions to Your Amazon S3 Resources.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:GetEncryptionConfiguration 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 in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        The following operations are related to GetBucketEncryption:

        ", + "documentation":"

        Returns the default encryption configuration for an Amazon S3 bucket. By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3).

        Permissions
        • General purpose bucket permissions - The s3:GetEncryptionConfiguration permission is required in a policy. 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 Operations and Managing Access Permissions to Your Amazon S3 Resources.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:GetEncryptionConfiguration 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 in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

        The following operations are related to GetBucketEncryption:

        ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -450,7 +450,7 @@ }, "input":{"shape":"GetBucketLifecycleConfigurationRequest"}, "output":{"shape":"GetBucketLifecycleConfigurationOutput"}, - "documentation":"

        Returns the lifecycle configuration information set on the bucket. For information about lifecycle configuration, see Object Lifecycle Management.

        Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, object size, or any combination of these. Accordingly, this section describes the latest API, which is compatible with the new functionality. The previous version of the API supported filtering based only on an object key name prefix, which is supported for general purpose buckets for backward compatibility. For the related API description, see GetBucketLifecycle.

        Lifecyle configurations for directory buckets only support expiring objects and cancelling multipart uploads. Expiring of versioned objects, transitions and tag filters are not supported.

        Permissions
        • General purpose bucket permissions - By default, all Amazon S3 resources are private, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration). Only the resource owner (that is, the Amazon Web Services account that created it) can access the resource. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, a user must have the s3:GetLifecycleConfiguration permission.

          For more information about permissions, see Managing Access Permissions to Your Amazon S3 Resources.

        • Directory bucket permissions - You must have the s3express:GetLifecycleConfiguration permission in an IAM identity-based policy to use this operation. Cross-account access to this API operation isn't supported. The resource owner can optionally grant access permissions to others by creating a role or user for them as long as they are within the same account as the owner and resource.

          For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM 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, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        GetBucketLifecycleConfiguration has the following special error:

        • Error code: NoSuchLifecycleConfiguration

          • Description: The lifecycle configuration does not exist.

          • HTTP Status Code: 404 Not Found

          • SOAP Fault Code Prefix: Client

        The following operations are related to GetBucketLifecycleConfiguration:

        ", + "documentation":"

        Returns the lifecycle configuration information set on the bucket. For information about lifecycle configuration, see Object Lifecycle Management.

        Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, object size, or any combination of these. Accordingly, this section describes the latest API, which is compatible with the new functionality. The previous version of the API supported filtering based only on an object key name prefix, which is supported for general purpose buckets for backward compatibility. For the related API description, see GetBucketLifecycle.

        Lifecyle configurations for directory buckets only support expiring objects and cancelling multipart uploads. Expiring of versioned objects, transitions and tag filters are not supported.

        Permissions
        • General purpose bucket permissions - By default, all Amazon S3 resources are private, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration). Only the resource owner (that is, the Amazon Web Services account that created it) can access the resource. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, a user must have the s3:GetLifecycleConfiguration permission.

          For more information about permissions, see Managing Access Permissions to Your Amazon S3 Resources.

        • Directory bucket permissions - You must have the s3express:GetLifecycleConfiguration permission in an IAM identity-based policy to use this operation. Cross-account access to this API operation isn't supported. The resource owner can optionally grant access permissions to others by creating a role or user for them as long as they are within the same account as the owner and resource.

          For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM 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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        GetBucketLifecycleConfiguration has the following special error:

        • Error code: NoSuchLifecycleConfiguration

          • Description: The lifecycle configuration does not exist.

          • HTTP Status Code: 404 Not Found

          • SOAP Fault Code Prefix: Client

        The following operations are related to GetBucketLifecycleConfiguration:

        ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -546,7 +546,7 @@ "input":{"shape":"GetBucketPolicyRequest"}, "output":{"shape":"GetBucketPolicyOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETpolicy.html", - "documentation":"

        Returns the policy of a specified bucket.

        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, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Permissions

        If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must both have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

        If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

        To ensure that bucket owners don't inadvertently lock themselves out of their own buckets, the root principal in a bucket owner's Amazon Web Services account can perform the GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the root principal's access. Bucket owner root principals can only be blocked from performing these API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

        • General purpose bucket permissions - The s3:GetBucketPolicy permission is required in a policy. For more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:GetBucketPolicy 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 in the Amazon S3 User Guide.

        Example bucket policies

        General purpose buckets example bucket policies - See Bucket policy examples in the Amazon S3 User Guide.

        Directory bucket example bucket policies - See Example bucket policies for S3 Express One Zone in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        The following action is related to GetBucketPolicy:

        ", + "documentation":"

        Returns the policy of a specified bucket.

        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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Permissions

        If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must both have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

        If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

        To ensure that bucket owners don't inadvertently lock themselves out of their own buckets, the root principal in a bucket owner's Amazon Web Services account can perform the GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the root principal's access. Bucket owner root principals can only be blocked from performing these API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

        • General purpose bucket permissions - The s3:GetBucketPolicy permission is required in a policy. For more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:GetBucketPolicy 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 in the Amazon S3 User Guide.

        Example bucket policies

        General purpose buckets example bucket policies - See Bucket policy examples in the Amazon S3 User Guide.

        Directory bucket example bucket policies - See Example bucket policies for S3 Express One Zone in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

        The following action is related to GetBucketPolicy:

        ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -646,7 +646,7 @@ {"shape":"InvalidObjectState"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGET.html", - "documentation":"

        Retrieves an object from Amazon S3.

        In the GetObject request, specify the full key name for the object.

        General purpose buckets - Both the virtual-hosted-style requests and the path-style requests are supported. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the object key name as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the object key name as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification in the Amazon S3 User Guide.

        Directory buckets - 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 examplebucket--use1-az5--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-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - You must have the required permissions in a policy. To use GetObject, you must have the READ access to the object (or version). If you grant READ access to the anonymous user, the GetObject operation returns the object without using an authorization header. For more information, see Specifying permissions in a policy in the Amazon S3 User Guide.

          If you include a versionId in your request header, you must have the s3:GetObjectVersion permission to access a specific version of an object. The s3:GetObject permission is not required in this scenario.

          If you request the current version of an object without a specific versionId in the request header, only the s3:GetObject permission is required. The s3:GetObjectVersion permission is not required in this scenario.

          If the object that you request doesn’t exist, the error that Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

          • If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 Not Found error.

          • If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 Access Denied error.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If the object is encrypted using SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

        Storage classes

        If the object you are retrieving is stored in the S3 Glacier Flexible Retrieval storage class, the S3 Glacier Deep Archive storage class, the S3 Intelligent-Tiering Archive Access tier, or the S3 Intelligent-Tiering Deep Archive Access tier, before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this operation returns an InvalidObjectState error. For information about restoring archived objects, see Restoring Archived Objects in the Amazon S3 User Guide.

        Directory buckets - For directory buckets, only the S3 Express One Zone storage class is supported to store newly created objects. Unsupported storage class values won't write a destination object and will respond with the HTTP status code 400 Bad Request.

        Encryption

        Encryption request headers, like x-amz-server-side-encryption, should not be sent for the GetObject requests, if your object uses server-side encryption with Amazon S3 managed encryption keys (SSE-S3), 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). If you include the header in your GetObject requests for the object that uses these types of keys, you’ll get an HTTP 400 Bad Request error.

        Directory buckets - 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 information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

        Overriding response header values through the request

        There are times when you want to override certain response header values of a GetObject response. For example, you might override the Content-Disposition response header value through your GetObject request.

        You can override values for a set of response headers. These modified response header values are included only in a successful response, that is, when the HTTP status code 200 OK is returned. The headers you can override using the following query parameters in the request are a subset of the headers that Amazon S3 accepts when you create an object.

        The response headers that you can override for the GetObject response are Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, and Expires.

        To override values for a set of response headers in the GetObject response, you can use the following query parameters in the request.

        • response-cache-control

        • response-content-disposition

        • response-content-encoding

        • response-content-language

        • response-content-type

        • response-expires

        When you use these parameters, you must sign the request by using either an Authorization header or a presigned URL. These parameters cannot be used with an unsigned (anonymous) request.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following operations are related to GetObject:

        ", + "documentation":"

        Retrieves an object from Amazon S3.

        In the GetObject request, specify the full key name for the object.

        General purpose buckets - Both the virtual-hosted-style requests and the path-style requests are supported. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the object key name as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the object key name as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification in the Amazon S3 User Guide.

        Directory buckets - 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 examplebucket--use1-az5--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 . 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 Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - You must have the required permissions in a policy. To use GetObject, you must have the READ access to the object (or version). If you grant READ access to the anonymous user, the GetObject operation returns the object without using an authorization header. For more information, see Specifying permissions in a policy in the Amazon S3 User Guide.

          If you include a versionId in your request header, you must have the s3:GetObjectVersion permission to access a specific version of an object. The s3:GetObject permission is not required in this scenario.

          If you request the current version of an object without a specific versionId in the request header, only the s3:GetObject permission is required. The s3:GetObjectVersion permission is not required in this scenario.

          If the object that you request doesn’t exist, the error that Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

          • If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 Not Found error.

          • If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 Access Denied error.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If the object is encrypted using SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

        Storage classes

        If the object you are retrieving is stored in the S3 Glacier Flexible Retrieval storage class, the S3 Glacier Deep Archive storage class, the S3 Intelligent-Tiering Archive Access tier, or the S3 Intelligent-Tiering Deep Archive Access tier, before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this operation returns an InvalidObjectState error. For information about restoring archived objects, see Restoring Archived Objects in the Amazon S3 User Guide.

        Directory buckets - For directory buckets, only the S3 Express One Zone storage class is supported to store newly created objects. Unsupported storage class values won't write a destination object and will respond with the HTTP status code 400 Bad Request.

        Encryption

        Encryption request headers, like x-amz-server-side-encryption, should not be sent for the GetObject requests, if your object uses server-side encryption with Amazon S3 managed encryption keys (SSE-S3), 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). If you include the header in your GetObject requests for the object that uses these types of keys, you’ll get an HTTP 400 Bad Request error.

        Directory buckets - 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 information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

        Overriding response header values through the request

        There are times when you want to override certain response header values of a GetObject response. For example, you might override the Content-Disposition response header value through your GetObject request.

        You can override values for a set of response headers. These modified response header values are included only in a successful response, that is, when the HTTP status code 200 OK is returned. The headers you can override using the following query parameters in the request are a subset of the headers that Amazon S3 accepts when you create an object.

        The response headers that you can override for the GetObject response are Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, and Expires.

        To override values for a set of response headers in the GetObject response, you can use the following query parameters in the request.

        • response-cache-control

        • response-content-disposition

        • response-content-encoding

        • response-content-language

        • response-content-type

        • response-expires

        When you use these parameters, you must sign the request by using either an Authorization header or a presigned URL. These parameters cannot be used with an unsigned (anonymous) request.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following operations are related to GetObject:

        ", "httpChecksum":{ "requestValidationModeMember":"ChecksumMode", "responseAlgorithms":[ @@ -682,7 +682,7 @@ "errors":[ {"shape":"NoSuchKey"} ], - "documentation":"

        Retrieves all the metadata from an object without returning the object itself. This operation is useful if you're interested only in an object's metadata.

        GetObjectAttributes combines the functionality of HeadObject and ListParts. All of the data returned with each of those individual calls can be returned with a single call to GetObjectAttributes.

        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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - To use GetObjectAttributes, you must have READ access to the object. The permissions that you need to use this operation depend on whether the bucket is versioned. If the bucket is versioned, you need both the s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions for this operation. If the bucket is not versioned, you need the s3:GetObject and s3:GetObjectAttributes permissions. For more information, see Specifying Permissions in a Policy in the Amazon S3 User Guide. If the object that you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

          • If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 Not Found (\"no such key\") error.

          • If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 Forbidden (\"access denied\") error.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

        Encryption

        Encryption request headers, like x-amz-server-side-encryption, should not be sent for HEAD requests if your object uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon S3 managed encryption keys (SSE-S3). The x-amz-server-side-encryption header is used when you PUT an object to S3 and want to specify the encryption method. If you include this header in a GET request for an object that uses these types of keys, you’ll get an HTTP 400 Bad Request error. It's because the encryption method can't be changed when you retrieve the object.

        If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers to provide the encryption key for the server to be able to retrieve the object's metadata. The headers are:

        • x-amz-server-side-encryption-customer-algorithm

        • x-amz-server-side-encryption-customer-key

        • x-amz-server-side-encryption-customer-key-MD5

        For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

        Directory bucket permissions - 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 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.

        Versioning

        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. You can only specify null to the versionId query parameter in the request.

        Conditional request headers

        Consider the following when using request headers:

        • If both of the If-Match and If-Unmodified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 200 OK and the data requested:

          • If-Match condition evaluates to true.

          • If-Unmodified-Since condition evaluates to false.

          For more information about conditional requests, see RFC 7232.

        • If both of the If-None-Match and If-Modified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 304 Not Modified:

          • If-None-Match condition evaluates to false.

          • If-Modified-Since condition evaluates to true.

          For more information about conditional requests, see RFC 7232.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following actions are related to GetObjectAttributes:

        " + "documentation":"

        Retrieves all the metadata from an object without returning the object itself. This operation is useful if you're interested only in an object's metadata.

        GetObjectAttributes combines the functionality of HeadObject and ListParts. All of the data returned with each of those individual calls can be returned with a single call to GetObjectAttributes.

        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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - To use GetObjectAttributes, you must have READ access to the object. The permissions that you need to use this operation depend on whether the bucket is versioned. If the bucket is versioned, you need both the s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions for this operation. If the bucket is not versioned, you need the s3:GetObject and s3:GetObjectAttributes permissions. For more information, see Specifying Permissions in a Policy in the Amazon S3 User Guide. If the object that you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

          • If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 Not Found (\"no such key\") error.

          • If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 Forbidden (\"access denied\") error.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

        Encryption

        Encryption request headers, like x-amz-server-side-encryption, should not be sent for HEAD requests if your object uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon S3 managed encryption keys (SSE-S3). The x-amz-server-side-encryption header is used when you PUT an object to S3 and want to specify the encryption method. If you include this header in a GET request for an object that uses these types of keys, you’ll get an HTTP 400 Bad Request error. It's because the encryption method can't be changed when you retrieve the object.

        If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers to provide the encryption key for the server to be able to retrieve the object's metadata. The headers are:

        • x-amz-server-side-encryption-customer-algorithm

        • x-amz-server-side-encryption-customer-key

        • x-amz-server-side-encryption-customer-key-MD5

        For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

        Directory bucket permissions - 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 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.

        Versioning

        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. You can only specify null to the versionId query parameter in the request.

        Conditional request headers

        Consider the following when using request headers:

        • If both of the If-Match and If-Unmodified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 200 OK and the data requested:

          • If-Match condition evaluates to true.

          • If-Unmodified-Since condition evaluates to false.

          For more information about conditional requests, see RFC 7232.

        • If both of the If-None-Match and If-Modified-Since headers are present in the request as follows, then Amazon S3 returns the HTTP status code 304 Not Modified:

          • If-None-Match condition evaluates to false.

          • If-Modified-Since condition evaluates to true.

          For more information about conditional requests, see RFC 7232.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following actions are related to GetObjectAttributes:

        " }, "GetObjectLegalHold":{ "name":"GetObjectLegalHold", @@ -760,7 +760,7 @@ {"shape":"NoSuchBucket"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketHEAD.html", - "documentation":"

        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.

        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

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.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-az_id.region.amazonaws.com. Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        " + "documentation":"

        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.

        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

        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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        " }, "HeadObject":{ "name":"HeadObject", @@ -774,7 +774,7 @@ {"shape":"NoSuchKey"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectHEAD.html", - "documentation":"

        The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're interested only in an object's metadata.

        A HEAD request has the same options as a GET operation on an object. The response is identical to the GET response except that there is no response body. Because of this, if the HEAD request generates an error, it returns a generic code, such as 400 Bad Request, 403 Forbidden, 404 Not Found, 405 Method Not Allowed, 412 Precondition Failed, or 304 Not Modified. It's not possible to retrieve the exact exception of these error codes.

        Request headers are limited to 8 KB in size. For more information, see Common Request Headers.

        Permissions

        • General purpose bucket permissions - To use HEAD, you must have the s3:GetObject permission. You need the relevant read object (or version) permission for this operation. For more information, see Actions, resources, and condition keys for Amazon S3 in the Amazon S3 User Guide. For more information about the permissions to S3 API operations by S3 resource types, see Required permissions for Amazon S3 API operations in the Amazon S3 User Guide.

          If the object you request doesn't exist, the error that Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

          • If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 Not Found error.

          • If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 Forbidden error.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If you enable x-amz-checksum-mode in the request and the object is encrypted with Amazon Web Services Key Management Service (Amazon Web Services KMS), you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key to retrieve the checksum of the object.

        Encryption

        Encryption request headers, like x-amz-server-side-encryption, should not be sent for HEAD requests if your object uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon S3 managed encryption keys (SSE-S3). The x-amz-server-side-encryption header is used when you PUT an object to S3 and want to specify the encryption method. If you include this header in a HEAD request for an object that uses these types of keys, you’ll get an HTTP 400 Bad Request error. It's because the encryption method can't be changed when you retrieve the object.

        If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers to provide the encryption key for the server to be able to retrieve the object's metadata. The headers are:

        • x-amz-server-side-encryption-customer-algorithm

        • x-amz-server-side-encryption-customer-key

        • x-amz-server-side-encryption-customer-key-MD5

        For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

        Directory bucket - 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 information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

        Versioning
        • If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response.

        • If the specified version is a delete marker, the response returns a 405 Method Not Allowed error and the Last-Modified: timestamp response header.

        • Directory buckets - Delete marker is not supported for directory buckets.

        • 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. You can only specify null to the versionId query parameter in the request.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        The following actions are related to HeadObject:

        " + "documentation":"

        The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're interested only in an object's metadata.

        A HEAD request has the same options as a GET operation on an object. The response is identical to the GET response except that there is no response body. Because of this, if the HEAD request generates an error, it returns a generic code, such as 400 Bad Request, 403 Forbidden, 404 Not Found, 405 Method Not Allowed, 412 Precondition Failed, or 304 Not Modified. It's not possible to retrieve the exact exception of these error codes.

        Request headers are limited to 8 KB in size. For more information, see Common Request Headers.

        Permissions

        • General purpose bucket permissions - To use HEAD, you must have the s3:GetObject permission. You need the relevant read object (or version) permission for this operation. For more information, see Actions, resources, and condition keys for Amazon S3 in the Amazon S3 User Guide. For more information about the permissions to S3 API operations by S3 resource types, see Required permissions for Amazon S3 API operations in the Amazon S3 User Guide.

          If the object you request doesn't exist, the error that Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

          • If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 Not Found error.

          • If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 Forbidden error.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If you enable x-amz-checksum-mode in the request and the object is encrypted with Amazon Web Services Key Management Service (Amazon Web Services KMS), you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key to retrieve the checksum of the object.

        Encryption

        Encryption request headers, like x-amz-server-side-encryption, should not be sent for HEAD requests if your object uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon S3 managed encryption keys (SSE-S3). The x-amz-server-side-encryption header is used when you PUT an object to S3 and want to specify the encryption method. If you include this header in a HEAD request for an object that uses these types of keys, you’ll get an HTTP 400 Bad Request error. It's because the encryption method can't be changed when you retrieve the object.

        If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers to provide the encryption key for the server to be able to retrieve the object's metadata. The headers are:

        • x-amz-server-side-encryption-customer-algorithm

        • x-amz-server-side-encryption-customer-key

        • x-amz-server-side-encryption-customer-key-MD5

        For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

        Directory bucket - 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 information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

        Versioning
        • If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response.

        • If the specified version is a delete marker, the response returns a 405 Method Not Allowed error and the Last-Modified: timestamp response header.

        • Directory buckets - Delete marker is not supported for directory buckets.

        • 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. You can only specify null to the versionId query parameter in the request.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        The following actions are related to HeadObject:

        " }, "ListBucketAnalyticsConfigurations":{ "name":"ListBucketAnalyticsConfigurations", @@ -845,7 +845,7 @@ }, "input":{"shape":"ListDirectoryBucketsRequest"}, "output":{"shape":"ListDirectoryBucketsOutput"}, - "documentation":"

        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 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, see Regional and Zonal endpoints 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 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.

        ", + "documentation":"

        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 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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets 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 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.

        ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -859,7 +859,7 @@ "input":{"shape":"ListMultipartUploadsRequest"}, "output":{"shape":"ListMultipartUploadsOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListMPUpload.html", - "documentation":"

        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 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints 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 in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        Sorting of multipart uploads in response
        • General purpose bucket - In the ListMultipartUploads response, the multipart uploads are sorted based on two criteria:

          • Key-based sorting - Multipart uploads are initially sorted in ascending order based on their object keys.

          • Time-based sorting - For uploads that share the same object key, they are further sorted in ascending order based on the upload initiation time. Among uploads with the same key, the one that was initiated first will appear before the ones that were initiated later.

        • Directory bucket - In the ListMultipartUploads response, the multipart uploads aren't sorted lexicographically based on the object keys.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following operations are related to ListMultipartUploads:

        " + "documentation":"

        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 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets 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 in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        Sorting of multipart uploads in response
        • General purpose bucket - In the ListMultipartUploads response, the multipart uploads are sorted based on two criteria:

          • Key-based sorting - Multipart uploads are initially sorted in ascending order based on their object keys.

          • Time-based sorting - For uploads that share the same object key, they are further sorted in ascending order based on the upload initiation time. Among uploads with the same key, the one that was initiated first will appear before the ones that were initiated later.

        • Directory bucket - In the ListMultipartUploads response, the multipart uploads aren't sorted lexicographically based on the object keys.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following operations are related to ListMultipartUploads:

        " }, "ListObjectVersions":{ "name":"ListObjectVersions", @@ -899,7 +899,7 @@ "errors":[ {"shape":"NoSuchBucket"} ], - "documentation":"

        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 in the Amazon S3 User Guide. To get a list of your buckets, see ListBuckets.

        • General purpose bucket - For general purpose buckets, ListObjectsV2 doesn't return prefixes that are related only to in-progress multipart uploads.

        • Directory buckets - For directory buckets, ListObjectsV2 response includes the prefixes that are related only to in-progress multipart uploads.

        • 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - To use this operation, you must have READ access to the bucket. You must have permission to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        Sorting order of returned objects
        • General purpose bucket - For general purpose buckets, ListObjectsV2 returns objects in lexicographical order based on their key names.

        • Directory bucket - For directory buckets, ListObjectsV2 does not return objects in lexicographical order.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        This section describes the latest revision of this action. We recommend that you use this revised API operation for application development. For backward compatibility, Amazon S3 continues to support the prior version of this API operation, ListObjects.

        The following operations are related to ListObjectsV2:

        " + "documentation":"

        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 in the Amazon S3 User Guide. To get a list of your buckets, see ListBuckets.

        • General purpose bucket - For general purpose buckets, ListObjectsV2 doesn't return prefixes that are related only to in-progress multipart uploads.

        • Directory buckets - For directory buckets, ListObjectsV2 response includes the prefixes that are related only to in-progress multipart uploads.

        • 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - To use this operation, you must have READ access to the bucket. You must have permission to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        Sorting order of returned objects
        • General purpose bucket - For general purpose buckets, ListObjectsV2 returns objects in lexicographical order based on their key names.

        • Directory bucket - For directory buckets, ListObjectsV2 does not return objects in lexicographical order.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        This section describes the latest revision of this action. We recommend that you use this revised API operation for application development. For backward compatibility, Amazon S3 continues to support the prior version of this API operation, ListObjects.

        The following operations are related to ListObjectsV2:

        " }, "ListParts":{ "name":"ListParts", @@ -910,7 +910,7 @@ "input":{"shape":"ListPartsRequest"}, "output":{"shape":"ListPartsOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListParts.html", - "documentation":"

        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.

        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 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints 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 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.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following operations are related to ListParts:

        " + "documentation":"

        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.

        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 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets 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 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.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following operations are related to ListParts:

        " }, "PutBucketAccelerateConfiguration":{ "name":"PutBucketAccelerateConfiguration", @@ -981,7 +981,7 @@ "requestUri":"/{Bucket}?encryption" }, "input":{"shape":"PutBucketEncryptionRequest"}, - "documentation":"

        This operation configures default encryption and Amazon S3 Bucket Keys for an existing bucket.

        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, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3).

        • General purpose buckets

          • You can optionally configure default encryption for a bucket by 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). If you specify default encryption by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For information about the bucket default encryption feature, see Amazon S3 Bucket Default Encryption in the Amazon S3 User Guide.

          • If you use PutBucketEncryption to set your default bucket encryption to SSE-KMS, you should verify that your KMS key ID is correct. Amazon S3 doesn't validate the KMS key ID provided in PutBucketEncryption requests.

        • Directory buckets - You can optionally configure default encryption for a bucket by using server-side encryption with Key Management Service (KMS) keys (SSE-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 about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

          • Your SSE-KMS configuration can only support 1 customer managed key per directory bucket for the lifetime of the bucket. The Amazon Web Services managed key (aws/s3) isn't supported.

          • 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 to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through CopyObject, UploadPartCopy, the Copy operation in Batch Operations, or 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.

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

          • For directory buckets, if you use PutBucketEncryption to set your default bucket encryption to SSE-KMS, Amazon S3 validates the KMS key ID provided in PutBucketEncryption requests.

        If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.

        Also, this action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4).

        Permissions
        • General purpose bucket permissions - The s3:PutEncryptionConfiguration permission is required in a policy. 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 Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:PutEncryptionConfiguration 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 in the Amazon S3 User Guide.

          To set a directory bucket default encryption 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.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        The following operations are related to PutBucketEncryption:

        ", + "documentation":"

        This operation configures default encryption and Amazon S3 Bucket Keys for an existing bucket.

        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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3).

        • General purpose buckets

          • You can optionally configure default encryption for a bucket by 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). If you specify default encryption by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For information about the bucket default encryption feature, see Amazon S3 Bucket Default Encryption in the Amazon S3 User Guide.

          • If you use PutBucketEncryption to set your default bucket encryption to SSE-KMS, you should verify that your KMS key ID is correct. Amazon S3 doesn't validate the KMS key ID provided in PutBucketEncryption requests.

        • Directory buckets - You can optionally configure default encryption for a bucket by using server-side encryption with Key Management Service (KMS) keys (SSE-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 about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

          • Your SSE-KMS configuration can only support 1 customer managed key per directory bucket for the lifetime of the bucket. The Amazon Web Services managed key (aws/s3) isn't supported.

          • 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 to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through CopyObject, UploadPartCopy, the Copy operation in Batch Operations, or 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.

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

          • For directory buckets, if you use PutBucketEncryption to set your default bucket encryption to SSE-KMS, Amazon S3 validates the KMS key ID provided in PutBucketEncryption requests.

        If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.

        Also, this action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4).

        Permissions
        • General purpose bucket permissions - The s3:PutEncryptionConfiguration permission is required in a policy. 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 Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:PutEncryptionConfiguration 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 in the Amazon S3 User Guide.

          To set a directory bucket default encryption 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.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

        The following operations are related to PutBucketEncryption:

        ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1040,7 +1040,7 @@ }, "input":{"shape":"PutBucketLifecycleConfigurationRequest"}, "output":{"shape":"PutBucketLifecycleConfigurationOutput"}, - "documentation":"

        Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. Keep in mind that this will overwrite an existing lifecycle configuration, so if you want to retain any configuration details, they must be included in the new lifecycle configuration. For information about lifecycle configuration, see Managing your storage lifecycle.

        Rules
        Permissions
        HTTP Host header syntax

        You specify the lifecycle configuration in your request body. The lifecycle configuration is specified as XML consisting of one or more rules. An Amazon S3 Lifecycle configuration can have up to 1,000 rules. This limit is not adjustable.

        Bucket lifecycle configuration supports specifying a lifecycle rule using an object key name prefix, one or more object tags, object size, or any combination of these. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility for general purpose buckets. For the related API description, see PutBucketLifecycle.

        Lifecyle configurations for directory buckets only support expiring objects and cancelling multipart uploads. Expiring of versioned objects,transitions and tag filters are not supported.

        A lifecycle rule consists of the following:

        • A filter identifying a subset of objects to which the rule applies. The filter can be based on a key name prefix, object tags, object size, or any combination of these.

        • A status indicating whether the rule is in effect.

        • One or more lifecycle transition and expiration actions that you want Amazon S3 to perform on the objects identified by the filter. If the state of your bucket is versioning-enabled or versioning-suspended, you can have many versions of the same object (one current version and zero or more noncurrent versions). Amazon S3 provides predefined actions that you can specify for current and noncurrent object versions.

        For more information, see Object Lifecycle Management and Lifecycle Configuration Elements.

        • General purpose bucket permissions - By default, all Amazon S3 resources are private, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration). Only the resource owner (that is, the Amazon Web Services account that created it) can access the resource. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, a user must have the s3:PutLifecycleConfiguration permission.

          You can also explicitly deny permissions. An explicit deny also supersedes any other permissions. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them permissions for the following actions:

        • Directory bucket permissions - You must have the s3express:PutLifecycleConfiguration permission in an IAM identity-based policy to use this operation. Cross-account access to this API operation isn't supported. The resource owner can optionally grant access permissions to others by creating a role or user for them as long as they are within the same account as the owner and resource.

          For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM 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, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        The following operations are related to PutBucketLifecycleConfiguration:

        ", + "documentation":"

        Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. Keep in mind that this will overwrite an existing lifecycle configuration, so if you want to retain any configuration details, they must be included in the new lifecycle configuration. For information about lifecycle configuration, see Managing your storage lifecycle.

        Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, object size, or any combination of these. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility. For the related API description, see PutBucketLifecycle.

        Rules
        Permissions
        HTTP Host header syntax

        You specify the lifecycle configuration in your request body. The lifecycle configuration is specified as XML consisting of one or more rules. An Amazon S3 Lifecycle configuration can have up to 1,000 rules. This limit is not adjustable.

        Bucket lifecycle configuration supports specifying a lifecycle rule using an object key name prefix, one or more object tags, object size, or any combination of these. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility for general purpose buckets. For the related API description, see PutBucketLifecycle.

        Lifecyle configurations for directory buckets only support expiring objects and cancelling multipart uploads. Expiring of versioned objects,transitions and tag filters are not supported.

        A lifecycle rule consists of the following:

        • A filter identifying a subset of objects to which the rule applies. The filter can be based on a key name prefix, object tags, object size, or any combination of these.

        • A status indicating whether the rule is in effect.

        • One or more lifecycle transition and expiration actions that you want Amazon S3 to perform on the objects identified by the filter. If the state of your bucket is versioning-enabled or versioning-suspended, you can have many versions of the same object (one current version and zero or more noncurrent versions). Amazon S3 provides predefined actions that you can specify for current and noncurrent object versions.

        For more information, see Object Lifecycle Management and Lifecycle Configuration Elements.

        • General purpose bucket permissions - By default, all Amazon S3 resources are private, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration). Only the resource owner (that is, the Amazon Web Services account that created it) can access the resource. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, a user must have the s3:PutLifecycleConfiguration permission.

          You can also explicitly deny permissions. An explicit deny also supersedes any other permissions. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them permissions for the following actions:

        • Directory bucket permissions - You must have the s3express:PutLifecycleConfiguration permission in an IAM identity-based policy to use this operation. Cross-account access to this API operation isn't supported. The resource owner can optionally grant access permissions to others by creating a role or user for them as long as they are within the same account as the owner and resource.

          For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM 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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        The following operations are related to PutBucketLifecycleConfiguration:

        ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1129,7 +1129,7 @@ }, "input":{"shape":"PutBucketPolicyRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTpolicy.html", - "documentation":"

        Applies an Amazon S3 bucket policy to an Amazon S3 bucket.

        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, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Permissions

        If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must both have the PutBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

        If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

        To ensure that bucket owners don't inadvertently lock themselves out of their own buckets, the root principal in a bucket owner's Amazon Web Services account can perform the GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the root principal's access. Bucket owner root principals can only be blocked from performing these API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

        • General purpose bucket permissions - The s3:PutBucketPolicy permission is required in a policy. For more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:PutBucketPolicy 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 in the Amazon S3 User Guide.

        Example bucket policies

        General purpose buckets example bucket policies - See Bucket policy examples in the Amazon S3 User Guide.

        Directory bucket example bucket policies - See Example bucket policies for S3 Express One Zone in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

        The following operations are related to PutBucketPolicy:

        ", + "documentation":"

        Applies an Amazon S3 bucket policy to an Amazon S3 bucket.

        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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Permissions

        If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must both have the PutBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

        If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

        To ensure that bucket owners don't inadvertently lock themselves out of their own buckets, the root principal in a bucket owner's Amazon Web Services account can perform the GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the root principal's access. Bucket owner root principals can only be blocked from performing these API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

        • General purpose bucket permissions - The s3:PutBucketPolicy permission is required in a policy. For more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation, you must have the s3express:PutBucketPolicy 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 in the Amazon S3 User Guide.

        Example bucket policies

        General purpose buckets example bucket policies - See Bucket policy examples in the Amazon S3 User Guide.

        Directory bucket example bucket policies - See Example bucket policies for S3 Express One Zone in the Amazon S3 User Guide.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

        The following operations are related to PutBucketPolicy:

        ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1237,7 +1237,7 @@ {"shape":"EncryptionTypeMismatch"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUT.html", - "documentation":"

        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.

        • If your bucket uses the bucket owner enforced setting for Object Ownership, ACLs are disabled and no longer affect permissions. All objects written to the bucket by any account will be owned by the bucket owner.

        • 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. However, Amazon S3 provides features that can modify this behavior:

        • S3 Object Lock - To prevent objects from being deleted or overwritten, you can use Amazon S3 Object Lock in the Amazon S3 User Guide.

          This functionality is not supported for directory buckets.

        • S3 Versioning - When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all versions of the objects. For each write request that is made to the same object, Amazon S3 automatically generates a unique version ID of that object being stored in Amazon S3. You can retrieve, replace, or delete any version of the object. For more information about versioning, see Adding Objects to Versioning-Enabled Buckets in the Amazon S3 User Guide. For information about returning the versioning state of a bucket, see GetBucketVersioning.

          This functionality is not supported for directory buckets.

        Permissions
        • General purpose bucket permissions - The following permissions are required in your policies when your PutObject request includes specific headers.

          • s3:PutObject - To successfully complete the PutObject request, you must always have the s3:PutObject permission on a bucket to add an object to it.

          • s3:PutObjectAcl - To successfully change the objects ACL of your PutObject request, you must have the s3:PutObjectAcl.

          • s3:PutObjectTagging - To successfully set the tag-set with your PutObject request, you must have the s3:PutObjectTagging.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

        Data integrity with Content-MD5
        • General purpose bucket - To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, Amazon S3 returns an error. Alternatively, when the object's ETag is its MD5 digest, you can calculate the MD5 while putting the object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

        • Directory bucket - This functionality is not supported for directory buckets.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        For more information about related Amazon S3 APIs, see the following:

        ", + "documentation":"

        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.

        • If your bucket uses the bucket owner enforced setting for Object Ownership, ACLs are disabled and no longer affect permissions. All objects written to the bucket by any account will be owned by the bucket owner.

        • 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. However, Amazon S3 provides features that can modify this behavior:

        • S3 Object Lock - To prevent objects from being deleted or overwritten, you can use Amazon S3 Object Lock in the Amazon S3 User Guide.

          This functionality is not supported for directory buckets.

        • S3 Versioning - When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all versions of the objects. For each write request that is made to the same object, Amazon S3 automatically generates a unique version ID of that object being stored in Amazon S3. You can retrieve, replace, or delete any version of the object. For more information about versioning, see Adding Objects to Versioning-Enabled Buckets in the Amazon S3 User Guide. For information about returning the versioning state of a bucket, see GetBucketVersioning.

          This functionality is not supported for directory buckets.

        Permissions
        • General purpose bucket permissions - The following permissions are required in your policies when your PutObject request includes specific headers.

          • s3:PutObject - To successfully complete the PutObject request, you must always have the s3:PutObject permission on a bucket to add an object to it.

          • s3:PutObjectAcl - To successfully change the objects ACL of your PutObject request, you must have the s3:PutObjectAcl.

          • s3:PutObjectTagging - To successfully set the tag-set with your PutObject request, you must have the s3:PutObjectTagging.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

        Data integrity with Content-MD5
        • General purpose bucket - To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, Amazon S3 returns an error. Alternatively, when the object's ETag is its MD5 digest, you can calculate the MD5 while putting the object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

        • Directory bucket - This functionality is not supported for directory buckets.

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        For more information about related Amazon S3 APIs, see the following:

        ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":false @@ -1375,7 +1375,7 @@ "input":{"shape":"UploadPartRequest"}, "output":{"shape":"UploadPartOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPart.html", - "documentation":"

        Uploads a part in a multipart upload.

        In this operation, you provide new data as a part of an object in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation.

        You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier that you must include in your upload part request.

        Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten.

        For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

        After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

        For more information on multipart uploads, go to Multipart Upload Overview 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - To perform a multipart upload with encryption using an Key Management Service key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey actions on the key. The requester must also have permissions for the kms:GenerateDataKey action for the CreateMultipartUpload API. Then, the requester needs permissions for the kms:Decrypt action on the UploadPart and UploadPartCopy APIs.

          These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information about KMS permissions, see Protecting data using server-side encryption with KMS in the Amazon S3 User Guide. For information about the permissions required to use the multipart upload API, see Multipart upload and permissions and Multipart upload API and permissions in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

        Data integrity

        General purpose bucket - To ensure that data is not corrupted traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error. If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the x-amz-content-sha256 header as a checksum instead of Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version 4).

        Directory buckets - MD5 is not supported by directory buckets. You can use checksum algorithms to check object integrity.

        Encryption
        • General purpose bucket - Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You have mutually exclusive options to protect data using server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with server-side encryption using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption key (SSE-C).

          Server-side encryption is supported by the S3 Multipart Upload operations. Unless you are using a customer-provided encryption key (SSE-C), you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload.

          If you request server-side encryption using a customer-provided encryption key (SSE-C) in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following request headers.

          • x-amz-server-side-encryption-customer-algorithm

          • x-amz-server-side-encryption-customer-key

          • x-amz-server-side-encryption-customer-key-MD5

          For more information, see Using Server-Side Encryption in the Amazon S3 User Guide.

        • Directory buckets - 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).

        Special errors
        • Error Code: NoSuchUpload

          • Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.

          • HTTP Status Code: 404 Not Found

          • SOAP Fault Code Prefix: Client

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following operations are related to UploadPart:

        ", + "documentation":"

        Uploads a part in a multipart upload.

        In this operation, you provide new data as a part of an object in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation.

        You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier that you must include in your upload part request.

        Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten.

        For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

        After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

        For more information on multipart uploads, go to Multipart Upload Overview 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Permissions
        • General purpose bucket permissions - To perform a multipart upload with encryption using an Key Management Service key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey actions on the key. The requester must also have permissions for the kms:GenerateDataKey action for the CreateMultipartUpload API. Then, the requester needs permissions for the kms:Decrypt action on the UploadPart and UploadPartCopy APIs.

          These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information about KMS permissions, see Protecting data using server-side encryption with KMS in the Amazon S3 User Guide. For information about the permissions required to use the multipart upload API, see Multipart upload and permissions and Multipart upload API and permissions in the Amazon S3 User Guide.

        • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession 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. Amazon 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 CreateSession .

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

        Data integrity

        General purpose bucket - To ensure that data is not corrupted traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error. If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the x-amz-content-sha256 header as a checksum instead of Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version 4).

        Directory buckets - MD5 is not supported by directory buckets. You can use checksum algorithms to check object integrity.

        Encryption
        • General purpose bucket - Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You have mutually exclusive options to protect data using server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with server-side encryption using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption key (SSE-C).

          Server-side encryption is supported by the S3 Multipart Upload operations. Unless you are using a customer-provided encryption key (SSE-C), you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload.

          If you request server-side encryption using a customer-provided encryption key (SSE-C) in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following request headers.

          • x-amz-server-side-encryption-customer-algorithm

          • x-amz-server-side-encryption-customer-key

          • x-amz-server-side-encryption-customer-key-MD5

          For more information, see Using Server-Side Encryption in the Amazon S3 User Guide.

        • Directory buckets - 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).

        Special errors
        • Error Code: NoSuchUpload

          • Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.

          • HTTP Status Code: 404 Not Found

          • SOAP Fault Code Prefix: Client

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following operations are related to UploadPart:

        ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":false @@ -1390,7 +1390,7 @@ "input":{"shape":"UploadPartCopyRequest"}, "output":{"shape":"UploadPartCopyOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html", - "documentation":"

        Uploads a part by copying data from an existing object as data source. To specify the data source, you add the request header x-amz-copy-source in your request. To specify a byte range, you add the request header x-amz-copy-source-range in your request.

        For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

        Instead of copying data from an existing object as part data, you might use the UploadPart action to upload new data as a part of an object in your request.

        You must initiate a multipart upload before you can upload any part. In response to your initiate request, Amazon S3 returns the upload ID, a unique identifier that you must include in your upload part request.

        For conceptual information about multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon S3 User Guide. For information about copying objects using a single atomic action vs. a multipart upload, see Operations on Objects 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://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the Amazon S3 User Guide.

        Authentication and authorization

        All UploadPartCopy 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.

        Directory buckets - You must use IAM credentials to authenticate and authorize your access to the UploadPartCopy 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 must have READ access to the source object and WRITE access to the destination bucket.

        • General purpose bucket permissions - You must have the permissions in a policy based on the bucket types of your source bucket and destination bucket in an UploadPartCopy operation.

          • If the source object is in a general purpose bucket, you must have the s3:GetObject permission to read the source object that is being copied.

          • If the destination bucket is a general purpose bucket, you must have the s3:PutObject permission to write the object copy to the destination bucket.

          • To perform a multipart upload with encryption using an Key Management Service key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey actions on the key. The requester must also have permissions for the kms:GenerateDataKey action for the CreateMultipartUpload API. Then, the requester needs permissions for the kms:Decrypt action on the UploadPart and UploadPartCopy APIs. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information about KMS permissions, see Protecting data using server-side encryption with KMS in the Amazon S3 User Guide. For information about the permissions required to use the multipart upload API, see Multipart upload and permissions and Multipart upload API and permissions in the Amazon S3 User Guide.

        • Directory bucket permissions - You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types in an UploadPartCopy operation.

          • If the source object that you want to copy is in a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to read the object. 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 copy source bucket.

          • If the copy destination is a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to write the object to the destination. The s3express:SessionMode condition key cannot be set to ReadOnly on the copy destination.

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

          For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the Amazon S3 User Guide.

        Encryption
        • General purpose buckets - For information about using server-side encryption with customer-provided encryption keys with the UploadPartCopy operation, see CopyObject and UploadPart.

        • Directory buckets - 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 information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

          For directory buckets, when you perform a CreateMultipartUpload operation and an UploadPartCopy operation, the request headers you provide in the CreateMultipartUpload request must match the default encryption configuration of the destination bucket.

          S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to 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.

        Special errors
        • Error Code: NoSuchUpload

          • Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.

          • HTTP Status Code: 404 Not Found

        • Error Code: InvalidRequest

          • Description: The specified copy source is not supported as a byte-range copy source.

          • HTTP Status Code: 400 Bad Request

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com.

        The following operations are related to UploadPartCopy:

        ", + "documentation":"

        Uploads a part by copying data from an existing object as data source. To specify the data source, you add the request header x-amz-copy-source in your request. To specify a byte range, you add the request header x-amz-copy-source-range in your request.

        For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

        Instead of copying data from an existing object as part data, you might use the UploadPart action to upload new data as a part of an object in your request.

        You must initiate a multipart upload before you can upload any part. In response to your initiate request, Amazon S3 returns the upload ID, a unique identifier that you must include in your upload part request.

        For conceptual information about multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon S3 User Guide. For information about copying objects using a single atomic action vs. a multipart upload, see Operations on Objects 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://bucket-name.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 in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.

        Authentication and authorization

        All UploadPartCopy 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.

        Directory buckets - You must use IAM credentials to authenticate and authorize your access to the UploadPartCopy 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 must have READ access to the source object and WRITE access to the destination bucket.

        • General purpose bucket permissions - You must have the permissions in a policy based on the bucket types of your source bucket and destination bucket in an UploadPartCopy operation.

          • If the source object is in a general purpose bucket, you must have the s3:GetObject permission to read the source object that is being copied.

          • If the destination bucket is a general purpose bucket, you must have the s3:PutObject permission to write the object copy to the destination bucket.

          • To perform a multipart upload with encryption using an Key Management Service key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey actions on the key. The requester must also have permissions for the kms:GenerateDataKey action for the CreateMultipartUpload API. Then, the requester needs permissions for the kms:Decrypt action on the UploadPart and UploadPartCopy APIs. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information about KMS permissions, see Protecting data using server-side encryption with KMS in the Amazon S3 User Guide. For information about the permissions required to use the multipart upload API, see Multipart upload and permissions and Multipart upload API and permissions in the Amazon S3 User Guide.

        • Directory bucket permissions - You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types in an UploadPartCopy operation.

          • If the source object that you want to copy is in a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to read the object. 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 copy source bucket.

          • If the copy destination is a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to write the object to the destination. The s3express:SessionMode condition key cannot be set to ReadOnly on the copy destination.

          If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

          For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the Amazon S3 User Guide.

        Encryption
        • General purpose buckets - For information about using server-side encryption with customer-provided encryption keys with the UploadPartCopy operation, see CopyObject and UploadPart.

        • Directory buckets - 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 information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

          For directory buckets, when you perform a CreateMultipartUpload operation and an UploadPartCopy operation, the request headers you provide in the CreateMultipartUpload request must match the default encryption configuration of the destination bucket.

          S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to 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.

        Special errors
        • Error Code: NoSuchUpload

          • Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.

          • HTTP Status Code: 404 Not Found

        • Error Code: InvalidRequest

          • Description: The specified copy source is not supported as a byte-range copy source.

          • HTTP Status Code: 400 Bad Request

        HTTP Host header syntax

        Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

        The following operations are related to UploadPartCopy:

        ", "staticContextParams":{ "DisableS3ExpressSessionAuth":{"value":true} } @@ -1445,7 +1445,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The bucket name to which the upload was taking place.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The bucket name to which the upload was taking place.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -1715,7 +1715,7 @@ "members":{ "DataRedundancy":{ "shape":"DataRedundancy", - "documentation":"

        The number of Availability Zone that's used for redundancy for the bucket.

        " + "documentation":"

        The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket.

        " }, "Type":{ "shape":"BucketType", @@ -2110,7 +2110,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        Name of the bucket to which the multipart upload was initiated.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        Name of the bucket to which the multipart upload was initiated.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -2297,7 +2297,7 @@ }, "Expiration":{ "shape":"Expiration", - "documentation":"

        If the object expiration is configured, the response includes this header.

        This functionality is not supported for directory buckets.

        ", + "documentation":"

        If the object expiration is configured, the response includes this header.

        Object expiration information is not returned in directory buckets and this header returns the value \"NotImplemented\" in all responses for directory buckets.

        ", "location":"header", "locationName":"x-amz-expiration" }, @@ -2373,7 +2373,7 @@ }, "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the destination bucket.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The name of the destination bucket.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Copying objects across different Amazon Web Services Regions isn't supported when the source or destination bucket is in Amazon Web Services Local Zones. The source and destination buckets must have the same parent Amazon Web Services Region. Otherwise, you get an HTTP 400 Bad Request error with the error code InvalidRequest.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -2700,7 +2700,7 @@ }, "Location":{ "shape":"LocationInfo", - "documentation":"

        Specifies the location where the bucket will be created.

        For directory buckets, the location type is Availability Zone.

        This functionality is only supported by directory buckets.

        " + "documentation":"

        Specifies the location where the bucket will be created.

        Directory buckets - The location type is Availability Zone or Local Zone. When the location type is Local Zone, your Local Zone must be in opt-in status. Otherwise, you get an HTTP 400 Bad Request error with the error code Access denied. To learn more about opt-in Local Zones, see Opt-in Dedicated Local Zonesin the Amazon S3 User Guide.

        This functionality is only supported by directory buckets.

        " }, "Bucket":{ "shape":"BucketInfo", @@ -2732,7 +2732,7 @@ }, "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the bucket to create.

        General purpose buckets - For information about bucket naming restrictions, see Bucket naming rules in the Amazon S3 User Guide.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", + "documentation":"

        The name of the bucket to create.

        General purpose buckets - For information about bucket naming restrictions, see Bucket naming rules in the Amazon S3 User Guide.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -2879,7 +2879,7 @@ }, "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the bucket where the multipart upload is initiated and where the object is uploaded.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The name of the bucket where the multipart upload is initiated and where the object is uploaded.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -3135,7 +3135,10 @@ "CreationDate":{"type":"timestamp"}, "DataRedundancy":{ "type":"string", - "enum":["SingleAvailabilityZone"] + "enum":[ + "SingleAvailabilityZone", + "SingleLocalZone" + ] }, "Date":{ "type":"timestamp", @@ -3236,7 +3239,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the bucket containing the server-side encryption configuration to delete.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", + "documentation":"

        The name of the bucket containing the server-side encryption configuration to delete.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -3371,7 +3374,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The bucket name.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", + "documentation":"

        The bucket name.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -3409,7 +3412,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        Specifies the bucket being deleted.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", + "documentation":"

        Specifies the bucket being deleted.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -3541,7 +3544,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The bucket name of the bucket containing the object.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The bucket name of the bucket containing the object.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -3675,7 +3678,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The bucket name containing the objects to delete.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The bucket name containing the objects to delete.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -4184,7 +4187,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the bucket from which the server-side encryption configuration is retrieved.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", + "documentation":"

        The name of the bucket from which the server-side encryption configuration is retrieved.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -4486,7 +4489,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The bucket name to get the bucket policy for.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        Access points - When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

        Object Lambda access points - 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.

        Access points and Object Lambda access points are not supported by directory buckets.

        ", + "documentation":"

        The bucket name to get the bucket policy for.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        Access points - When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

        Object Lambda access points - 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.

        Access points and Object Lambda access points are not supported by directory buckets.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -4833,7 +4836,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the bucket that contains the object.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The name of the bucket that contains the object.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -5000,7 +5003,7 @@ }, "Expiration":{ "shape":"Expiration", - "documentation":"

        If the object expiration is configured (see PutBucketLifecycleConfiguration ), the response includes this header. It includes the expiry-date and rule-id key-value pairs providing object expiration information. The value of the rule-id is URL-encoded.

        This functionality is not supported for directory buckets.

        ", + "documentation":"

        If the object expiration is configured (see PutBucketLifecycleConfiguration ), the response includes this header. It includes the expiry-date and rule-id key-value pairs providing object expiration information. The value of the rule-id is URL-encoded.

        Object expiration information is not returned in directory buckets and this header returns the value \"NotImplemented\" in all responses for directory buckets.

        ", "location":"header", "locationName":"x-amz-expiration" }, @@ -5207,7 +5210,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The bucket name containing the object.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Object Lambda access points - When you use this action with an Object Lambda access point, you must direct requests to the Object Lambda access point hostname. The Object Lambda access point hostname takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The bucket name containing the object.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Object Lambda access points - When you use this action with an Object Lambda access point, you must direct requests to the Object Lambda access point hostname. The Object Lambda access point hostname takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -5602,7 +5605,7 @@ }, "BucketLocationName":{ "shape":"BucketLocationName", - "documentation":"

        The name of the location where the bucket will be created.

        For directory buckets, the AZ ID of the Availability Zone where the bucket is created. An example AZ ID value is usw2-az1.

        This functionality is only supported by directory buckets.

        ", + "documentation":"

        The name of the location where the bucket will be created.

        For directory buckets, the Zone ID of the Availability Zone or the Local Zone where the bucket is created. An example Zone ID value for an Availability Zone is usw2-az1.

        This functionality is only supported by directory buckets.

        ", "location":"header", "locationName":"x-amz-bucket-location-name" }, @@ -5626,7 +5629,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The bucket name.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Object Lambda access points - 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.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The bucket name.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Object Lambda access points - 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.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -5656,7 +5659,7 @@ }, "Expiration":{ "shape":"Expiration", - "documentation":"

        If the object expiration is configured (see PutBucketLifecycleConfiguration ), the response includes this header. It includes the expiry-date and rule-id key-value pairs providing object expiration information. The value of the rule-id is URL-encoded.

        This functionality is not supported for directory buckets.

        ", + "documentation":"

        If the object expiration is configured (see PutBucketLifecycleConfiguration ), the response includes this header. It includes the expiry-date and rule-id key-value pairs providing object expiration information. The value of the rule-id is URL-encoded.

        Object expiration information is not returned in directory buckets and this header returns the value \"NotImplemented\" in all responses for directory buckets.

        ", "location":"header", "locationName":"x-amz-expiration" }, @@ -5856,7 +5859,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the bucket that contains the object.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The name of the bucket that contains the object.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -6868,7 +6871,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the bucket to which the multipart upload was initiated.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The name of the bucket to which the multipart upload was initiated.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -7108,7 +7111,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the bucket containing the objects.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The name of the bucket containing the objects.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -7227,7 +7230,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -7376,7 +7379,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the bucket to which the parts are being uploaded.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The name of the bucket to which the parts are being uploaded.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -7447,16 +7450,19 @@ }, "Name":{ "shape":"LocationNameAsString", - "documentation":"

        The name of the location where the bucket will be created.

        For directory buckets, the name of the location is the AZ ID of the Availability Zone where the bucket will be created. An example AZ ID value is usw2-az1.

        " + "documentation":"

        The name of the location where the bucket will be created.

        For directory buckets, the name of the location is the Zone ID of the Availability Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID value is usw2-az1.

        " } }, - "documentation":"

        Specifies the location where the bucket will be created.

        For directory buckets, the location type is Availability Zone. For more information about directory buckets, see Directory buckets in the Amazon S3 User Guide.

        This functionality is only supported by directory buckets.

        " + "documentation":"

        Specifies the location where the bucket will be created.

        For directory buckets, the location type is Availability Zone or Local Zone. For more information about directory buckets, see Directory buckets in the Amazon S3 User Guide.

        This functionality is only supported by directory buckets.

        " }, "LocationNameAsString":{"type":"string"}, "LocationPrefix":{"type":"string"}, "LocationType":{ "type":"string", - "enum":["AvailabilityZone"] + "enum":[ + "AvailabilityZone", + "LocalZone" + ] }, "LoggingEnabled":{ "type":"structure", @@ -8575,7 +8581,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        Specifies default encryption for a bucket using server-side encryption with different key options.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", + "documentation":"

        Specifies default encryption for a bucket using server-side encryption with different key options.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -8955,7 +8961,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the bucket.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", + "documentation":"

        The name of the bucket.

        Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -9444,7 +9450,7 @@ "members":{ "Expiration":{ "shape":"Expiration", - "documentation":"

        If the expiration is configured for the object (see PutBucketLifecycleConfiguration) in the Amazon S3 User Guide, the response includes this header. It includes the expiry-date and rule-id key-value pairs that provide information about object expiration. The value of the rule-id is URL-encoded.

        This functionality is not supported for directory buckets.

        ", + "documentation":"

        If the expiration is configured for the object (see PutBucketLifecycleConfiguration) in the Amazon S3 User Guide, the response includes this header. It includes the expiry-date and rule-id key-value pairs that provide information about object expiration. The value of the rule-id is URL-encoded.

        Object expiration information is not returned in directory buckets and this header returns the value \"NotImplemented\" in all responses for directory buckets.

        ", "location":"header", "locationName":"x-amz-expiration" }, @@ -9553,7 +9559,7 @@ }, "Bucket":{ "shape":"BucketName", - "documentation":"

        The bucket name to which the PUT action was initiated.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The bucket name to which the PUT action was initiated.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -10386,7 +10392,7 @@ }, "Type":{ "shape":"RestoreRequestType", - "documentation":"

        Type of restore request.

        " + "documentation":"

        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

        Type of restore request.

        " }, "Tier":{ "shape":"Tier", @@ -10398,7 +10404,7 @@ }, "SelectParameters":{ "shape":"SelectParameters", - "documentation":"

        Describes the parameters for Select job types.

        " + "documentation":"

        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

        Describes the parameters for Select job types.

        " }, "OutputLocation":{ "shape":"OutputLocation", @@ -10692,7 +10698,7 @@ "locationName":"x-amz-expected-bucket-owner" } }, - "documentation":"

        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.

        " + "documentation":"

        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

        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.

        " }, "SelectParameters":{ "type":"structure", @@ -10713,14 +10719,14 @@ }, "Expression":{ "shape":"Expression", - "documentation":"

        The expression that is used to query the object.

        " + "documentation":"

        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

        The expression that is used to query the object.

        " }, "OutputSerialization":{ "shape":"OutputSerialization", "documentation":"

        Describes how the results of the Select job are serialized.

        " } }, - "documentation":"

        Describes the parameters for Select job types.

        " + "documentation":"

        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

        Describes the parameters for Select job types.

        Learn How to optimize querying your data in Amazon S3 using Amazon Athena, S3 Object Lambda, or client-side filtering.

        " }, "ServerSideEncryption":{ "type":"string", @@ -11245,7 +11251,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

        The bucket name.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The bucket name.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Copying objects across different Amazon Web Services Regions isn't supported when the source or destination bucket is in Amazon Web Services Local Zones. The source and destination buckets must have the same parent Amazon Web Services Region. Otherwise, you get an HTTP 400 Bad Request error with the error code InvalidRequest.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" @@ -11445,7 +11451,7 @@ }, "Bucket":{ "shape":"BucketName", - "documentation":"

        The name of the bucket to which the multipart upload was initiated.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", + "documentation":"

        The name of the bucket to which the multipart upload was initiated.

        Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

        Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

        Access points and Object Lambda access points are not supported by directory buckets.

        S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

        ", "contextParam":{"name":"Bucket"}, "location":"uri", "locationName":"Bucket" diff --git a/tools/code-generation/api-descriptions/s3control-2018-08-20.normal.json b/tools/code-generation/api-descriptions/s3control-2018-08-20.normal.json index 44f1e6eb95d..9b41eb06590 100755 --- a/tools/code-generation/api-descriptions/s3control-2018-08-20.normal.json +++ b/tools/code-generation/api-descriptions/s3control-2018-08-20.normal.json @@ -1134,7 +1134,7 @@ }, "input":{"shape":"ListCallerAccessGrantsRequest"}, "output":{"shape":"ListCallerAccessGrantsResult"}, - "documentation":"

        Returns a list of the access grants that were given to the caller using S3 Access Grants and that allow the caller to access the S3 data of the Amazon Web Services account specified in the request.

        Permissions

        You must have the s3:ListCallerAccessGrants permission to use this operation.

        ", + "documentation":"

        Use this API to list the access grants that grant the caller access to Amazon S3 data through S3 Access Grants. The caller (grantee) can be an Identity and Access Management (IAM) identity or Amazon Web Services Identity Center corporate directory identity. You must pass the Amazon Web Services account of the S3 data owner (grantor) in the request. You can, optionally, narrow the results by GrantScope, using a fragment of the data's S3 path, and S3 Access Grants will return only the grants with a path that contains the path fragment. You can also pass the AllowedByApplication filter in the request, which returns only the grants authorized for applications, whether the application is the caller's Identity Center application or any other application (ALL). For more information, see List the caller's access grants in the Amazon S3 User Guide.

        Permissions

        You must have the s3:ListCallerAccessGrants permission to use this operation.

        ", "endpoint":{ "hostPrefix":"{AccountId}." }, @@ -2544,7 +2544,7 @@ }, "Operation":{ "shape":"JobOperation", - "documentation":"

        The action that you want this job to perform on every object listed in the manifest. For more information about the available actions, see Operations in the Amazon S3 User Guide.

        " + "documentation":"

        The action that you want this job to perform on every object listed in the manifest. For more information about the available actions, see Operations in the Amazon S3 User Guide.

        " }, "Report":{ "shape":"JobReport", @@ -7407,7 +7407,7 @@ "members":{ "TargetResource":{ "shape":"S3RegionalOrS3ExpressBucketArnString", - "documentation":"

        Specifies the destination bucket Amazon Resource Name (ARN) for the batch copy operation.

        • General purpose buckets - For example, to copy objects to a general purpose bucket named destinationBucket, set the TargetResource property to arn:aws:s3:::destinationBucket.

        • Directory buckets - For example, to copy objects to a directory bucket named destinationBucket in the Availability Zone; identified by the AZ ID usw2-az1, set the TargetResource property to arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3.

        " + "documentation":"

        Specifies the destination bucket Amazon Resource Name (ARN) for the batch copy operation.

        • General purpose buckets - For example, to copy objects to a general purpose bucket named destinationBucket, set the TargetResource property to arn:aws:s3:::destinationBucket.

        • Directory buckets - For example, to copy objects to a directory bucket named destinationBucket in the Availability Zone identified by the AZ ID usw2-az1, set the TargetResource property to arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3. A directory bucket as a destination bucket can be in Availability Zone or Local Zone.

          Copying objects across different Amazon Web Services Regions isn't supported when the source or destination bucket is in Amazon Web Services Local Zones. The source and destination buckets must have the same parent Amazon Web Services Region. Otherwise, you get an HTTP 400 Bad Request error with the error code InvalidRequest.

        " }, "CannedAccessControlList":{ "shape":"S3CannedAccessControlList", @@ -7453,7 +7453,7 @@ }, "SSEAwsKmsKeyId":{ "shape":"KmsKeyArnString", - "documentation":"

        This functionality is not supported by directory buckets.

        " + "documentation":"

        Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object encryption. If the KMS key doesn't exist in the same account that's issuing the command, you must use the full Key ARN not the Key ID.

        Directory buckets - If you specify SSEAlgorithm with KMS, you must specify the SSEAwsKmsKeyId parameter with the ID (Key ID or Key ARN) of the KMS symmetric encryption customer managed key to use. Otherwise, you get an HTTP 400 Bad Request error. The key alias format of the KMS key isn't supported. To encrypt new object copies 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). The Amazon Web Services managed key (aws/s3) isn't supported. Your SSE-KMS configuration can only support 1 customer managed key per directory bucket for the lifetime of the bucket. After you specify a customer managed key for SSE-KMS as the bucket default encryption, you can't override the customer managed key for the bucket's SSE-KMS configuration. Then, when you specify server-side encryption settings for new object copies with SSE-KMS, you must make sure the encryption key is the same customer managed key that you specified for the directory bucket's default encryption configuration.

        " }, "TargetKeyPrefix":{ "shape":"NonEmptyMaxLength1024String", @@ -7473,7 +7473,7 @@ }, "BucketKeyEnabled":{ "shape":"Boolean", - "documentation":"

        Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

        Specifying this header with an object action doesn’t affect bucket-level settings for S3 Bucket Key.

        This functionality is not supported by directory buckets.

        " + "documentation":"

        Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

        Specifying this header with an Copy action doesn’t affect bucket-level settings for S3 Bucket Key.

        Directory buckets - S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through the Copy operation in Batch Operations. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

        " }, "ChecksumAlgorithm":{ "shape":"S3ChecksumAlgorithm", @@ -7721,7 +7721,7 @@ }, "SSEAlgorithm":{ "shape":"S3SSEAlgorithm", - "documentation":"

        For directory buckets, only the server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) is supported.

        " + "documentation":"

        The server-side encryption algorithm used when storing objects in Amazon S3.

        Directory buckets - 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) (KMS). For more information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For the Copy operation in Batch Operations, see S3CopyObjectOperation.

        " } }, "documentation":"

        " diff --git a/tools/code-generation/api-descriptions/security-ir-2018-05-10.normal.json b/tools/code-generation/api-descriptions/security-ir-2018-05-10.normal.json new file mode 100644 index 00000000000..104941de852 --- /dev/null +++ b/tools/code-generation/api-descriptions/security-ir-2018-05-10.normal.json @@ -0,0 +1,2331 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-10", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"security-ir", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"Security Incident Response", + "serviceId":"Security IR", + "signatureVersion":"v4", + "signingName":"security-ir", + "uid":"security-ir-2018-05-10" + }, + "operations":{ + "BatchGetMemberAccountDetails":{ + "name":"BatchGetMemberAccountDetails", + "http":{ + "method":"POST", + "requestUri":"/v1/membership/{membershipId}/batch-member-details", + "responseCode":200 + }, + "input":{"shape":"BatchGetMemberAccountDetailsRequest"}, + "output":{"shape":"BatchGetMemberAccountDetailsResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to view an existing membership.

        " + }, + "CancelMembership":{ + "name":"CancelMembership", + "http":{ + "method":"PUT", + "requestUri":"/v1/membership/{membershipId}", + "responseCode":200 + }, + "input":{"shape":"CancelMembershipRequest"}, + "output":{"shape":"CancelMembershipResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permissions to cancel an existing membership.

        ", + "idempotent":true + }, + "CloseCase":{ + "name":"CloseCase", + "http":{ + "method":"POST", + "requestUri":"/v1/cases/{caseId}/close-case", + "responseCode":200 + }, + "input":{"shape":"CloseCaseRequest"}, + "output":{"shape":"CloseCaseResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to close an existing case.

        " + }, + "CreateCase":{ + "name":"CreateCase", + "http":{ + "method":"POST", + "requestUri":"/v1/create-case", + "responseCode":201 + }, + "input":{"shape":"CreateCaseRequest"}, + "output":{"shape":"CreateCaseResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to create a new case.

        ", + "idempotent":true + }, + "CreateCaseComment":{ + "name":"CreateCaseComment", + "http":{ + "method":"POST", + "requestUri":"/v1/cases/{caseId}/create-comment", + "responseCode":201 + }, + "input":{"shape":"CreateCaseCommentRequest"}, + "output":{"shape":"CreateCaseCommentResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to add a comment to an existing case.

        ", + "idempotent":true + }, + "CreateMembership":{ + "name":"CreateMembership", + "http":{ + "method":"POST", + "requestUri":"/v1/membership", + "responseCode":201 + }, + "input":{"shape":"CreateMembershipRequest"}, + "output":{"shape":"CreateMembershipResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permissions to create a new membership.

        ", + "idempotent":true + }, + "GetCase":{ + "name":"GetCase", + "http":{ + "method":"GET", + "requestUri":"/v1/cases/{caseId}/get-case", + "responseCode":200 + }, + "input":{"shape":"GetCaseRequest"}, + "output":{"shape":"GetCaseResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grant permission to view a designated case.

        " + }, + "GetCaseAttachmentDownloadUrl":{ + "name":"GetCaseAttachmentDownloadUrl", + "http":{ + "method":"GET", + "requestUri":"/v1/cases/{caseId}/get-presigned-url/{attachmentId}", + "responseCode":201 + }, + "input":{"shape":"GetCaseAttachmentDownloadUrlRequest"}, + "output":{"shape":"GetCaseAttachmentDownloadUrlResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to obtain an Amazon S3 presigned URL to download an attachment.

        " + }, + "GetCaseAttachmentUploadUrl":{ + "name":"GetCaseAttachmentUploadUrl", + "http":{ + "method":"POST", + "requestUri":"/v1/cases/{caseId}/get-presigned-url", + "responseCode":201 + }, + "input":{"shape":"GetCaseAttachmentUploadUrlRequest"}, + "output":{"shape":"GetCaseAttachmentUploadUrlResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to upload an attachment to a case.

        ", + "idempotent":true + }, + "GetMembership":{ + "name":"GetMembership", + "http":{ + "method":"GET", + "requestUri":"/v1/membership/{membershipId}", + "responseCode":200 + }, + "input":{"shape":"GetMembershipRequest"}, + "output":{"shape":"GetMembershipResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to get details of a designated service membership.

        " + }, + "ListCaseEdits":{ + "name":"ListCaseEdits", + "http":{ + "method":"POST", + "requestUri":"/v1/cases/{caseId}/list-case-edits", + "responseCode":200 + }, + "input":{"shape":"ListCaseEditsRequest"}, + "output":{"shape":"ListCaseEditsResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permissions to view the aidt log for edits made to a designated case.

        " + }, + "ListCases":{ + "name":"ListCases", + "http":{ + "method":"POST", + "requestUri":"/v1/list-cases", + "responseCode":200 + }, + "input":{"shape":"ListCasesRequest"}, + "output":{"shape":"ListCasesResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to list all cases the requester has access to.

        " + }, + "ListComments":{ + "name":"ListComments", + "http":{ + "method":"POST", + "requestUri":"/v1/cases/{caseId}/list-comments", + "responseCode":200 + }, + "input":{"shape":"ListCommentsRequest"}, + "output":{"shape":"ListCommentsResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permissions to list and view comments for a designated case.

        " + }, + "ListMemberships":{ + "name":"ListMemberships", + "http":{ + "method":"POST", + "requestUri":"/v1/memberships", + "responseCode":200 + }, + "input":{"shape":"ListMembershipsRequest"}, + "output":{"shape":"ListMembershipsResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to query the memberships a principal has access to.

        " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/v1/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to view currently configured tags on a resource.

        " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/v1/tags/{resourceArn}", + "responseCode":204 + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to add a tag(s) to a designated resource.

        " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/v1/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to remove a tag(s) from a designate resource.

        ", + "idempotent":true + }, + "UpdateCase":{ + "name":"UpdateCase", + "http":{ + "method":"POST", + "requestUri":"/v1/cases/{caseId}/update-case", + "responseCode":200 + }, + "input":{"shape":"UpdateCaseRequest"}, + "output":{"shape":"UpdateCaseResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to update an existing case.

        " + }, + "UpdateCaseComment":{ + "name":"UpdateCaseComment", + "http":{ + "method":"PUT", + "requestUri":"/v1/cases/{caseId}/update-case-comment/{commentId}", + "responseCode":200 + }, + "input":{"shape":"UpdateCaseCommentRequest"}, + "output":{"shape":"UpdateCaseCommentResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to update an existing case comment.

        ", + "idempotent":true + }, + "UpdateCaseStatus":{ + "name":"UpdateCaseStatus", + "http":{ + "method":"POST", + "requestUri":"/v1/cases/{caseId}/update-case-status", + "responseCode":201 + }, + "input":{"shape":"UpdateCaseStatusRequest"}, + "output":{"shape":"UpdateCaseStatusResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to update the status for a designated cases. Options include Submitted | Detection and Analysis | Eradication, Containment and Recovery | Post-Incident Activities | Closed.

        " + }, + "UpdateMembership":{ + "name":"UpdateMembership", + "http":{ + "method":"PUT", + "requestUri":"/v1/membership/{membershipId}/update-membership", + "responseCode":200 + }, + "input":{"shape":"UpdateMembershipRequest"}, + "output":{"shape":"UpdateMembershipResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants access to UpdateMembership to change membership configuration.

        ", + "idempotent":true + }, + "UpdateResolverType":{ + "name":"UpdateResolverType", + "http":{ + "method":"POST", + "requestUri":"/v1/cases/{caseId}/update-resolver-type", + "responseCode":200 + }, + "input":{"shape":"UpdateResolverTypeRequest"}, + "output":{"shape":"UpdateResolverTypeResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"SecurityIncidentResponseNotActiveException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"} + ], + "documentation":"

        Grants permission to update the resolver type for a case.

        This is a one-way action and cannot be reversed.

        Options include self-supported > AWS-supported.

        " + } + }, + "shapes":{ + "AWSAccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"[0-9]{12}" + }, + "AWSAccountIds":{ + "type":"list", + "member":{"shape":"AWSAccountId"}, + "max":100, + "min":1 + }, + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

        ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Arn":{ + "type":"string", + "max":1010, + "min":12, + "pattern":"arn:aws:security-ir:\\w+?-\\w+?-\\d+:[0-9]{12}:(membership/m-[a-z0-9]{10,32}|case/[0-9]{10})" + }, + "AttachmentId":{ + "type":"string", + "pattern":"[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}" + }, + "AwsRegion":{ + "type":"string", + "enum":[ + "af-south-1", + "ap-east-1", + "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-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-west-1", + "us-west-2" + ] + }, + "AwsService":{ + "type":"string", + "max":50, + "min":3, + "pattern":"[a-zA-Z0-9 -.():]+" + }, + "BatchGetMemberAccountDetailsRequest":{ + "type":"structure", + "required":[ + "membershipId", + "accountIds" + ], + "members":{ + "membershipId":{ + "shape":"MembershipId", + "documentation":"

        Required element used in combination with BatchGetMemberAccountDetails to identify the membership ID to query.

        ", + "location":"uri", + "locationName":"membershipId" + }, + "accountIds":{ + "shape":"AWSAccountIds", + "documentation":"

        Optional element to query the membership relationship status to a provided list of account IDs.

        " + } + } + }, + "BatchGetMemberAccountDetailsResponse":{ + "type":"structure", + "members":{ + "items":{ + "shape":"GetMembershipAccountDetailItems", + "documentation":"

        The response element providing responses for requests to GetMembershipAccountDetails.

        " + }, + "errors":{ + "shape":"GetMembershipAccountDetailErrors", + "documentation":"

        The response element providing errors messages for requests to GetMembershipAccountDetails.

        " + } + } + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "CancelMembershipRequest":{ + "type":"structure", + "required":["membershipId"], + "members":{ + "membershipId":{ + "shape":"MembershipId", + "documentation":"

        Required element used in combination with CancelMembershipRequest to identify the membership ID to cancel.

        ", + "location":"uri", + "locationName":"membershipId" + } + } + }, + "CancelMembershipResponse":{ + "type":"structure", + "required":["membershipId"], + "members":{ + "membershipId":{ + "shape":"MembershipId", + "documentation":"

        The response element providing responses for requests to CancelMembershipRequest.

        " + } + } + }, + "CaseArn":{ + "type":"string", + "max":80, + "min":12, + "pattern":"arn:aws:security-ir:\\w+?-\\w+?-\\d+:[0-9]{12}:case/[0-9]{10}" + }, + "CaseAttachmentAttributes":{ + "type":"structure", + "required":[ + "attachmentId", + "fileName", + "attachmentStatus", + "creator", + "createdDate" + ], + "members":{ + "attachmentId":{ + "shape":"AttachmentId", + "documentation":"

        " + }, + "fileName":{ + "shape":"FileName", + "documentation":"

        " + }, + "attachmentStatus":{ + "shape":"CaseAttachmentStatus", + "documentation":"

        " + }, + "creator":{ + "shape":"PrincipalId", + "documentation":"

        " + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "CaseAttachmentStatus":{ + "type":"string", + "enum":[ + "Verified", + "Failed", + "Pending" + ] + }, + "CaseAttachmentsList":{ + "type":"list", + "member":{"shape":"CaseAttachmentAttributes"}, + "max":50, + "min":0 + }, + "CaseDescription":{ + "type":"string", + "max":8000, + "min":1, + "sensitive":true + }, + "CaseEditAction":{ + "type":"string", + "max":100, + "min":1 + }, + "CaseEditItem":{ + "type":"structure", + "members":{ + "eventTimestamp":{ + "shape":"Timestamp", + "documentation":"

        " + }, + "principal":{ + "shape":"String", + "documentation":"

        " + }, + "action":{ + "shape":"CaseEditAction", + "documentation":"

        " + }, + "message":{ + "shape":"CaseEditMessage", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "CaseEditItems":{ + "type":"list", + "member":{"shape":"CaseEditItem"} + }, + "CaseEditMessage":{ + "type":"string", + "max":4096, + "min":10 + }, + "CaseId":{ + "type":"string", + "max":32, + "min":10, + "pattern":"\\d{10,32}.*" + }, + "CaseStatus":{ + "type":"string", + "enum":[ + "Submitted", + "Acknowledged", + "Detection and Analysis", + "Containment, Eradication and Recovery", + "Post-incident Activities", + "Ready to Close", + "Closed" + ] + }, + "CaseTitle":{ + "type":"string", + "max":300, + "min":1, + "sensitive":true + }, + "CloseCaseRequest":{ + "type":"structure", + "required":["caseId"], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        Required element used in combination with CloseCase to identify the case ID to close.

        ", + "location":"uri", + "locationName":"caseId" + } + } + }, + "CloseCaseResponse":{ + "type":"structure", + "members":{ + "caseStatus":{ + "shape":"CaseStatus", + "documentation":"

        A response element providing responses for requests to CloseCase. This element responds with the case status following the action.

        " + }, + "closedDate":{ + "shape":"Timestamp", + "documentation":"

        A response element providing responses for requests to CloseCase. This element responds with the case closure date following the action.

        " + } + } + }, + "ClosureCode":{ + "type":"string", + "enum":[ + "Investigation Completed", + "Not Resolved", + "False Positive", + "Duplicate" + ] + }, + "CommentBody":{ + "type":"string", + "max":12000, + "min":1, + "sensitive":true + }, + "CommentId":{ + "type":"string", + "max":6, + "min":6, + "pattern":"\\d{6}" + }, + "ConflictException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

        Element providing the ID of the resource affected.

        " + }, + "resourceType":{ + "shape":"String", + "documentation":"

        Element providing the type of the resource affected.

        " + } + }, + "documentation":"

        ", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "ContentLength":{ + "type":"long", + "box":true, + "max":104857600, + "min":1 + }, + "CreateCaseCommentRequest":{ + "type":"structure", + "required":[ + "caseId", + "body" + ], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        Required element used in combination with CreateCaseComment to specify a case ID.

        ", + "location":"uri", + "locationName":"caseId" + }, + "clientToken":{ + "shape":"CreateCaseCommentRequestClientTokenString", + "documentation":"

        An optional element used in combination with CreateCaseComment.

        ", + "idempotencyToken":true + }, + "body":{ + "shape":"CommentBody", + "documentation":"

        Required element used in combination with CreateCaseComment to add content for the new comment.

        " + } + } + }, + "CreateCaseCommentRequestClientTokenString":{ + "type":"string", + "max":255, + "min":1 + }, + "CreateCaseCommentResponse":{ + "type":"structure", + "required":["commentId"], + "members":{ + "commentId":{ + "shape":"CommentId", + "documentation":"

        Response element indicating the new comment ID.

        " + } + } + }, + "CreateCaseRequest":{ + "type":"structure", + "required":[ + "resolverType", + "title", + "description", + "engagementType", + "reportedIncidentStartDate", + "impactedAccounts", + "watchers" + ], + "members":{ + "clientToken":{ + "shape":"CreateCaseRequestClientTokenString", + "documentation":"

        Required element used in combination with CreateCase.

        ", + "idempotencyToken":true + }, + "resolverType":{ + "shape":"ResolverType", + "documentation":"

        Required element used in combination with CreateCase to identify the resolver type. Available resolvers include self-supported | aws-supported.

        " + }, + "title":{ + "shape":"CaseTitle", + "documentation":"

        Required element used in combination with CreateCase to provide a title for the new case.

        " + }, + "description":{ + "shape":"CaseDescription", + "documentation":"

        Required element used in combination with CreateCase to provide a description for the new case.

        " + }, + "engagementType":{ + "shape":"EngagementType", + "documentation":"

        Required element used in combination with CreateCase to provide an engagement type for the new cases. Available engagement types include Security Incident | Investigation

        " + }, + "reportedIncidentStartDate":{ + "shape":"Timestamp", + "documentation":"

        Required element used in combination with CreateCase to provide an initial start date for the unauthorized activity.

        " + }, + "impactedAccounts":{ + "shape":"ImpactedAccounts", + "documentation":"

        Required element used in combination with CreateCase to provide a list of impacted accounts.

        " + }, + "watchers":{ + "shape":"Watchers", + "documentation":"

        Required element used in combination with CreateCase to provide a list of entities to receive notifications for case updates.

        " + }, + "threatActorIpAddresses":{ + "shape":"ThreatActorIpList", + "documentation":"

        An optional element used in combination with CreateCase to provide a list of suspicious internet protocol addresses associated with unauthorized activity.

        " + }, + "impactedServices":{ + "shape":"ImpactedServicesList", + "documentation":"

        An optional element used in combination with CreateCase to provide a list of services impacted.

        " + }, + "impactedAwsRegions":{ + "shape":"ImpactedAwsRegionList", + "documentation":"

        An optional element used in combination with CreateCase to provide a list of impacted regions.

        " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        An optional element used in combination with CreateCase to add customer specified tags to a case.

        " + } + } + }, + "CreateCaseRequestClientTokenString":{ + "type":"string", + "max":255, + "min":1 + }, + "CreateCaseResponse":{ + "type":"structure", + "required":["caseId"], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        A response element providing responses for requests to CreateCase. This element responds with the case ID.

        " + } + } + }, + "CreateMembershipRequest":{ + "type":"structure", + "required":[ + "membershipName", + "incidentResponseTeam" + ], + "members":{ + "clientToken":{ + "shape":"CreateMembershipRequestClientTokenString", + "documentation":"

        An optional element used in combination with CreateMembership.

        ", + "idempotencyToken":true + }, + "membershipName":{ + "shape":"MembershipName", + "documentation":"

        Required element use in combination with CreateMembership to create a name for the membership.

        " + }, + "incidentResponseTeam":{ + "shape":"IncidentResponseTeam", + "documentation":"

        Required element use in combination with CreateMembership to add customer incident response team members and trusted partners to the membership.

        " + }, + "optInFeatures":{ + "shape":"OptInFeatures", + "documentation":"

        Optional element to enable the monitoring and investigation opt-in features for the service.

        " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        Optional element for customer configured tags.

        " + } + } + }, + "CreateMembershipRequestClientTokenString":{ + "type":"string", + "max":255, + "min":1 + }, + "CreateMembershipResponse":{ + "type":"structure", + "required":["membershipId"], + "members":{ + "membershipId":{ + "shape":"MembershipId", + "documentation":"

        Response element for CreateMembership providing the newly created membership ID.

        " + } + } + }, + "CustomerType":{ + "type":"string", + "enum":[ + "Standalone", + "Organization" + ] + }, + "EmailAddress":{ + "type":"string", + "max":254, + "min":6, + "pattern":"[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*", + "sensitive":true + }, + "EngagementType":{ + "type":"string", + "enum":[ + "Security Incident", + "Investigation" + ] + }, + "FileName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9._-]+", + "sensitive":true + }, + "GetCaseAttachmentDownloadUrlRequest":{ + "type":"structure", + "required":[ + "caseId", + "attachmentId" + ], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        Required element for GetCaseAttachmentDownloadUrl to identify the case ID for downloading an attachment from.

        ", + "location":"uri", + "locationName":"caseId" + }, + "attachmentId":{ + "shape":"AttachmentId", + "documentation":"

        Required element for GetCaseAttachmentDownloadUrl to identify the attachment ID for downloading an attachment.

        ", + "location":"uri", + "locationName":"attachmentId" + } + } + }, + "GetCaseAttachmentDownloadUrlResponse":{ + "type":"structure", + "required":["attachmentPresignedUrl"], + "members":{ + "attachmentPresignedUrl":{ + "shape":"Url", + "documentation":"

        Response element providing the Amazon S3 presigned URL to download an attachment.

        " + } + } + }, + "GetCaseAttachmentUploadUrlRequest":{ + "type":"structure", + "required":[ + "caseId", + "fileName", + "contentLength" + ], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        Required element for GetCaseAttachmentUploadUrl to identify the case ID for uploading an attachment to.

        ", + "location":"uri", + "locationName":"caseId" + }, + "fileName":{ + "shape":"FileName", + "documentation":"

        Required element for GetCaseAttachmentUploadUrl to identify the file name of the attachment to upload.

        " + }, + "contentLength":{ + "shape":"ContentLength", + "documentation":"

        Required element for GetCaseAttachmentUploadUrl to identify the size od the file attachment.

        " + }, + "clientToken":{ + "shape":"GetCaseAttachmentUploadUrlRequestClientTokenString", + "documentation":"

        Optional element for customer provided token.

        ", + "idempotencyToken":true + } + } + }, + "GetCaseAttachmentUploadUrlRequestClientTokenString":{ + "type":"string", + "max":255, + "min":1 + }, + "GetCaseAttachmentUploadUrlResponse":{ + "type":"structure", + "required":["attachmentPresignedUrl"], + "members":{ + "attachmentPresignedUrl":{ + "shape":"Url", + "documentation":"

        Response element providing the Amazon S3 presigned UTL to upload the attachment.

        " + } + } + }, + "GetCaseRequest":{ + "type":"structure", + "required":["caseId"], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        Required element for GetCase to identify the requested case ID.

        ", + "location":"uri", + "locationName":"caseId" + } + } + }, + "GetCaseResponse":{ + "type":"structure", + "members":{ + "title":{ + "shape":"CaseTitle", + "documentation":"

        Response element for GetCase that provides the case title.

        " + }, + "caseArn":{ + "shape":"CaseArn", + "documentation":"

        Response element for GetCase that provides the case ARN

        " + }, + "description":{ + "shape":"CaseDescription", + "documentation":"

        Response element for GetCase that provides contents of the case description.

        " + }, + "caseStatus":{ + "shape":"CaseStatus", + "documentation":"

        Response element for GetCase that provides the case status. Options for statuses include Submitted | Detection and Analysis | Eradication, Containment and Recovery | Post-Incident Activities | Closed

        " + }, + "engagementType":{ + "shape":"EngagementType", + "documentation":"

        Response element for GetCase that provides the engagement type. Options for engagement type include Active Security Event | Investigations

        " + }, + "reportedIncidentStartDate":{ + "shape":"Timestamp", + "documentation":"

        Response element for GetCase that provides the customer provided incident start date.

        " + }, + "actualIncidentStartDate":{ + "shape":"Timestamp", + "documentation":"

        Response element for GetCase that provides the actual incident start date as identified by data analysis during the investigation.

        " + }, + "impactedAwsRegions":{ + "shape":"ImpactedAwsRegionList", + "documentation":"

        Response element for GetCase that provides the impacted regions.

        " + }, + "threatActorIpAddresses":{ + "shape":"ThreatActorIpList", + "documentation":"

        Response element for GetCase that provides a list of suspicious IP addresses associated with unauthorized activity.

        " + }, + "pendingAction":{ + "shape":"PendingAction", + "documentation":"

        Response element for GetCase that provides identifies the case is waiting on customer input.

        " + }, + "impactedAccounts":{ + "shape":"ImpactedAccounts", + "documentation":"

        Response element for GetCase that provides a list of impacted accounts.

        " + }, + "watchers":{ + "shape":"Watchers", + "documentation":"

        Response element for GetCase that provides a list of Watchers added to the case.

        " + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

        Response element for GetCase that provides the date the case was created.

        " + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

        Response element for GetCase that provides the date a case was last modified.

        " + }, + "closureCode":{ + "shape":"ClosureCode", + "documentation":"

        Response element for GetCase that provides the summary code for why a case was closed.

        " + }, + "resolverType":{ + "shape":"ResolverType", + "documentation":"

        Response element for GetCase that provides the current resolver types. Options include self-supported | AWS-supported.

        " + }, + "impactedServices":{ + "shape":"ImpactedServicesList", + "documentation":"

        Response element for GetCase that provides a list of impacted services.

        " + }, + "caseAttachments":{ + "shape":"CaseAttachmentsList", + "documentation":"

        Response element for GetCase that provides a list of current case attachments.

        " + }, + "closedDate":{ + "shape":"Timestamp", + "documentation":"

        Response element for GetCase that provides the date a specified case was closed.

        " + } + } + }, + "GetMembershipAccountDetailError":{ + "type":"structure", + "required":[ + "accountId", + "error", + "message" + ], + "members":{ + "accountId":{ + "shape":"AWSAccountId", + "documentation":"

        " + }, + "error":{ + "shape":"String", + "documentation":"

        " + }, + "message":{ + "shape":"String", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "GetMembershipAccountDetailErrors":{ + "type":"list", + "member":{"shape":"GetMembershipAccountDetailError"}, + "max":100, + "min":0 + }, + "GetMembershipAccountDetailItem":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"AWSAccountId", + "documentation":"

        " + }, + "relationshipStatus":{ + "shape":"MembershipAccountRelationshipStatus", + "documentation":"

        " + }, + "relationshipType":{ + "shape":"MembershipAccountRelationshipType", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "GetMembershipAccountDetailItems":{ + "type":"list", + "member":{"shape":"GetMembershipAccountDetailItem"}, + "max":100, + "min":0 + }, + "GetMembershipRequest":{ + "type":"structure", + "required":["membershipId"], + "members":{ + "membershipId":{ + "shape":"MembershipId", + "documentation":"

        Required element for GetMembership to identify the membership ID to query.

        ", + "location":"uri", + "locationName":"membershipId" + } + } + }, + "GetMembershipResponse":{ + "type":"structure", + "required":["membershipId"], + "members":{ + "membershipId":{ + "shape":"MembershipId", + "documentation":"

        Response element for GetMembership that provides the queried membership ID.

        " + }, + "accountId":{ + "shape":"AWSAccountId", + "documentation":"

        Response element for GetMembership that provides the configured account for managing the membership.

        " + }, + "region":{ + "shape":"AwsRegion", + "documentation":"

        Response element for GetMembership that provides the configured region for managing the membership.

        " + }, + "membershipName":{ + "shape":"MembershipName", + "documentation":"

        Response element for GetMembership that provides the configured membership name.

        " + }, + "membershipArn":{ + "shape":"MembershipArn", + "documentation":"

        Response element for GetMembership that provides the membership ARN.

        " + }, + "membershipStatus":{ + "shape":"MembershipStatus", + "documentation":"

        Response element for GetMembership that provides the current membership status.

        " + }, + "membershipActivationTimestamp":{ + "shape":"Timestamp", + "documentation":"

        Response element for GetMembership that provides the configured membership activation timestamp.

        " + }, + "membershipDeactivationTimestamp":{ + "shape":"Timestamp", + "documentation":"

        Response element for GetMembership that provides the configured membership name deactivation timestamp.

        " + }, + "customerType":{ + "shape":"CustomerType", + "documentation":"

        Response element for GetMembership that provides the configured membership type. Options include Standalone | Organizations.

        " + }, + "numberOfAccountsCovered":{ + "shape":"Long", + "documentation":"

        Response element for GetMembership that provides the number of accounts in the membership.

        " + }, + "incidentResponseTeam":{ + "shape":"IncidentResponseTeam", + "documentation":"

        Response element for GetMembership that provides the configured membership incident response team members.

        " + }, + "optInFeatures":{ + "shape":"OptInFeatures", + "documentation":"

        Response element for GetMembership that provides the if opt-in features have been enabled.

        " + } + } + }, + "IPAddress":{ + "type":"string", + "pattern":"(?:(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[A-F0-9]{1,4}:){7}[A-F0-9]{1,4})|(?:(?:[A-F0-9]{1,4}:){6}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))", + "sensitive":true + }, + "ImpactedAccounts":{ + "type":"list", + "member":{"shape":"AWSAccountId"}, + "max":200, + "min":0 + }, + "ImpactedAwsRegion":{ + "type":"structure", + "required":["region"], + "members":{ + "region":{ + "shape":"AwsRegion", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "ImpactedAwsRegionList":{ + "type":"list", + "member":{"shape":"ImpactedAwsRegion"}, + "max":50, + "min":0 + }, + "ImpactedServicesList":{ + "type":"list", + "member":{"shape":"AwsService"}, + "max":600, + "min":0 + }, + "IncidentResponder":{ + "type":"structure", + "required":[ + "name", + "jobTitle", + "email" + ], + "members":{ + "name":{ + "shape":"IncidentResponderName", + "documentation":"

        " + }, + "jobTitle":{ + "shape":"JobTitle", + "documentation":"

        " + }, + "email":{ + "shape":"EmailAddress", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "IncidentResponderName":{ + "type":"string", + "max":50, + "min":3, + "sensitive":true + }, + "IncidentResponseTeam":{ + "type":"list", + "member":{"shape":"IncidentResponder"}, + "max":10, + "min":2 + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"Integer", + "documentation":"

        Element providing advice to clients on when the call can be safely retried.

        ", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

        ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "InvalidTokenException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

        ", + "error":{ + "httpStatusCode":423, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, + "JobTitle":{ + "type":"string", + "max":50, + "min":1, + "sensitive":true + }, + "ListCaseEditsRequest":{ + "type":"structure", + "required":["caseId"], + "members":{ + "nextToken":{ + "shape":"ListCaseEditsRequestNextTokenString", + "documentation":"

        Optional element for a customer provided token.

        " + }, + "maxResults":{ + "shape":"ListCaseEditsRequestMaxResultsInteger", + "documentation":"

        Optional element to identify how many results to obtain. There is a maximum value of 25.

        " + }, + "caseId":{ + "shape":"CaseId", + "documentation":"

        Required element used with ListCaseEdits to identify the case to query.

        ", + "location":"uri", + "locationName":"caseId" + } + } + }, + "ListCaseEditsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "ListCaseEditsRequestNextTokenString":{ + "type":"string", + "max":2000, + "min":0 + }, + "ListCaseEditsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

        Optional element.

        " + }, + "items":{ + "shape":"CaseEditItems", + "documentation":"

        Response element for ListCaseEdits that includes the action, eventtimestamp, message, and principal for the response.

        " + }, + "total":{ + "shape":"Integer", + "documentation":"

        Response element for ListCaseEdits that identifies the total number of edits.

        " + } + } + }, + "ListCasesItem":{ + "type":"structure", + "required":["caseId"], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        " + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

        " + }, + "title":{ + "shape":"CaseTitle", + "documentation":"

        " + }, + "caseArn":{ + "shape":"CaseArn", + "documentation":"

        " + }, + "engagementType":{ + "shape":"EngagementType", + "documentation":"

        " + }, + "caseStatus":{ + "shape":"CaseStatus", + "documentation":"

        " + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

        " + }, + "closedDate":{ + "shape":"Timestamp", + "documentation":"

        " + }, + "resolverType":{ + "shape":"ResolverType", + "documentation":"

        " + }, + "pendingAction":{ + "shape":"PendingAction", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "ListCasesItems":{ + "type":"list", + "member":{"shape":"ListCasesItem"} + }, + "ListCasesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"ListCasesRequestNextTokenString", + "documentation":"

        Optional element.

        " + }, + "maxResults":{ + "shape":"ListCasesRequestMaxResultsInteger", + "documentation":"

        Optional element for ListCases to limit the number of responses.

        " + } + } + }, + "ListCasesRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "ListCasesRequestNextTokenString":{ + "type":"string", + "max":2000, + "min":0 + }, + "ListCasesResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

        Optional element.

        " + }, + "items":{ + "shape":"ListCasesItems", + "documentation":"

        Response element for ListCases that includes caseARN, caseID, caseStatus, closedDate, createdDate, engagementType, lastUpdatedDate, pendingAction, resolverType, and title for each response.

        " + }, + "total":{ + "shape":"Long", + "documentation":"

        Response element for ListCases providing the total number of responses.

        " + } + } + }, + "ListCommentsItem":{ + "type":"structure", + "required":["commentId"], + "members":{ + "commentId":{ + "shape":"CommentId", + "documentation":"

        " + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

        " + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

        " + }, + "creator":{ + "shape":"PrincipalId", + "documentation":"

        " + }, + "lastUpdatedBy":{ + "shape":"PrincipalId", + "documentation":"

        " + }, + "body":{ + "shape":"CommentBody", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "ListCommentsItems":{ + "type":"list", + "member":{"shape":"ListCommentsItem"} + }, + "ListCommentsRequest":{ + "type":"structure", + "required":["caseId"], + "members":{ + "nextToken":{ + "shape":"ListCommentsRequestNextTokenString", + "documentation":"

        Optional element.

        " + }, + "maxResults":{ + "shape":"ListCommentsRequestMaxResultsInteger", + "documentation":"

        Optional element for ListComments to limit the number of responses.

        " + }, + "caseId":{ + "shape":"CaseId", + "documentation":"

        Required element for ListComments to designate the case to query.

        ", + "location":"uri", + "locationName":"caseId" + } + } + }, + "ListCommentsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "ListCommentsRequestNextTokenString":{ + "type":"string", + "max":2000, + "min":0 + }, + "ListCommentsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

        Optional request elements.

        " + }, + "items":{ + "shape":"ListCommentsItems", + "documentation":"

        Response element for ListComments providing the body, commentID, createDate, creator, lastUpdatedBy and lastUpdatedDate for each response.

        " + }, + "total":{ + "shape":"Integer", + "documentation":"

        Response element for ListComments identifying the number of responses.

        " + } + } + }, + "ListMembershipItem":{ + "type":"structure", + "required":["membershipId"], + "members":{ + "membershipId":{ + "shape":"MembershipId", + "documentation":"

        " + }, + "accountId":{ + "shape":"AWSAccountId", + "documentation":"

        " + }, + "region":{ + "shape":"AwsRegion", + "documentation":"

        " + }, + "membershipArn":{ + "shape":"MembershipArn", + "documentation":"

        " + }, + "membershipStatus":{ + "shape":"MembershipStatus", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "ListMembershipItems":{ + "type":"list", + "member":{"shape":"ListMembershipItem"} + }, + "ListMembershipsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"ListMembershipsRequestNextTokenString", + "documentation":"

        Optional element.

        " + }, + "maxResults":{ + "shape":"ListMembershipsRequestMaxResultsInteger", + "documentation":"

        Request element for ListMemberships to limit the number of responses.

        " + } + } + }, + "ListMembershipsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "ListMembershipsRequestNextTokenString":{ + "type":"string", + "max":2000, + "min":0 + }, + "ListMembershipsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

        Optional element.

        " + }, + "items":{ + "shape":"ListMembershipItems", + "documentation":"

        Request element for ListMemberships including the accountID, membershipARN, membershipID, membershipStatus, and region for each response.

        " + } + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

        Required element for ListTagsForResource to provide the ARN to identify a specific resource.

        ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "required":["tags"], + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

        Response element for ListTagsForResource providing content for each configured tag.

        " + } + } + }, + "Long":{ + "type":"long", + "box":true + }, + "MembershipAccountRelationshipStatus":{ + "type":"string", + "enum":[ + "Associated", + "Disassociated" + ] + }, + "MembershipAccountRelationshipType":{ + "type":"string", + "enum":["Organization"] + }, + "MembershipArn":{ + "type":"string", + "max":80, + "min":12, + "pattern":"arn:aws:security-ir:\\w+?-\\w+?-\\d+:[0-9]{12}:membership/m-[a-z0-9]{10,32}" + }, + "MembershipId":{ + "type":"string", + "max":34, + "min":12, + "pattern":"m-[a-z0-9]{10,32}" + }, + "MembershipName":{ + "type":"string", + "max":50, + "min":3, + "sensitive":true + }, + "MembershipStatus":{ + "type":"string", + "enum":[ + "Active", + "Cancelled", + "Terminated" + ] + }, + "OptInFeature":{ + "type":"structure", + "required":[ + "featureName", + "isEnabled" + ], + "members":{ + "featureName":{ + "shape":"OptInFeatureName", + "documentation":"

        " + }, + "isEnabled":{ + "shape":"Boolean", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "OptInFeatureName":{ + "type":"string", + "enum":["Triage"] + }, + "OptInFeatures":{ + "type":"list", + "member":{"shape":"OptInFeature"}, + "max":2, + "min":1 + }, + "PendingAction":{ + "type":"string", + "enum":[ + "Customer", + "None" + ] + }, + "PersonName":{ + "type":"string", + "max":50, + "min":1, + "sensitive":true + }, + "PrincipalId":{ + "type":"string", + "pattern":".*(^internal:midway:([a-z]{3,8}|svc-mw-[0-9]{12}[a-zA-Z0-9-]{5,20})$)|(^external:aws:\\d{12}$).*" + }, + "ResolverType":{ + "type":"string", + "enum":[ + "AWS", + "Self" + ] + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

        ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "SecurityIncidentResponseNotActiveException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

        ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SelfManagedCaseStatus":{ + "type":"string", + "enum":[ + "Submitted", + "Detection and Analysis", + "Containment, Eradication and Recovery", + "Post-incident Activities" + ] + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType", + "serviceCode", + "quotaCode" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

        Element that provides the ID of the resource affected.

        " + }, + "resourceType":{ + "shape":"String", + "documentation":"

        Element that provides the type of the resource affected.

        " + }, + "serviceCode":{ + "shape":"String", + "documentation":"

        Element that provides the originating service who made the call.

        " + }, + "quotaCode":{ + "shape":"String", + "documentation":"

        Element that provides the quota that was exceeded.

        " + } + }, + "documentation":"

        ", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":0 + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

        Required element for TagResource to identify the ARN for the resource to add a tag to.

        ", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        Required element for ListTagsForResource to provide the content for a tag.

        " + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "ThreatActorIp":{ + "type":"structure", + "required":["ipAddress"], + "members":{ + "ipAddress":{ + "shape":"IPAddress", + "documentation":"

        " + }, + "userAgent":{ + "shape":"UserAgent", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "ThreatActorIpList":{ + "type":"list", + "member":{"shape":"ThreatActorIp"}, + "max":200, + "min":0 + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "serviceCode":{ + "shape":"String", + "documentation":"

        Element providing the service code of the originating service.

        " + }, + "quotaCode":{ + "shape":"String", + "documentation":"

        Element providing the quota of the originating service.

        " + }, + "retryAfterSeconds":{ + "shape":"Integer", + "documentation":"

        Element providing advice to clients on when the call can be safely retried.

        ", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

        ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

        Required element for UnTagResource to identify the ARN for the resource to remove a tag from.

        ", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeys", + "documentation":"

        Required element for UnTagResource to identify tag to remove.

        ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateCaseCommentRequest":{ + "type":"structure", + "required":[ + "caseId", + "commentId", + "body" + ], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        Required element for UpdateCaseComment to identify the case ID containing the comment to be updated.

        ", + "location":"uri", + "locationName":"caseId" + }, + "commentId":{ + "shape":"CommentId", + "documentation":"

        Required element for UpdateCaseComment to identify the case ID to be updated.

        ", + "location":"uri", + "locationName":"commentId" + }, + "body":{ + "shape":"CommentBody", + "documentation":"

        Required element for UpdateCaseComment to identify the content for the comment to be updated.

        " + } + } + }, + "UpdateCaseCommentResponse":{ + "type":"structure", + "required":["commentId"], + "members":{ + "commentId":{ + "shape":"CommentId", + "documentation":"

        Response element for UpdateCaseComment providing the updated comment ID.

        " + }, + "body":{ + "shape":"CommentBody", + "documentation":"

        Response element for UpdateCaseComment providing the updated comment content.

        " + } + } + }, + "UpdateCaseRequest":{ + "type":"structure", + "required":["caseId"], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        Required element for UpdateCase to identify the case ID for updates.

        ", + "location":"uri", + "locationName":"caseId" + }, + "title":{ + "shape":"CaseTitle", + "documentation":"

        Optional element for UpdateCase to provide content for the title field.

        " + }, + "description":{ + "shape":"CaseDescription", + "documentation":"

        Optional element for UpdateCase to provide content for the description field.

        " + }, + "reportedIncidentStartDate":{ + "shape":"Timestamp", + "documentation":"

        Optional element for UpdateCase to provide content for the customer reported incident start date field.

        " + }, + "actualIncidentStartDate":{ + "shape":"Timestamp", + "documentation":"

        Optional element for UpdateCase to provide content for the incident start date field.

        " + }, + "engagementType":{ + "shape":"EngagementType", + "documentation":"

        Optional element for UpdateCase to provide content for the engagement type field. Available engagement types include Security Incident | Investigation.

        " + }, + "watchersToAdd":{ + "shape":"Watchers", + "documentation":"

        Optional element for UpdateCase to provide content to add additional watchers to a case.

        " + }, + "watchersToDelete":{ + "shape":"Watchers", + "documentation":"

        Optional element for UpdateCase to provide content to remove existing watchers from a case.

        " + }, + "threatActorIpAddressesToAdd":{ + "shape":"ThreatActorIpList", + "documentation":"

        Optional element for UpdateCase to provide content to add additional suspicious IP addresses related to a case.

        " + }, + "threatActorIpAddressesToDelete":{ + "shape":"ThreatActorIpList", + "documentation":"

        Optional element for UpdateCase to provide content to remove suspicious IP addresses from a case.

        " + }, + "impactedServicesToAdd":{ + "shape":"ImpactedServicesList", + "documentation":"

        Optional element for UpdateCase to provide content to add services impacted.

        " + }, + "impactedServicesToDelete":{ + "shape":"ImpactedServicesList", + "documentation":"

        Optional element for UpdateCase to provide content to remove services impacted.

        " + }, + "impactedAwsRegionsToAdd":{ + "shape":"ImpactedAwsRegionList", + "documentation":"

        Optional element for UpdateCase to provide content to add regions impacted.

        " + }, + "impactedAwsRegionsToDelete":{ + "shape":"ImpactedAwsRegionList", + "documentation":"

        Optional element for UpdateCase to provide content to remove regions impacted.

        " + }, + "impactedAccountsToAdd":{ + "shape":"ImpactedAccounts", + "documentation":"

        Optional element for UpdateCase to provide content to add accounts impacted.

        " + }, + "impactedAccountsToDelete":{ + "shape":"ImpactedAccounts", + "documentation":"

        Optional element for UpdateCase to provide content to add accounts impacted.

        " + } + } + }, + "UpdateCaseResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateCaseStatusRequest":{ + "type":"structure", + "required":[ + "caseId", + "caseStatus" + ], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        Required element for UpdateCaseStatus to identify the case to update.

        ", + "location":"uri", + "locationName":"caseId" + }, + "caseStatus":{ + "shape":"SelfManagedCaseStatus", + "documentation":"

        Required element for UpdateCaseStatus to identify the status for a case. Options include Submitted | Detection and Analysis | Containment, Eradication and Recovery | Post-incident Activities.

        " + } + } + }, + "UpdateCaseStatusResponse":{ + "type":"structure", + "members":{ + "caseStatus":{ + "shape":"SelfManagedCaseStatus", + "documentation":"

        Response element for UpdateCaseStatus showing the newly configured status.

        " + } + } + }, + "UpdateMembershipRequest":{ + "type":"structure", + "required":["membershipId"], + "members":{ + "membershipId":{ + "shape":"MembershipId", + "documentation":"

        Required element for UpdateMembership to identify the membership to update.

        ", + "location":"uri", + "locationName":"membershipId" + }, + "membershipName":{ + "shape":"MembershipName", + "documentation":"

        Optional element for UpdateMembership to update the membership name.

        " + }, + "incidentResponseTeam":{ + "shape":"IncidentResponseTeam", + "documentation":"

        Optional element for UpdateMembership to update the membership name.

        " + }, + "optInFeatures":{ + "shape":"OptInFeatures", + "documentation":"

        Optional element for UpdateMembership to enable or disable opt-in features for the service.

        " + } + } + }, + "UpdateMembershipResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateResolverTypeRequest":{ + "type":"structure", + "required":[ + "caseId", + "resolverType" + ], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        Required element for UpdateResolverType to identify the case to update.

        ", + "location":"uri", + "locationName":"caseId" + }, + "resolverType":{ + "shape":"ResolverType", + "documentation":"

        Required element for UpdateResolverType to identify the new resolver.

        " + } + } + }, + "UpdateResolverTypeResponse":{ + "type":"structure", + "required":["caseId"], + "members":{ + "caseId":{ + "shape":"CaseId", + "documentation":"

        Response element for UpdateResolver identifying the case ID being updated.

        " + }, + "caseStatus":{ + "shape":"CaseStatus", + "documentation":"

        Response element for UpdateResolver identifying the current status of the case.

        " + }, + "resolverType":{ + "shape":"ResolverType", + "documentation":"

        Response element for UpdateResolver identifying the current resolver of the case.

        " + } + } + }, + "Url":{ + "type":"string", + "pattern":"https?://(?:www.)?[a-zA-Z0-9@:._+~#=-]{2,256}\\.[a-z]{2,6}\\b(?:[-a-zA-Z0-9@:%_+.~#?&/=]{0,2048})", + "sensitive":true + }, + "UserAgent":{ + "type":"string", + "max":500, + "min":0 + }, + "ValidationException":{ + "type":"structure", + "required":[ + "message", + "reason" + ], + "members":{ + "message":{"shape":"String"}, + "reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

        Element that provides the reason the request failed validation.

        " + }, + "fieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

        Element that provides the list of field(s) that caused the error, if applicable.

        " + } + }, + "documentation":"

        ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "name", + "message" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

        " + }, + "message":{ + "shape":"String", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "UNKNOWN_OPERATION", + "CANNOT_PARSE", + "FIELD_VALIDATION_FAILED", + "OTHER" + ] + }, + "Watcher":{ + "type":"structure", + "required":["email"], + "members":{ + "email":{ + "shape":"EmailAddress", + "documentation":"

        " + }, + "name":{ + "shape":"PersonName", + "documentation":"

        " + }, + "jobTitle":{ + "shape":"JobTitle", + "documentation":"

        " + } + }, + "documentation":"

        " + }, + "Watchers":{ + "type":"list", + "member":{"shape":"Watcher"}, + "max":30, + "min":0 + } + }, + "documentation":"

        This guide provides documents the action and response elements for customer use of the service.

        " +} diff --git a/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json b/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json index de3aa366fdc..d55134d58fa 100644 --- a/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json +++ b/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json @@ -1563,6 +1563,85 @@ "type":"list", "member":{"shape":"ActionTarget"} }, + "Actor":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"NonEmptyString", + "documentation":"

        The ID of the threat actor.

        " + }, + "User":{ + "shape":"ActorUser", + "documentation":"

        Contains information about the user credentials used by the threat actor.

        " + }, + "Session":{ + "shape":"ActorSession", + "documentation":"

        Contains information about the user session where the activity initiated.

        " + } + }, + "documentation":"

        Information about the threat actor identified in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        " + }, + "ActorSession":{ + "type":"structure", + "members":{ + "Uid":{ + "shape":"NonEmptyString", + "documentation":"

        Unique identifier of the session.

        " + }, + "MfaStatus":{ + "shape":"ActorSessionMfaStatus", + "documentation":"

        Indicates whether multi-factor authentication (MFA) was used for authentication during the session.

        In CloudTrail, you can find this value as userIdentity.sessionContext.attributes.mfaAuthenticated.

        " + }, + "CreatedTime":{ + "shape":"Long", + "documentation":"

        The timestamp for when the session was created.

        In CloudTrail, you can find this value as userIdentity.sessionContext.attributes.creationDate.

        " + }, + "Issuer":{ + "shape":"NonEmptyString", + "documentation":"

        The issuer of the session.

        In CloudTrail, you can find this value as userIdentity.sessionContext.sessionIssuer.arn.

        " + } + }, + "documentation":"

        Contains information about the authenticated session used by the threat actor identified in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        " + }, + "ActorSessionMfaStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "ActorUser":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

        The name of the threat actor.

        " + }, + "Uid":{ + "shape":"NonEmptyString", + "documentation":"

        The unique identifier of the threat actor.

        " + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

        The type of user.

        " + }, + "CredentialUid":{ + "shape":"NonEmptyString", + "documentation":"

        Unique identifier of the threat actor’s user credentials.

        " + }, + "Account":{ + "shape":"UserAccount", + "documentation":"

        The account of the threat actor.

        " + } + }, + "documentation":"

        Contains information about the credentials used by the threat actor identified in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        " + }, + "ActorsList":{ + "type":"list", + "member":{"shape":"Actor"}, + "max":10, + "min":0 + }, "Adjustment":{ "type":"structure", "members":{ @@ -13878,6 +13957,10 @@ "AwsAccountName":{ "shape":"NonEmptyString", "documentation":"

        The name of the Amazon Web Services account from which a finding was generated.

        Length Constraints: Minimum length of 1. Maximum length of 50.

        " + }, + "Detection":{ + "shape":"Detection", + "documentation":"

        Provides details about an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        " } }, "documentation":"

        Provides a consistent format for Security Hub findings. AwsSecurityFinding format allows you to share findings between Amazon Web Services security services and third-party solutions.

        A finding is a potential security issue generated either by Amazon Web Services services or by the integrated third-party solutions and standards checks.

        " @@ -16016,6 +16099,13 @@ "type":"list", "member":{"shape":"ConfigurationPolicySummary"} }, + "ConnectionDirection":{ + "type":"string", + "enum":[ + "INBOUND", + "OUTBOUND" + ] + }, "ContainerDetails":{ "type":"structure", "members":{ @@ -16765,6 +16855,16 @@ } } }, + "Detection":{ + "type":"structure", + "members":{ + "Sequence":{ + "shape":"Sequence", + "documentation":"

        Provides details about an attack sequence.

        " + } + }, + "documentation":"

        A top-level object field that provides details about an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        " + }, "DisableImportFindingsForProductRequest":{ "type":"structure", "required":["ProductSubscriptionArn"], @@ -17643,6 +17743,34 @@ "type":"list", "member":{"shape":"ImportFindingsError"} }, + "Indicator":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"NonEmptyString", + "documentation":"

        The name of the indicator that’s present in the attack sequence finding.

        " + }, + "Values":{ + "shape":"NonEmptyStringList", + "documentation":"

        Values associated with each indicator key. For example, if the indicator key is SUSPICIOUS_NETWORK, then the value will be the name of the network. If the indicator key is ATTACK_TACTIC, then the value will be one of the MITRE tactics.

        " + }, + "Title":{ + "shape":"NonEmptyString", + "documentation":"

        The title describing the indicator.

        " + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

        The type of indicator.

        " + } + }, + "documentation":"

        Contains information about the indicators observed in an Amazon GuardDuty Extended Threat Detection attack sequence. Indicators include a set of signals, which can be API activities or findings that GuardDuty uses to detect an attack sequence finding. GuardDuty generates an attack sequence finding when multiple signals align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        " + }, + "IndicatorsList":{ + "type":"list", + "member":{"shape":"Indicator"}, + "max":100, + "min":0 + }, "Insight":{ "type":"structure", "required":[ @@ -18476,6 +18604,30 @@ }, "documentation":"

        The details of network-related information about a finding.

        " }, + "NetworkAutonomousSystem":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

        The name associated with the AS.

        " + }, + "Number":{ + "shape":"Integer", + "documentation":"

        The unique number that identifies the AS.

        " + } + }, + "documentation":"

        Contains information about the Autonomous System (AS) of the network endpoints involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        " + }, + "NetworkConnection":{ + "type":"structure", + "members":{ + "Direction":{ + "shape":"ConnectionDirection", + "documentation":"

        The direction in which the network traffic is flowing.

        " + } + }, + "documentation":"

        Contains information about the network connection involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        " + }, "NetworkConnectionAction":{ "type":"structure", "members":{ @@ -18513,6 +18665,68 @@ "OUT" ] }, + "NetworkEndpoint":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"NonEmptyString", + "documentation":"

        The identifier of the network endpoint involved in the attack sequence.

        " + }, + "Ip":{ + "shape":"NonEmptyString", + "documentation":"

        The IP address used in the network endpoint.

        " + }, + "Domain":{ + "shape":"NonEmptyString", + "documentation":"

        The domain information for the network endpoint.

        " + }, + "Port":{ + "shape":"Integer", + "documentation":"

        The port number associated with the network endpoint.

        " + }, + "Location":{ + "shape":"NetworkGeoLocation", + "documentation":"

        Information about the location of the network endpoint.

        " + }, + "AutonomousSystem":{ + "shape":"NetworkAutonomousSystem", + "documentation":"

        The Autonomous System Number (ASN) of the network endpoint.

        " + }, + "Connection":{ + "shape":"NetworkConnection", + "documentation":"

        Information about the network connection.

        " + } + }, + "documentation":"

        Contains information about network endpoints involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        This field can provide information about the network endpoints associated with the resource in the attack sequence finding, or about a specific network endpoint used for the attack.

        " + }, + "NetworkEndpointsList":{ + "type":"list", + "member":{"shape":"NetworkEndpoint"}, + "max":10, + "min":0 + }, + "NetworkGeoLocation":{ + "type":"structure", + "members":{ + "City":{ + "shape":"NonEmptyString", + "documentation":"

        The name of the city.

        " + }, + "Country":{ + "shape":"NonEmptyString", + "documentation":"

        The name of the country.

        " + }, + "Lat":{ + "shape":"Double", + "documentation":"

        The latitude information of the endpoint location.

        " + }, + "Lon":{ + "shape":"Double", + "documentation":"

        The longitude information of the endpoint location.

        " + } + }, + "documentation":"

        Contains information about the location of a network endpoint involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        " + }, "NetworkHeader":{ "type":"structure", "members":{ @@ -20320,6 +20534,32 @@ "type":"list", "member":{"shape":"SensitiveDataResult"} }, + "Sequence":{ + "type":"structure", + "members":{ + "Uid":{ + "shape":"NonEmptyString", + "documentation":"

        Unique identifier of the attack sequence.

        " + }, + "Actors":{ + "shape":"ActorsList", + "documentation":"

        Provides information about the actors involved in the attack sequence.

        " + }, + "Endpoints":{ + "shape":"NetworkEndpointsList", + "documentation":"

        Contains information about the network endpoints that were used in the attack sequence.

        " + }, + "Signals":{ + "shape":"SignalsList", + "documentation":"

        Contains information about the signals involved in the attack sequence.

        " + }, + "SequenceIndicators":{ + "shape":"IndicatorsList", + "documentation":"

        Contains information about the indicators observed in the attack sequence. The values for SignalIndicators are a subset of the values for SequenceIndicators, but the values for these fields don't always match 1:1.

        " + } + }, + "documentation":"

        Contains information about an Amazon GuardDuty Extended Threat Detection attack sequence finding. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        " + }, "Severity":{ "type":"structure", "members":{ @@ -20379,6 +20619,78 @@ }, "documentation":"

        Updates to the severity information for a finding.

        " }, + "Signal":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"NonEmptyString", + "documentation":"

        The type of the signal used to identify an attack sequence.

        Signals can be GuardDuty findings or activities observed in data sources that GuardDuty monitors. For more information, see GuardDuty foundational data sources in the Amazon GuardDuty User Guide.

        A signal type can be one of the following values. Here are the related descriptions:

        • FINDING - Individually generated GuardDuty finding.

        • CLOUD_TRAIL - Activity observed from CloudTrail logs

        • S3_DATA_EVENTS - Activity observed from CloudTrail data events for Amazon Simple Storage Service (S3). Activities associated with this type will show up only when you have enabled GuardDuty S3 Protection feature in your account. For more information about S3 Protection and the steps to enable it, see S3 Protection in the Amazon GuardDuty User Guide.

        " + }, + "Id":{ + "shape":"NonEmptyString", + "documentation":"

        The identifier of the signal.

        " + }, + "Title":{ + "shape":"NonEmptyString", + "documentation":"

        The description of the GuardDuty finding.

        " + }, + "ProductArn":{ + "shape":"NonEmptyString", + "documentation":"

        The Amazon Resource Name (ARN) of the product that generated the signal.

        " + }, + "ResourceIds":{ + "shape":"NonEmptyStringList", + "documentation":"

        The ARN or ID of the Amazon Web Services resource associated with the signal.

        " + }, + "SignalIndicators":{ + "shape":"IndicatorsList", + "documentation":"

        Contains information about the indicators associated with the signals in this attack sequence finding. The values for SignalIndicators are a subset of the values for SequenceIndicators, but the values for these fields don't always match 1:1.

        " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

        The name of the GuardDuty signal. For example, when signal type is FINDING, the signal name is the name of the finding.

        " + }, + "CreatedAt":{ + "shape":"Long", + "documentation":"

        The timestamp when the first finding or activity related to this signal was observed.

        " + }, + "UpdatedAt":{ + "shape":"Long", + "documentation":"

        The timestamp when this signal was last observed.

        " + }, + "FirstSeenAt":{ + "shape":"Long", + "documentation":"

        The timestamp when the first finding or activity related to this signal was observed.

        " + }, + "LastSeenAt":{ + "shape":"Long", + "documentation":"

        The timestamp when the last finding or activity related to this signal was observed.

        " + }, + "Severity":{ + "shape":"Double", + "documentation":"

        The severity associated with the signal. For more information about severity, see Findings severity levels in the Amazon GuardDuty User Guide.

        " + }, + "Count":{ + "shape":"Integer", + "documentation":"

        The number of times this signal was observed.

        " + }, + "ActorIds":{ + "shape":"NonEmptyStringList", + "documentation":"

        The IDs of the threat actors involved in the signal.

        " + }, + "EndpointIds":{ + "shape":"NonEmptyStringList", + "documentation":"

        Information about the endpoint IDs associated with this signal.

        " + } + }, + "documentation":"

        Contains information about the signals involved in an Amazon GuardDuty Extended Threat Detection attack sequence. An attack sequence is a type of threat detected by GuardDuty. GuardDuty generates an attack sequence finding when multiple events, or signals, align to a potentially suspicious activity. When GuardDuty and Security Hub are integrated, GuardDuty sends attack sequence findings to Security Hub.

        A signal can be an API activity or a finding that GuardDuty uses to detect an attack sequence finding.

        " + }, + "SignalsList":{ + "type":"list", + "member":{"shape":"Signal"}, + "max":100, + "min":1 + }, "SizeBytes":{"type":"long"}, "SoftwarePackage":{ "type":"structure", @@ -20916,7 +21228,7 @@ "members":{ "ReasonCode":{ "shape":"NonEmptyString", - "documentation":"

        A code that represents a reason for the control status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the Security Hub User Guide.

        " + "documentation":"

        A code that represents a reason for the control status. For the list of status reason codes and their meanings, see Compliance details for control findings in the Security Hub User Guide.

        " }, "Description":{ "shape":"NonEmptyString", @@ -21656,6 +21968,20 @@ "UPDATING" ] }, + "UserAccount":{ + "type":"structure", + "members":{ + "Uid":{ + "shape":"NonEmptyString", + "documentation":"

        The unique identifier of the user account involved in the attack sequence.

        " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

        The name of the user account involved in the attack sequence.

        " + } + }, + "documentation":"

        Provides Amazon Web Services account information of the user involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

        " + }, "VerificationState":{ "type":"string", "enum":[ diff --git a/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json b/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json index fb236196fe1..85036600deb 100644 --- a/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json +++ b/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json @@ -123,6 +123,23 @@ "documentation":"

        Creates a user and associates them with an existing file transfer protocol-enabled server. You can only create and associate users with servers that have the IdentityProviderType set to SERVICE_MANAGED. Using parameters for CreateUser, you can specify the user name, set the home directory, store the user's public key, and assign the user's Identity and Access Management (IAM) role. You can also optionally add a session policy, and assign metadata with tags that can be used to group and search for users.

        ", "idempotent":true }, + "CreateWebApp":{ + "name":"CreateWebApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWebAppRequest"}, + "output":{"shape":"CreateWebAppResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceError"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Creates a web app based on specified parameters, and returns the ID for the new web app.

        " + }, "CreateWorkflow":{ "name":"CreateWorkflow", "http":{ @@ -285,6 +302,41 @@ "documentation":"

        Deletes the user belonging to a file transfer protocol-enabled server you specify.

        No response returns from this operation.

        When you delete a user from a server, the user's information is lost.

        ", "idempotent":true }, + "DeleteWebApp":{ + "name":"DeleteWebApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWebAppRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceError"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Deletes the specified web app.

        ", + "idempotent":true + }, + "DeleteWebAppCustomization":{ + "name":"DeleteWebAppCustomization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWebAppCustomizationRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceError"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Deletes the WebAppCustomization object that corresponds to the web app ID specified.

        ", + "idempotent":true + }, "DeleteWorkflow":{ "name":"DeleteWorkflow", "http":{ @@ -462,6 +514,40 @@ ], "documentation":"

        Describes the user assigned to the specific file transfer protocol-enabled server, as identified by its ServerId property.

        The response from this call returns the properties of the user associated with the ServerId value that was specified.

        " }, + "DescribeWebApp":{ + "name":"DescribeWebApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeWebAppRequest"}, + "output":{"shape":"DescribeWebAppResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceError"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Describes the web app that's identified by WebAppId.

        " + }, + "DescribeWebAppCustomization":{ + "name":"DescribeWebAppCustomization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeWebAppCustomizationRequest"}, + "output":{"shape":"DescribeWebAppCustomizationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceError"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Describes the web app customization object that's identified by WebAppId.

        " + }, "DescribeWorkflow":{ "name":"DescribeWorkflow", "http":{ @@ -730,6 +816,22 @@ ], "documentation":"

        Lists the users for a file transfer protocol-enabled server that you specify by passing the ServerId parameter.

        " }, + "ListWebApps":{ + "name":"ListWebApps", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWebAppsRequest"}, + "output":{"shape":"ListWebAppsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

        Lists all web apps associated with your Amazon Web Services account for your current region.

        " + }, "ListWorkflows":{ "name":"ListWorkflows", "http":{ @@ -1033,6 +1135,42 @@ {"shape":"ServiceUnavailableException"} ], "documentation":"

        Assigns new properties to a user. Parameters you pass modify any or all of the following: the home directory, role, and policy for the UserName and ServerId you specify.

        The response returns the ServerId and the UserName for the updated user.

        In the console, you can select Restricted when you create or update a user. This ensures that the user can't access anything outside of their home directory. The programmatic way to configure this behavior is to update the user. Set their HomeDirectoryType to LOGICAL, and specify HomeDirectoryMappings with Entry as root (/) and Target as their home directory.

        For example, if the user's home directory is /test/admin-user, the following command updates the user so that their configuration in the console shows the Restricted flag as selected.

        aws transfer update-user --server-id <server-id> --user-name admin-user --home-directory-type LOGICAL --home-directory-mappings \"[{\\\"Entry\\\":\\\"/\\\", \\\"Target\\\":\\\"/test/admin-user\\\"}]\"

        " + }, + "UpdateWebApp":{ + "name":"UpdateWebApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateWebAppRequest"}, + "output":{"shape":"UpdateWebAppResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceError"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Assigns new properties to a web app. You can modify the access point, identity provider details, and the web app units.

        " + }, + "UpdateWebAppCustomization":{ + "name":"UpdateWebAppCustomization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateWebAppCustomizationRequest"}, + "output":{"shape":"UpdateWebAppCustomizationResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceError"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Assigns new customization properties to a web app. You can modify the icon file, logo file, and title.

        " } }, "shapes":{ @@ -1495,7 +1633,7 @@ }, "IdentityProviderDetails":{ "shape":"IdentityProviderDetails", - "documentation":"

        Required when IdentityProviderType is set to AWS_DIRECTORY_SERVICE, Amazon Web Services_LAMBDA or API_GATEWAY. Accepts an array containing all of the information required to use a directory in AWS_DIRECTORY_SERVICE or invoke a customer-supplied authentication API, including the API Gateway URL. Not required when IdentityProviderType is set to SERVICE_MANAGED.

        " + "documentation":"

        Required when IdentityProviderType is set to AWS_DIRECTORY_SERVICE, Amazon Web Services_LAMBDA or API_GATEWAY. Accepts an array containing all of the information required to use a directory in AWS_DIRECTORY_SERVICE or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when IdentityProviderType is set to SERVICE_MANAGED.

        " }, "IdentityProviderType":{ "shape":"IdentityProviderType", @@ -1620,6 +1758,38 @@ } } }, + "CreateWebAppRequest":{ + "type":"structure", + "required":["IdentityProviderDetails"], + "members":{ + "IdentityProviderDetails":{ + "shape":"WebAppIdentityProviderDetails", + "documentation":"

        You can provide a structure that contains the details for the identity provider to use with your web app.

        " + }, + "AccessEndpoint":{ + "shape":"WebAppAccessEndpoint", + "documentation":"

        The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.

        " + }, + "WebAppUnits":{ + "shape":"WebAppUnits", + "documentation":"

        A union that contains the value for number of concurrent connections or the user sessions on your web app.

        " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

        Key-value pairs that can be used to group and search for web apps.

        " + } + } + }, + "CreateWebAppResponse":{ + "type":"structure", + "required":["WebAppId"], + "members":{ + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        Returns a unique identifier for the web app.

        " + } + } + }, "CreateWorkflowRequest":{ "type":"structure", "required":["Steps"], @@ -1868,6 +2038,26 @@ } } }, + "DeleteWebAppCustomizationRequest":{ + "type":"structure", + "required":["WebAppId"], + "members":{ + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        Provide the unique identifier for the web app that contains the customizations that you are deleting.

        " + } + } + }, + "DeleteWebAppRequest":{ + "type":"structure", + "required":["WebAppId"], + "members":{ + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        Provide the unique identifier for the web app that you are deleting.

        " + } + } + }, "DeleteWorkflowRequest":{ "type":"structure", "required":["WorkflowId"], @@ -2134,6 +2324,46 @@ } } }, + "DescribeWebAppCustomizationRequest":{ + "type":"structure", + "required":["WebAppId"], + "members":{ + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        Provide the unique identifier for the web app.

        " + } + } + }, + "DescribeWebAppCustomizationResponse":{ + "type":"structure", + "required":["WebAppCustomization"], + "members":{ + "WebAppCustomization":{ + "shape":"DescribedWebAppCustomization", + "documentation":"

        Returns a structure that contains the details of the web app customizations.

        " + } + } + }, + "DescribeWebAppRequest":{ + "type":"structure", + "required":["WebAppId"], + "members":{ + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        Provide the unique identifier for the web app.

        " + } + } + }, + "DescribeWebAppResponse":{ + "type":"structure", + "required":["WebApp"], + "members":{ + "WebApp":{ + "shape":"DescribedWebApp", + "documentation":"

        Returns a structure that contains the details of the web app.

        " + } + } + }, "DescribeWorkflowRequest":{ "type":"structure", "required":["WorkflowId"], @@ -2412,6 +2642,24 @@ }, "documentation":"

        The details for a server host key.

        " }, + "DescribedIdentityCenterConfig":{ + "type":"structure", + "members":{ + "ApplicationArn":{ + "shape":"IdentityCenterApplicationArn", + "documentation":"

        The Amazon Resource Name (ARN) for the IAM Identity Center application: this value is set automatically when you create your web app.

        " + }, + "InstanceArn":{ + "shape":"IdentityCenterInstanceArn", + "documentation":"

        The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.

        " + }, + "Role":{ + "shape":"Role", + "documentation":"

        The IAM role in IAM Identity Center used for the web app.

        " + } + }, + "documentation":"

        A structure that contains the details of the IAM Identity Center used for your web app. Returned during a call to DescribeWebApp.

        " + }, "DescribedProfile":{ "type":"structure", "required":["Arn"], @@ -2628,6 +2876,85 @@ }, "documentation":"

        Describes the properties of a user that was specified.

        " }, + "DescribedWebApp":{ + "type":"structure", + "required":[ + "Arn", + "WebAppId" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) of the web app.

        " + }, + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        The unique identifier for the web app.

        " + }, + "DescribedIdentityProviderDetails":{ + "shape":"DescribedWebAppIdentityProviderDetails", + "documentation":"

        A structure that contains the details for the identity provider used by the web app.

        " + }, + "AccessEndpoint":{ + "shape":"WebAppAccessEndpoint", + "documentation":"

        The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.

        " + }, + "WebAppEndpoint":{ + "shape":"WebAppEndpoint", + "documentation":"

        The WebAppEndpoint is the unique URL for your Transfer Family web app. This is the value that you use when you configure Origins on CloudFront.

        " + }, + "WebAppUnits":{ + "shape":"WebAppUnits", + "documentation":"

        A union that contains the value for number of concurrent connections or the user sessions on your web app.

        " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

        Key-value pairs that can be used to group and search for web apps. Tags are metadata attached to web apps for any purpose.

        " + } + }, + "documentation":"

        A structure that describes the parameters for the web app, as identified by the WebAppId.

        " + }, + "DescribedWebAppCustomization":{ + "type":"structure", + "required":[ + "Arn", + "WebAppId" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

        Returns the Amazon Resource Name (ARN) for the web app.

        " + }, + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        Returns the unique identifier for your web app.

        " + }, + "Title":{ + "shape":"WebAppTitle", + "documentation":"

        Returns the page title that you defined for your web app.

        " + }, + "LogoFile":{ + "shape":"WebAppLogoFile", + "documentation":"

        Returns a logo file data string (in base64 encoding).

        " + }, + "FaviconFile":{ + "shape":"WebAppFaviconFile", + "documentation":"

        Returns a icon file data string (in base64 encoding).

        " + } + }, + "documentation":"

        A structure that contains the customization fields for the web app. You can provide a title, logo, and icon to customize the appearance of your web app.

        " + }, + "DescribedWebAppIdentityProviderDetails":{ + "type":"structure", + "members":{ + "IdentityCenterConfig":{ + "shape":"DescribedIdentityCenterConfig", + "documentation":"

        Returns a structure for your identity provider details. This structure contains the instance ARN and role being used for the web app.

        " + } + }, + "documentation":"

        Returns a structure that contains the identity provider details for your web app.

        ", + "union":true + }, "DescribedWorkflow":{ "type":"structure", "required":["Arn"], @@ -2949,6 +3276,32 @@ "pattern":"hostkey-[0-9a-f]{17}" }, "HostKeyType":{"type":"string"}, + "IdentityCenterApplicationArn":{ + "type":"string", + "max":1224, + "min":10, + "pattern":"arn:[\\w-]+:sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}" + }, + "IdentityCenterConfig":{ + "type":"structure", + "members":{ + "InstanceArn":{ + "shape":"IdentityCenterInstanceArn", + "documentation":"

        The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.

        " + }, + "Role":{ + "shape":"Role", + "documentation":"

        The IAM role in IAM Identity Center used for the web app.

        " + } + }, + "documentation":"

        A structure that describes the values to use for the IAM Identity Center settings when you create or update a web app.

        " + }, + "IdentityCenterInstanceArn":{ + "type":"string", + "max":1224, + "min":10, + "pattern":"arn:[\\w-]+:sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}" + }, "IdentityProviderDetails":{ "type":"structure", "members":{ @@ -3171,7 +3524,7 @@ "members":{ "MaxResults":{ "shape":"MaxResults", - "documentation":"

        Specifies the maximum number of access SIDs to return.

        " + "documentation":"

        The maximum number of items to return.

        " }, "NextToken":{ "shape":"NextToken", @@ -3210,7 +3563,7 @@ "members":{ "MaxResults":{ "shape":"MaxResults", - "documentation":"

        The maximum number of agreements to return.

        " + "documentation":"

        The maximum number of items to return.

        " }, "NextToken":{ "shape":"NextToken", @@ -3241,7 +3594,7 @@ "members":{ "MaxResults":{ "shape":"MaxResults", - "documentation":"

        The maximum number of certificates to return.

        " + "documentation":"

        The maximum number of items to return.

        " }, "NextToken":{ "shape":"NextToken", @@ -3268,7 +3621,7 @@ "members":{ "MaxResults":{ "shape":"MaxResults", - "documentation":"

        The maximum number of connectors to return.

        " + "documentation":"

        The maximum number of items to return.

        " }, "NextToken":{ "shape":"NextToken", @@ -3296,7 +3649,7 @@ "members":{ "MaxResults":{ "shape":"MaxResults", - "documentation":"

        Specifies the maximum number of executions to return.

        " + "documentation":"

        The maximum number of items to return.

        " }, "NextToken":{ "shape":"NextToken", @@ -3374,7 +3727,7 @@ "members":{ "MaxResults":{ "shape":"MaxResults", - "documentation":"

        The maximum number of host keys to return.

        " + "documentation":"

        The maximum number of items to return.

        " }, "NextToken":{ "shape":"NextToken", @@ -3412,7 +3765,7 @@ "members":{ "MaxResults":{ "shape":"MaxResults", - "documentation":"

        The maximum number of profiles to return.

        " + "documentation":"

        The maximum number of items to return.

        " }, "NextToken":{ "shape":"NextToken", @@ -3566,12 +3919,39 @@ } } }, + "ListWebAppsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum number of items to return.

        " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

        Returns the NextToken parameter in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional web apps.

        " + } + } + }, + "ListWebAppsResponse":{ + "type":"structure", + "required":["WebApps"], + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

        Provide this value for the NextToken parameter in a subsequent command to continue listing additional web apps.

        " + }, + "WebApps":{ + "shape":"ListedWebApps", + "documentation":"

        Returns, for each listed web app, a structure that contains details for the web app.

        " + } + } + }, "ListWorkflowsRequest":{ "type":"structure", "members":{ "MaxResults":{ "shape":"MaxResults", - "documentation":"

        Specifies the maximum number of workflows to return.

        " + "documentation":"

        The maximum number of items to return.

        " }, "NextToken":{ "shape":"NextToken", @@ -3886,6 +4266,36 @@ "type":"list", "member":{"shape":"ListedUser"} }, + "ListedWebApp":{ + "type":"structure", + "required":[ + "Arn", + "WebAppId" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

        The Amazon Resource Name (ARN) for the web app.

        " + }, + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        The unique identifier for the web app.

        " + }, + "AccessEndpoint":{ + "shape":"WebAppAccessEndpoint", + "documentation":"

        The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.

        " + }, + "WebAppEndpoint":{ + "shape":"WebAppEndpoint", + "documentation":"

        The WebAppEndpoint is the unique URL for your Transfer Family web app. This is the value that you use when you configure Origins on CloudFront.

        " + } + }, + "documentation":"

        a structure that contains details for the web app.

        " + }, + "ListedWebApps":{ + "type":"list", + "member":{"shape":"ListedWebApp"} + }, "ListedWorkflow":{ "type":"structure", "members":{ @@ -5234,6 +5644,91 @@ }, "documentation":"

        UpdateUserResponse returns the user name and identifier for the request to update a user's properties.

        " }, + "UpdateWebAppCustomizationRequest":{ + "type":"structure", + "required":["WebAppId"], + "members":{ + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        Provide the identifier of the web app that you are updating.

        " + }, + "Title":{ + "shape":"WebAppTitle", + "documentation":"

        Provide an updated title.

        " + }, + "LogoFile":{ + "shape":"WebAppLogoFile", + "documentation":"

        Specify logo file data string (in base64 encoding).

        " + }, + "FaviconFile":{ + "shape":"WebAppFaviconFile", + "documentation":"

        Specify icon file data string (in base64 encoding).

        " + } + } + }, + "UpdateWebAppCustomizationResponse":{ + "type":"structure", + "required":["WebAppId"], + "members":{ + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        Returns the unique identifier for the web app being updated.

        " + } + } + }, + "UpdateWebAppIdentityCenterConfig":{ + "type":"structure", + "members":{ + "Role":{ + "shape":"Role", + "documentation":"

        The IAM role used to access IAM Identity Center.

        " + } + }, + "documentation":"

        A structure that describes the values to use for the IAM Identity Center settings when you update a web app.

        " + }, + "UpdateWebAppIdentityProviderDetails":{ + "type":"structure", + "members":{ + "IdentityCenterConfig":{ + "shape":"UpdateWebAppIdentityCenterConfig", + "documentation":"

        A structure that describes the values to use for the IAM Identity Center settings when you update a web app.

        " + } + }, + "documentation":"

        A union that contains the UpdateWebAppIdentityCenterConfig object.

        ", + "union":true + }, + "UpdateWebAppRequest":{ + "type":"structure", + "required":["WebAppId"], + "members":{ + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        Provide the identifier of the web app that you are updating.

        " + }, + "IdentityProviderDetails":{ + "shape":"UpdateWebAppIdentityProviderDetails", + "documentation":"

        Provide updated identity provider values in a WebAppIdentityProviderDetails object.

        " + }, + "AccessEndpoint":{ + "shape":"WebAppAccessEndpoint", + "documentation":"

        The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.

        " + }, + "WebAppUnits":{ + "shape":"WebAppUnits", + "documentation":"

        A union that contains the value for number of concurrent connections or the user sessions on your web app.

        " + } + } + }, + "UpdateWebAppResponse":{ + "type":"structure", + "required":["WebAppId"], + "members":{ + "WebAppId":{ + "shape":"WebAppId", + "documentation":"

        Returns the unique identifier for the web app being updated.

        " + } + } + }, "Url":{ "type":"string", "max":255, @@ -5284,6 +5779,66 @@ "pattern":"vpce-[0-9a-f]{17}" }, "VpcId":{"type":"string"}, + "WebAppAccessEndpoint":{ + "type":"string", + "max":1024, + "min":1 + }, + "WebAppEndpoint":{ + "type":"string", + "max":1024, + "min":1 + }, + "WebAppFaviconFile":{ + "type":"blob", + "max":20960, + "min":1, + "sensitive":true + }, + "WebAppId":{ + "type":"string", + "max":24, + "min":24, + "pattern":"webapp-[0-9a-f]{17}" + }, + "WebAppIdentityProviderDetails":{ + "type":"structure", + "members":{ + "IdentityCenterConfig":{ + "shape":"IdentityCenterConfig", + "documentation":"

        A structure that describes the values to use for the IAM Identity Center settings when you create a web app.

        " + } + }, + "documentation":"

        A union that contains the IdentityCenterConfig object.

        ", + "union":true + }, + "WebAppLogoFile":{ + "type":"blob", + "max":51200, + "min":1, + "sensitive":true + }, + "WebAppTitle":{ + "type":"string", + "max":100, + "min":0 + }, + "WebAppUnitCount":{ + "type":"integer", + "box":true, + "min":1 + }, + "WebAppUnits":{ + "type":"structure", + "members":{ + "Provisioned":{ + "shape":"WebAppUnitCount", + "documentation":"

        An integer that represents the number of units for your desired number of concurrent connections, or the number of user sessions on your web app at the same time.

        Each increment allows an additional 250 concurrent sessions: a value of 1 sets the number of concurrent sessions to 250; 2 sets a value of 500, and so on.

        " + } + }, + "documentation":"

        Contains an integer value that represents the value for number of concurrent connections or the user sessions on your web app.

        ", + "union":true + }, "WorkflowDescription":{ "type":"string", "max":256, diff --git a/tools/code-generation/api-descriptions/vpc-lattice-2022-11-30.normal.json b/tools/code-generation/api-descriptions/vpc-lattice-2022-11-30.normal.json index 28db837d08d..45c9fa76b5e 100644 --- a/tools/code-generation/api-descriptions/vpc-lattice-2022-11-30.normal.json +++ b/tools/code-generation/api-descriptions/vpc-lattice-2022-11-30.normal.json @@ -5,11 +5,13 @@ "endpointPrefix":"vpc-lattice", "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceFullName":"Amazon VPC Lattice", "serviceId":"VPC Lattice", "signatureVersion":"v4", "signingName":"vpc-lattice", - "uid":"vpc-lattice-2022-11-30" + "uid":"vpc-lattice-2022-11-30", + "auth":["aws.auth#sigv4"] }, "operations":{ "BatchUpdateRule":{ @@ -73,6 +75,48 @@ "documentation":"

        Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. For more information, see Listeners in the Amazon VPC Lattice User Guide.

        ", "idempotent":true }, + "CreateResourceConfiguration":{ + "name":"CreateResourceConfiguration", + "http":{ + "method":"POST", + "requestUri":"/resourceconfigurations", + "responseCode":201 + }, + "input":{"shape":"CreateResourceConfigurationRequest"}, + "output":{"shape":"CreateResourceConfigurationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Creates a resource configuration. A resource configuration defines a specific resource. You can associate a resource configuration with a service network or a VPC endpoint.

        ", + "idempotent":true + }, + "CreateResourceGateway":{ + "name":"CreateResourceGateway", + "http":{ + "method":"POST", + "requestUri":"/resourcegateways", + "responseCode":201 + }, + "input":{"shape":"CreateResourceGatewayRequest"}, + "output":{"shape":"CreateResourceGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Creates a resource gateway.

        ", + "idempotent":true + }, "CreateRule":{ "name":"CreateRule", "http":{ @@ -136,6 +180,27 @@ "documentation":"

        Creates a service network. A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network.

        For more information, see Service networks in the Amazon VPC Lattice User Guide.

        ", "idempotent":true }, + "CreateServiceNetworkResourceAssociation":{ + "name":"CreateServiceNetworkResourceAssociation", + "http":{ + "method":"POST", + "requestUri":"/servicenetworkresourceassociations", + "responseCode":201 + }, + "input":{"shape":"CreateServiceNetworkResourceAssociationRequest"}, + "output":{"shape":"CreateServiceNetworkResourceAssociationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Associates the specified service network with the specified resource configuration. This allows the resource configuration to receive connections through the service network, including through a service network VPC endpoint.

        ", + "idempotent":true + }, "CreateServiceNetworkServiceAssociation":{ "name":"CreateServiceNetworkServiceAssociation", "http":{ @@ -154,7 +219,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Associates a service with a service network. For more information, see Manage service associations in the Amazon VPC Lattice User Guide.

        You can't use this operation if the service and service network are already associated or if there is a disassociation or deletion in progress. If the association fails, you can retry the operation by deleting the association and recreating it.

        You cannot associate a service and service network that are shared with a caller. The caller must own either the service or the service network.

        As a result of this operation, the association is created in the service network account and the association owner account.

        ", + "documentation":"

        Associates the specified service with the specified service network. For more information, see Manage service associations in the Amazon VPC Lattice User Guide.

        You can't use this operation if the service and service network are already associated or if there is a disassociation or deletion in progress. If the association fails, you can retry the operation by deleting the association and recreating it.

        You cannot associate a service and service network that are shared with a caller. The caller must own either the service or the service network.

        As a result of this operation, the association is created in the service network account and the association owner account.

        ", "idempotent":true }, "CreateServiceNetworkVpcAssociation":{ @@ -257,6 +322,65 @@ "documentation":"

        Deletes the specified listener.

        ", "idempotent":true }, + "DeleteResourceConfiguration":{ + "name":"DeleteResourceConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/resourceconfigurations/{resourceConfigurationIdentifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteResourceConfigurationRequest"}, + "output":{"shape":"DeleteResourceConfigurationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Deletes the specified resource configuration.

        ", + "idempotent":true + }, + "DeleteResourceEndpointAssociation":{ + "name":"DeleteResourceEndpointAssociation", + "http":{ + "method":"DELETE", + "requestUri":"/resourceendpointassociations/{resourceEndpointAssociationIdentifier}", + "responseCode":200 + }, + "input":{"shape":"DeleteResourceEndpointAssociationRequest"}, + "output":{"shape":"DeleteResourceEndpointAssociationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Disassociates the resource configuration from the resource VPC endpoint.

        ", + "idempotent":true + }, + "DeleteResourceGateway":{ + "name":"DeleteResourceGateway", + "http":{ + "method":"DELETE", + "requestUri":"/resourcegateways/{resourceGatewayIdentifier}", + "responseCode":200 + }, + "input":{"shape":"DeleteResourceGatewayRequest"}, + "output":{"shape":"DeleteResourceGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Deletes the specified resource gateway.

        ", + "idempotent":true + }, "DeleteResourcePolicy":{ "name":"DeleteResourcePolicy", "http":{ @@ -336,6 +460,26 @@ "documentation":"

        Deletes a service network. You can only delete the service network if there is no service or VPC associated with it. If you delete a service network, all resources related to the service network, such as the resource policy, auth policy, and access log subscriptions, are also deleted. For more information, see Delete a service network in the Amazon VPC Lattice User Guide.

        ", "idempotent":true }, + "DeleteServiceNetworkResourceAssociation":{ + "name":"DeleteServiceNetworkResourceAssociation", + "http":{ + "method":"DELETE", + "requestUri":"/servicenetworkresourceassociations/{serviceNetworkResourceAssociationIdentifier}", + "responseCode":200 + }, + "input":{"shape":"DeleteServiceNetworkResourceAssociationRequest"}, + "output":{"shape":"DeleteServiceNetworkResourceAssociationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Deletes the association between a service network and a resource configuration.

        ", + "idempotent":true + }, "DeleteServiceNetworkServiceAssociation":{ "name":"DeleteServiceNetworkServiceAssociation", "http":{ @@ -353,7 +497,7 @@ {"shape":"ConflictException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Deletes the association between a specified service and the specific service network. This operation fails if an association is still in progress.

        ", + "documentation":"

        Deletes the association between a service and a service network. This operation fails if an association is still in progress.

        ", "idempotent":true }, "DeleteServiceNetworkVpcAssociation":{ @@ -469,6 +613,42 @@ ], "documentation":"

        Retrieves information about the specified listener for the specified service.

        " }, + "GetResourceConfiguration":{ + "name":"GetResourceConfiguration", + "http":{ + "method":"GET", + "requestUri":"/resourceconfigurations/{resourceConfigurationIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetResourceConfigurationRequest"}, + "output":{"shape":"GetResourceConfigurationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Retrieves information about the specified resource configuration.

        " + }, + "GetResourceGateway":{ + "name":"GetResourceGateway", + "http":{ + "method":"GET", + "requestUri":"/resourcegateways/{resourceGatewayIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetResourceGatewayRequest"}, + "output":{"shape":"GetResourceGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Retrieves information about the specified resource gateway.

        " + }, "GetResourcePolicy":{ "name":"GetResourcePolicy", "http":{ @@ -485,7 +665,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Retrieves information about the resource policy. The resource policy is an IAM policy created on behalf of the resource owner when they share a resource.

        " + "documentation":"

        Retrieves information about the specified resource policy. The resource policy is an IAM policy created on behalf of the resource owner when they share a resource.

        " }, "GetRule":{ "name":"GetRule", @@ -503,7 +683,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Retrieves information about listener rules. You can also retrieve information about the default listener rule. For more information, see Listener rules in the Amazon VPC Lattice User Guide.

        " + "documentation":"

        Retrieves information about the specified listener rules. You can also retrieve information about the default listener rule. For more information, see Listener rules in the Amazon VPC Lattice User Guide.

        " }, "GetService":{ "name":"GetService", @@ -541,6 +721,24 @@ ], "documentation":"

        Retrieves information about the specified service network.

        " }, + "GetServiceNetworkResourceAssociation":{ + "name":"GetServiceNetworkResourceAssociation", + "http":{ + "method":"GET", + "requestUri":"/servicenetworkresourceassociations/{serviceNetworkResourceAssociationIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetServiceNetworkResourceAssociationRequest"}, + "output":{"shape":"GetServiceNetworkResourceAssociationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Retrieves information about the specified association between a service network and a resource configuration.

        " + }, "GetServiceNetworkServiceAssociation":{ "name":"GetServiceNetworkServiceAssociation", "http":{ @@ -575,7 +773,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Retrieves information about the association between a service network and a VPC.

        " + "documentation":"

        Retrieves information about the specified association between a service network and a VPC.

        " }, "GetTargetGroup":{ "name":"GetTargetGroup", @@ -610,7 +808,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Lists all access log subscriptions for the specified service network or service.

        " + "documentation":"

        Lists the access log subscriptions for the specified service network or service.

        " }, "ListListeners":{ "name":"ListListeners", @@ -630,6 +828,57 @@ ], "documentation":"

        Lists the listeners for the specified service.

        " }, + "ListResourceConfigurations":{ + "name":"ListResourceConfigurations", + "http":{ + "method":"GET", + "requestUri":"/resourceconfigurations", + "responseCode":200 + }, + "input":{"shape":"ListResourceConfigurationsRequest"}, + "output":{"shape":"ListResourceConfigurationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Lists the resource configurations owned by or shared with this account.

        " + }, + "ListResourceEndpointAssociations":{ + "name":"ListResourceEndpointAssociations", + "http":{ + "method":"GET", + "requestUri":"/resourceendpointassociations", + "responseCode":200 + }, + "input":{"shape":"ListResourceEndpointAssociationsRequest"}, + "output":{"shape":"ListResourceEndpointAssociationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Lists the associations for the specified VPC endpoint.

        " + }, + "ListResourceGateways":{ + "name":"ListResourceGateways", + "http":{ + "method":"GET", + "requestUri":"/resourcegateways", + "responseCode":200 + }, + "input":{"shape":"ListResourceGatewaysRequest"}, + "output":{"shape":"ListResourceGatewaysResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Lists the resource gateways that you own or that were shared with you.

        " + }, "ListRules":{ "name":"ListRules", "http":{ @@ -646,7 +895,24 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Lists the rules for the listener.

        " + "documentation":"

        Lists the rules for the specified listener.

        " + }, + "ListServiceNetworkResourceAssociations":{ + "name":"ListServiceNetworkResourceAssociations", + "http":{ + "method":"GET", + "requestUri":"/servicenetworkresourceassociations", + "responseCode":200 + }, + "input":{"shape":"ListServiceNetworkResourceAssociationsRequest"}, + "output":{"shape":"ListServiceNetworkResourceAssociationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Lists the associations between a service network and a resource configuration.

        " }, "ListServiceNetworkServiceAssociations":{ "name":"ListServiceNetworkServiceAssociations", @@ -663,7 +929,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Lists the associations between the service network and the service. You can filter the list either by service or service network. You must provide either the service network identifier or the service identifier.

        Every association in Amazon VPC Lattice is given a unique Amazon Resource Name (ARN), such as when a service network is associated with a VPC or when a service is associated with a service network. If the association is for a resource that is shared with another account, the association includes the local account ID as the prefix in the ARN for each account the resource is shared with.

        " + "documentation":"

        Lists the associations between a service network and a service. You can filter the list either by service or service network. You must provide either the service network identifier or the service identifier.

        Every association in Amazon VPC Lattice has a unique Amazon Resource Name (ARN), such as when a service network is associated with a VPC or when a service is associated with a service network. If the association is for a resource is shared with another account, the association includes the local account ID as the prefix in the ARN.

        " }, "ListServiceNetworkVpcAssociations":{ "name":"ListServiceNetworkVpcAssociations", @@ -680,7 +946,24 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Lists the service network and VPC associations. You can filter the list either by VPC or service network. You must provide either the service network identifier or the VPC identifier.

        " + "documentation":"

        Lists the associations between a service network and a VPC. You can filter the list either by VPC or service network. You must provide either the ID of the service network identifier or the ID of the VPC.

        " + }, + "ListServiceNetworkVpcEndpointAssociations":{ + "name":"ListServiceNetworkVpcEndpointAssociations", + "http":{ + "method":"GET", + "requestUri":"/servicenetworkvpcendpointassociations", + "responseCode":200 + }, + "input":{"shape":"ListServiceNetworkVpcEndpointAssociationsRequest"}, + "output":{"shape":"ListServiceNetworkVpcEndpointAssociationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Lists the associations between a service network and a VPC endpoint.

        " }, "ListServiceNetworks":{ "name":"ListServiceNetworks", @@ -697,7 +980,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Lists the service networks owned by the caller account or shared with the caller account. Also includes the account ID in the ARN to show which account owns the service network.

        " + "documentation":"

        Lists the service networks owned by or shared with this account. The account ID in the ARN shows which account owns the service network.

        " }, "ListServices":{ "name":"ListServices", @@ -896,11 +1179,49 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], "documentation":"

        Updates the specified listener for the specified service.

        ", "idempotent":true }, + "UpdateResourceConfiguration":{ + "name":"UpdateResourceConfiguration", + "http":{ + "method":"PATCH", + "requestUri":"/resourceconfigurations/{resourceConfigurationIdentifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateResourceConfigurationRequest"}, + "output":{"shape":"UpdateResourceConfigurationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Updates the specified resource configuration.

        " + }, + "UpdateResourceGateway":{ + "name":"UpdateResourceGateway", + "http":{ + "method":"PATCH", + "requestUri":"/resourcegateways/{resourceGatewayIdentifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateResourceGatewayRequest"}, + "output":{"shape":"UpdateResourceGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

        Updates the specified resource gateway.

        " + }, "UpdateRule":{ "name":"UpdateRule", "http":{ @@ -916,9 +1237,10 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Updates a rule for the listener. You can't modify a default listener rule. To modify a default listener rule, use UpdateListener.

        ", + "documentation":"

        Updates a specified rule for the listener. You can't modify a default listener rule. To modify a default listener rule, use UpdateListener.

        ", "idempotent":true }, "UpdateService":{ @@ -936,6 +1258,7 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], "documentation":"

        Updates the specified service.

        " @@ -977,7 +1300,7 @@ {"shape":"ConflictException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Updates the service network and VPC association. If you add a security group to the service network and VPC association, the association must continue to always have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and recreate it without security groups.

        ", + "documentation":"

        Updates the service network and VPC association. If you add a security group to the service network and VPC association, the association must continue to have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and then recreate it without security groups.

        ", "idempotent":true }, "UpdateTargetGroup":{ @@ -995,6 +1318,7 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], "documentation":"

        Updates the specified target group.

        ", @@ -1061,7 +1385,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the access log subscription was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the access log subscription was created, in ISO-8601 format.

        " }, "destinationArn":{ "shape":"AccessLogDestinationArn", @@ -1073,7 +1397,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the access log subscription was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the access log subscription was last updated, in ISO-8601 format.

        " }, "resourceArn":{ "shape":"ResourceArn", @@ -1082,6 +1406,10 @@ "resourceId":{ "shape":"ResourceId", "documentation":"

        The ID of the service or service network.

        " + }, + "serviceNetworkLogType":{ + "shape":"ServiceNetworkLogType", + "documentation":"

        Log type of the service network.

        " } }, "documentation":"

        Summary information about an access log subscription.

        " @@ -1098,6 +1426,16 @@ "min":0, "pattern":"^arn:[a-z0-9][-.a-z0-9]{0,62}:vpc-lattice:([a-z0-9][-.a-z0-9]{0,62})?:\\d{12}?:[^/].{0,1023}$" }, + "ArnResource":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"WildcardArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource.

        " + } + }, + "documentation":"

        The Amazon Resource Name (ARN) of the resource.

        " + }, "AuthPolicyState":{ "type":"string", "enum":[ @@ -1127,7 +1465,7 @@ "members":{ "listenerIdentifier":{ "shape":"ListenerIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the listener.

        ", + "documentation":"

        The ID or ARN of the listener.

        ", "location":"uri", "locationName":"listenerIdentifier" }, @@ -1137,7 +1475,7 @@ }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -1215,7 +1553,11 @@ }, "resourceIdentifier":{ "shape":"ResourceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service network or service.

        " + "documentation":"

        The ID or ARN of the service network or service.

        " + }, + "serviceNetworkLogType":{ + "shape":"ServiceNetworkLogType", + "documentation":"

        The type of log that monitors your Amazon VPC Lattice service networks.

        " }, "tags":{ "shape":"TagMap", @@ -1252,6 +1594,10 @@ "resourceId":{ "shape":"ResourceId", "documentation":"

        The ID of the service network or service.

        " + }, + "serviceNetworkLogType":{ + "shape":"ServiceNetworkLogType", + "documentation":"

        The type of log that monitors your Amazon VPC Lattice service networks.

        " } } }, @@ -1287,7 +1633,7 @@ }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" }, @@ -1334,47 +1680,236 @@ } } }, - "CreateRuleRequest":{ + "CreateResourceConfigurationRequest":{ "type":"structure", "required":[ - "action", - "listenerIdentifier", - "match", "name", - "priority", - "serviceIdentifier" + "type" ], "members":{ - "action":{ - "shape":"RuleAction", - "documentation":"

        The action for the default rule.

        " + "allowAssociationToShareableServiceNetwork":{ + "shape":"Boolean", + "documentation":"

        (SINGLE, GROUP, ARN) Specifies whether the resource configuration can be associated with a sharable service network. The default is false.

        " }, "clientToken":{ "shape":"ClientToken", "documentation":"

        A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

        ", "idempotencyToken":true }, - "listenerIdentifier":{ - "shape":"ListenerIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the listener.

        ", - "location":"uri", - "locationName":"listenerIdentifier" + "name":{ + "shape":"ResourceConfigurationName", + "documentation":"

        The name of the resource configuration. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

        " }, - "match":{ - "shape":"RuleMatch", - "documentation":"

        The rule match.

        " + "portRanges":{ + "shape":"PortRangeList", + "documentation":"

        (SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535). You can separate port ranges using commas (for example: 1,2,22-30).

        " }, - "name":{ - "shape":"RuleName", - "documentation":"

        The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

        " + "protocol":{ + "shape":"ProtocolType", + "documentation":"

        (SINGLE, GROUP) The protocol accepted by the resource configuration.

        " }, - "priority":{ - "shape":"RulePriority", - "documentation":"

        The priority assigned to the rule. Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.

        " + "resourceConfigurationDefinition":{ + "shape":"ResourceConfigurationDefinition", + "documentation":"

        (SINGLE, CHILD, ARN) The resource configuration.

        " }, - "serviceIdentifier":{ + "resourceConfigurationGroupIdentifier":{ + "shape":"ResourceConfigurationIdentifier", + "documentation":"

        (CHILD) The ID or ARN of the parent resource configuration (type is GROUP). This is used to associate a child resource configuration with a group resource configuration.

        " + }, + "resourceGatewayIdentifier":{ + "shape":"ResourceGatewayIdentifier", + "documentation":"

        (SINGLE, GROUP, ARN) The ID or ARN of the resource gateway used to connect to the resource configuration. For a child resource configuration, this value is inherited from the parent resource configuration.

        " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for the resource configuration.

        " + }, + "type":{ + "shape":"ResourceConfigurationType", + "documentation":"

        The type of resource configuration.

        • SINGLE - A single resource.

        • GROUP - A group of resources. You must create a group resource configuration before you create a child resource configuration.

        • CHILD - A single resource that is part of a group resource configuration.

        • ARN - An Amazon Web Services resource.

        " + } + } + }, + "CreateResourceConfigurationResponse":{ + "type":"structure", + "members":{ + "allowAssociationToShareableServiceNetwork":{ + "shape":"Boolean", + "documentation":"

        Specifies whether the resource configuration can be associated with a sharable service network.

        " + }, + "arn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource configuration.

        " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

        The date and time that the resource configuration was created, in ISO-8601 format.

        " + }, + "failureReason":{ + "shape":"String", + "documentation":"

        The reason that the request failed.

        " + }, + "id":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the resource configuration.

        " + }, + "name":{ + "shape":"ResourceConfigurationName", + "documentation":"

        The name of the resource configuration.

        " + }, + "portRanges":{ + "shape":"PortRangeList", + "documentation":"

        The port range.

        " + }, + "protocol":{ + "shape":"ProtocolType", + "documentation":"

        The protocol.

        " + }, + "resourceConfigurationDefinition":{ + "shape":"ResourceConfigurationDefinition", + "documentation":"

        The resource configuration.

        " + }, + "resourceConfigurationGroupId":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the parent resource configuration (type is GROUP).

        " + }, + "resourceGatewayId":{ + "shape":"ResourceGatewayId", + "documentation":"

        The ID of the resource gateway associated with the resource configuration.

        " + }, + "status":{ + "shape":"ResourceConfigurationStatus", + "documentation":"

        The current status of the resource configuration.

        " + }, + "type":{ + "shape":"ResourceConfigurationType", + "documentation":"

        The type of resource configuration.

        " + } + } + }, + "CreateResourceGatewayRequest":{ + "type":"structure", + "required":[ + "name", + "subnetIds", + "vpcIdentifier" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

        A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

        ", + "idempotencyToken":true + }, + "ipAddressType":{ + "shape":"ResourceGatewayIpAddressType", + "documentation":"

        The type of IP address used by the resource gateway.

        " + }, + "name":{ + "shape":"ResourceGatewayName", + "documentation":"

        The name of the resource gateway.

        " + }, + "securityGroupIds":{ + "shape":"CreateResourceGatewayRequestSecurityGroupIdsList", + "documentation":"

        The IDs of the security groups to apply to the resource gateway. The security groups must be in the same VPC.

        " + }, + "subnetIds":{ + "shape":"SubnetList", + "documentation":"

        The IDs of the VPC subnets in which to create the resource gateway.

        " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for the resource gateway.

        " + }, + "vpcIdentifier":{ + "shape":"VpcId", + "documentation":"

        The ID of the VPC for the resource gateway.

        " + } + } + }, + "CreateResourceGatewayRequestSecurityGroupIdsList":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":0 + }, + "CreateResourceGatewayResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ResourceGatewayArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource gateway.

        " + }, + "id":{ + "shape":"ResourceGatewayId", + "documentation":"

        The ID of the resource gateway.

        " + }, + "ipAddressType":{ + "shape":"ResourceGatewayIpAddressType", + "documentation":"

        The type of IP address for the resource gateway.

        " + }, + "name":{ + "shape":"ResourceGatewayName", + "documentation":"

        The name of the resource gateway.

        " + }, + "securityGroupIds":{ + "shape":"SecurityGroupList", + "documentation":"

        The IDs of the security groups for the resource gateway.

        " + }, + "status":{ + "shape":"ResourceGatewayStatus", + "documentation":"

        The status of the resource gateway.

        " + }, + "subnetIds":{ + "shape":"SubnetList", + "documentation":"

        The IDs of the resource gateway subnets.

        " + }, + "vpcIdentifier":{ + "shape":"VpcId", + "documentation":"

        The ID of the VPC.

        " + } + } + }, + "CreateRuleRequest":{ + "type":"structure", + "required":[ + "action", + "listenerIdentifier", + "match", + "name", + "priority", + "serviceIdentifier" + ], + "members":{ + "action":{ + "shape":"RuleAction", + "documentation":"

        The action for the default rule.

        " + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

        A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

        ", + "idempotencyToken":true + }, + "listenerIdentifier":{ + "shape":"ListenerIdentifier", + "documentation":"

        The ID or ARN of the listener.

        ", + "location":"uri", + "locationName":"listenerIdentifier" + }, + "match":{ + "shape":"RuleMatch", + "documentation":"

        The rule match.

        " + }, + "name":{ + "shape":"RuleName", + "documentation":"

        The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

        " + }, + "priority":{ + "shape":"RulePriority", + "documentation":"

        The priority assigned to the rule. Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.

        " + }, + "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" }, @@ -1430,12 +1965,63 @@ "shape":"ServiceNetworkName", "documentation":"

        The name of the service network. The name must be unique to the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

        " }, + "sharingConfig":{ + "shape":"SharingConfig", + "documentation":"

        Specify if the service network should be enabled for sharing.

        " + }, "tags":{ "shape":"TagMap", "documentation":"

        The tags for the service network.

        " } } }, + "CreateServiceNetworkResourceAssociationRequest":{ + "type":"structure", + "required":[ + "resourceConfigurationIdentifier", + "serviceNetworkIdentifier" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

        A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

        ", + "idempotencyToken":true + }, + "resourceConfigurationIdentifier":{ + "shape":"ResourceConfigurationIdentifier", + "documentation":"

        The ID of the resource configuration to associate with the service network.

        " + }, + "serviceNetworkIdentifier":{ + "shape":"ServiceNetworkIdentifierWithoutRegex", + "documentation":"

        The ID of the service network to associate with the resource configuration.

        " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

        The tags for the association.

        " + } + } + }, + "CreateServiceNetworkResourceAssociationResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ServiceNetworkResourceAssociationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the association.

        " + }, + "createdBy":{ + "shape":"AccountId", + "documentation":"

        The ID of the account that created the association.

        " + }, + "id":{ + "shape":"ServiceNetworkResourceAssociationId", + "documentation":"

        The ID of the association.

        " + }, + "status":{ + "shape":"ServiceNetworkResourceAssociationStatus", + "documentation":"

        The status of the association.

        " + } + } + }, "CreateServiceNetworkResponse":{ "type":"structure", "members":{ @@ -1454,6 +2040,10 @@ "name":{ "shape":"ServiceNetworkName", "documentation":"

        The name of the service network.

        " + }, + "sharingConfig":{ + "shape":"SharingConfig", + "documentation":"

        Specifies if the service network is enabled for sharing.

        " } } }, @@ -1471,11 +2061,11 @@ }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        " + "documentation":"

        The ID or ARN of the service.

        " }, "serviceNetworkIdentifier":{ "shape":"ServiceNetworkIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service network. You must use the ARN if the resources specified in the operation are in different accounts.

        " + "documentation":"

        The ID or ARN of the service network. You must use an ARN if the resources are in different accounts.

        " }, "tags":{ "shape":"TagMap", @@ -1530,7 +2120,7 @@ }, "serviceNetworkIdentifier":{ "shape":"ServiceNetworkIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service network. You must use the ARN when the resources specified in the operation are in different accounts.

        " + "documentation":"

        The ID or ARN of the service network. You must use an ARN if the resources are in different accounts.

        " }, "tags":{ "shape":"TagMap", @@ -1706,7 +2296,7 @@ "members":{ "accessLogSubscriptionIdentifier":{ "shape":"AccessLogSubscriptionIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the access log subscription.

        ", + "documentation":"

        The ID or ARN of the access log subscription.

        ", "location":"uri", "locationName":"accessLogSubscriptionIdentifier" } @@ -1723,7 +2313,7 @@ "members":{ "resourceIdentifier":{ "shape":"ResourceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the resource.

        ", + "documentation":"

        The ID or ARN of the resource.

        ", "location":"uri", "locationName":"resourceIdentifier" } @@ -1743,13 +2333,13 @@ "members":{ "listenerIdentifier":{ "shape":"ListenerIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the listener.

        ", + "documentation":"

        The ID or ARN of the listener.

        ", "location":"uri", "locationName":"listenerIdentifier" }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -1760,6 +2350,93 @@ "members":{ } }, + "DeleteResourceConfigurationRequest":{ + "type":"structure", + "required":["resourceConfigurationIdentifier"], + "members":{ + "resourceConfigurationIdentifier":{ + "shape":"ResourceConfigurationIdentifier", + "documentation":"

        The ID or ARN of the resource configuration.

        ", + "location":"uri", + "locationName":"resourceConfigurationIdentifier" + } + } + }, + "DeleteResourceConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteResourceEndpointAssociationRequest":{ + "type":"structure", + "required":["resourceEndpointAssociationIdentifier"], + "members":{ + "resourceEndpointAssociationIdentifier":{ + "shape":"ResourceEndpointAssociationIdentifier", + "documentation":"

        The ID or ARN of the association.

        ", + "location":"uri", + "locationName":"resourceEndpointAssociationIdentifier" + } + } + }, + "DeleteResourceEndpointAssociationResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ResourceEndpointAssociationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the association.

        " + }, + "id":{ + "shape":"ResourceEndpointAssociationId", + "documentation":"

        The ID of the association.

        " + }, + "resourceConfigurationArn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource configuration associated with the VPC endpoint of type resource.

        " + }, + "resourceConfigurationId":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the resource configuration.

        " + }, + "vpcEndpointId":{ + "shape":"VpcEndpointId", + "documentation":"

        The ID of the resource VPC endpoint that is associated with the resource configuration.

        " + } + } + }, + "DeleteResourceGatewayRequest":{ + "type":"structure", + "required":["resourceGatewayIdentifier"], + "members":{ + "resourceGatewayIdentifier":{ + "shape":"ResourceGatewayIdentifier", + "documentation":"

        The ID or ARN of the resource gateway.

        ", + "location":"uri", + "locationName":"resourceGatewayIdentifier" + } + } + }, + "DeleteResourceGatewayResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ResourceGatewayArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource gateway.

        " + }, + "id":{ + "shape":"ResourceGatewayId", + "documentation":"

        The ID of the resource gateway.

        " + }, + "name":{ + "shape":"ResourceGatewayName", + "documentation":"

        The name of the resource gateway.

        " + }, + "status":{ + "shape":"ResourceGatewayStatus", + "documentation":"

        The status of the resource gateway.

        " + } + } + }, "DeleteResourcePolicyRequest":{ "type":"structure", "required":["resourceArn"], @@ -1787,19 +2464,19 @@ "members":{ "listenerIdentifier":{ "shape":"ListenerIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the listener.

        ", + "documentation":"

        The ID or ARN of the listener.

        ", "location":"uri", "locationName":"listenerIdentifier" }, "ruleIdentifier":{ "shape":"RuleIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the rule.

        ", + "documentation":"

        The ID or ARN of the rule.

        ", "location":"uri", "locationName":"ruleIdentifier" }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -1816,12 +2493,41 @@ "members":{ "serviceNetworkIdentifier":{ "shape":"ServiceNetworkIdentifier", - "documentation":"

        The Amazon Resource Name (ARN) or ID of the service network.

        ", + "documentation":"

        The ID or ARN of the service network.

        ", "location":"uri", "locationName":"serviceNetworkIdentifier" } } }, + "DeleteServiceNetworkResourceAssociationRequest":{ + "type":"structure", + "required":["serviceNetworkResourceAssociationIdentifier"], + "members":{ + "serviceNetworkResourceAssociationIdentifier":{ + "shape":"ServiceNetworkResourceAssociationIdentifier", + "documentation":"

        The ID of the association.

        ", + "location":"uri", + "locationName":"serviceNetworkResourceAssociationIdentifier" + } + } + }, + "DeleteServiceNetworkResourceAssociationResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ServiceNetworkResourceAssociationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the association.

        " + }, + "id":{ + "shape":"ServiceNetworkResourceAssociationId", + "documentation":"

        The ID of the association.

        " + }, + "status":{ + "shape":"ServiceNetworkResourceAssociationStatus", + "documentation":"

        The status of the association.

        " + } + } + }, "DeleteServiceNetworkResponse":{ "type":"structure", "members":{ @@ -1833,7 +2539,7 @@ "members":{ "serviceNetworkServiceAssociationIdentifier":{ "shape":"ServiceNetworkServiceAssociationIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the association.

        ", + "documentation":"

        The ID or ARN of the association.

        ", "location":"uri", "locationName":"serviceNetworkServiceAssociationIdentifier" } @@ -1862,7 +2568,7 @@ "members":{ "serviceNetworkVpcAssociationIdentifier":{ "shape":"ServiceNetworkVpcAssociationIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the association.

        ", + "documentation":"

        The ID or ARN of the association.

        ", "location":"uri", "locationName":"serviceNetworkVpcAssociationIdentifier" } @@ -1891,7 +2597,7 @@ "members":{ "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -1924,7 +2630,7 @@ "members":{ "targetGroupIdentifier":{ "shape":"TargetGroupIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the target group.

        ", + "documentation":"

        The ID or ARN of the target group.

        ", "location":"uri", "locationName":"targetGroupIdentifier" } @@ -1956,7 +2662,7 @@ "members":{ "targetGroupIdentifier":{ "shape":"TargetGroupIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the target group.

        ", + "documentation":"

        The ID or ARN of the target group.

        ", "location":"uri", "locationName":"targetGroupIdentifier" }, @@ -1999,6 +2705,25 @@ }, "documentation":"

        Describes the DNS information of a service.

        " }, + "DnsResource":{ + "type":"structure", + "members":{ + "domainName":{ + "shape":"DomainName", + "documentation":"

        The domain name of the resource.

        " + }, + "ipAddressType":{ + "shape":"ResourceConfigurationIpAddressType", + "documentation":"

        The type of IP address.

        " + } + }, + "documentation":"

        The DNS name of the resource.

        " + }, + "DomainName":{ + "type":"string", + "max":255, + "min":3 + }, "FailureCode":{"type":"string"}, "FailureMessage":{"type":"string"}, "FixedResponseAction":{ @@ -2029,7 +2754,7 @@ "members":{ "accessLogSubscriptionIdentifier":{ "shape":"AccessLogSubscriptionIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the access log subscription.

        ", + "documentation":"

        The ID or ARN of the access log subscription.

        ", "location":"uri", "locationName":"accessLogSubscriptionIdentifier" } @@ -2053,7 +2778,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the access log subscription was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the access log subscription was created, in ISO-8601 format.

        " }, "destinationArn":{ "shape":"AccessLogDestinationArn", @@ -2065,7 +2790,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the access log subscription was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the access log subscription was last updated, in ISO-8601 format.

        " }, "resourceArn":{ "shape":"ResourceArn", @@ -2074,6 +2799,10 @@ "resourceId":{ "shape":"ResourceId", "documentation":"

        The ID of the service network or service.

        " + }, + "serviceNetworkLogType":{ + "shape":"ServiceNetworkLogType", + "documentation":"

        The log type for the service network.

        " } } }, @@ -2083,7 +2812,7 @@ "members":{ "resourceIdentifier":{ "shape":"ResourceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service network or service.

        ", + "documentation":"

        The ID or ARN of the service network or service.

        ", "location":"uri", "locationName":"resourceIdentifier" } @@ -2094,11 +2823,11 @@ "members":{ "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the auth policy was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the auth policy was created, in ISO-8601 format.

        " }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the auth policy was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the auth policy was last updated, in ISO-8601 format.

        " }, "policy":{ "shape":"AuthPolicyString", @@ -2119,13 +2848,13 @@ "members":{ "listenerIdentifier":{ "shape":"ListenerIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the listener.

        ", + "documentation":"

        The ID or ARN of the listener.

        ", "location":"uri", "locationName":"listenerIdentifier" }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -2140,7 +2869,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the listener was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the listener was created, in ISO-8601 format.

        " }, "defaultAction":{ "shape":"RuleAction", @@ -2152,7 +2881,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the listener was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the listener was last updated, in ISO-8601 format.

        " }, "name":{ "shape":"ListenerName", @@ -2176,27 +2905,165 @@ } } }, - "GetResourcePolicyRequest":{ + "GetResourceConfigurationRequest":{ "type":"structure", - "required":["resourceArn"], + "required":["resourceConfigurationIdentifier"], "members":{ - "resourceArn":{ - "shape":"ResourceArn", - "documentation":"

        The Amazon Resource Name (ARN) of the service network or service.

        ", + "resourceConfigurationIdentifier":{ + "shape":"ResourceConfigurationIdentifier", + "documentation":"

        The ID of the resource configuration.

        ", "location":"uri", - "locationName":"resourceArn" + "locationName":"resourceConfigurationIdentifier" } } }, - "GetResourcePolicyResponse":{ + "GetResourceConfigurationResponse":{ "type":"structure", "members":{ - "policy":{ - "shape":"PolicyString", - "documentation":"

        An IAM policy.

        " - } - } - }, + "allowAssociationToShareableServiceNetwork":{ + "shape":"Boolean", + "documentation":"

        Specifies whether the resource configuration is associated with a sharable service network.

        " + }, + "amazonManaged":{ + "shape":"Boolean", + "documentation":"

        Indicates whether the resource configuration was created and is managed by Amazon.

        " + }, + "arn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource configuration.

        " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

        The date and time that the resource configuration was created, in ISO-8601 format.

        " + }, + "customDomainName":{ + "shape":"DomainName", + "documentation":"

        The custom domain name of the resource configuration.

        " + }, + "failureReason":{ + "shape":"String", + "documentation":"

        The reason the create-resource-configuration request failed.

        " + }, + "id":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the resource configuration.

        " + }, + "lastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

        The most recent date and time that the resource configuration was updated, in ISO-8601 format.

        " + }, + "name":{ + "shape":"ResourceConfigurationName", + "documentation":"

        The name of the resource configuration.

        " + }, + "portRanges":{ + "shape":"PortRangeList", + "documentation":"

        The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30

        " + }, + "protocol":{ + "shape":"ProtocolType", + "documentation":"

        The TCP protocol accepted by the specified resource configuration.

        " + }, + "resourceConfigurationDefinition":{ + "shape":"ResourceConfigurationDefinition", + "documentation":"

        The resource configuration.

        " + }, + "resourceConfigurationGroupId":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the group resource configuration.

        " + }, + "resourceGatewayId":{ + "shape":"ResourceGatewayId", + "documentation":"

        The ID of the resource gateway used to connect to the resource configuration in a given VPC. You can specify the resource gateway identifier only for resource configurations with type SINGLE, GROUP, or ARN.

        " + }, + "status":{ + "shape":"ResourceConfigurationStatus", + "documentation":"

        The status of the resource configuration.

        " + }, + "type":{ + "shape":"ResourceConfigurationType", + "documentation":"

        The type of resource configuration.

        • SINGLE - A single resource.

        • GROUP - A group of resources.

        • CHILD - A single resource that is part of a group resource configuration.

        • ARN - An Amazon Web Services resource.

        " + } + } + }, + "GetResourceGatewayRequest":{ + "type":"structure", + "required":["resourceGatewayIdentifier"], + "members":{ + "resourceGatewayIdentifier":{ + "shape":"ResourceGatewayIdentifier", + "documentation":"

        The ID of the resource gateway.

        ", + "location":"uri", + "locationName":"resourceGatewayIdentifier" + } + } + }, + "GetResourceGatewayResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ResourceGatewayArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource gateway.

        " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

        The date and time that the resource gateway was created, in ISO-8601 format.

        " + }, + "id":{ + "shape":"ResourceGatewayId", + "documentation":"

        The ID of the resource gateway.

        " + }, + "ipAddressType":{ + "shape":"ResourceGatewayIpAddressType", + "documentation":"

        The type of IP address for the resource gateway.

        " + }, + "lastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

        The date and time that the resource gateway was last updated, in ISO-8601 format.

        " + }, + "name":{ + "shape":"ResourceGatewayName", + "documentation":"

        The name of the resource gateway.

        " + }, + "securityGroupIds":{ + "shape":"SecurityGroupList", + "documentation":"

        The security group IDs associated with the resource gateway.

        " + }, + "status":{ + "shape":"ResourceGatewayStatus", + "documentation":"

        The status for the resource gateway.

        " + }, + "subnetIds":{ + "shape":"SubnetList", + "documentation":"

        The IDs of the VPC subnets for resource gateway.

        " + }, + "vpcId":{ + "shape":"VpcId", + "documentation":"

        The ID of the VPC for the resource gateway.

        " + } + } + }, + "GetResourcePolicyRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

        The Amazon Resource Name (ARN) of the service network or service.

        ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "GetResourcePolicyResponse":{ + "type":"structure", + "members":{ + "policy":{ + "shape":"PolicyString", + "documentation":"

        An IAM policy.

        " + } + } + }, "GetRuleRequest":{ "type":"structure", "required":[ @@ -2207,19 +3074,19 @@ "members":{ "listenerIdentifier":{ "shape":"ListenerIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the listener.

        ", + "documentation":"

        The ID or ARN of the listener.

        ", "location":"uri", "locationName":"listenerIdentifier" }, "ruleIdentifier":{ "shape":"RuleIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the listener rule.

        ", + "documentation":"

        The ID or ARN of the listener rule.

        ", "location":"uri", "locationName":"ruleIdentifier" }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -2238,7 +3105,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the listener rule was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the listener rule was created, in ISO-8601 format.

        " }, "id":{ "shape":"RuleId", @@ -2250,7 +3117,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the listener rule was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the listener rule was last updated, in ISO-8601 format.

        " }, "match":{ "shape":"RuleMatch", @@ -2272,12 +3139,97 @@ "members":{ "serviceNetworkIdentifier":{ "shape":"ServiceNetworkIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service network.

        ", + "documentation":"

        The ID or ARN of the service network.

        ", "location":"uri", "locationName":"serviceNetworkIdentifier" } } }, + "GetServiceNetworkResourceAssociationRequest":{ + "type":"structure", + "required":["serviceNetworkResourceAssociationIdentifier"], + "members":{ + "serviceNetworkResourceAssociationIdentifier":{ + "shape":"ServiceNetworkResourceAssociationIdentifier", + "documentation":"

        The ID of the association.

        ", + "location":"uri", + "locationName":"serviceNetworkResourceAssociationIdentifier" + } + } + }, + "GetServiceNetworkResourceAssociationResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ServiceNetworkResourceAssociationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the association.

        " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

        The date and time that the association was created, in ISO-8601 format.

        " + }, + "createdBy":{ + "shape":"AccountId", + "documentation":"

        The account that created the association.

        " + }, + "dnsEntry":{ + "shape":"DnsEntry", + "documentation":"

        The DNS entry for the service.

        " + }, + "failureCode":{ + "shape":"String", + "documentation":"

        The failure code.

        " + }, + "failureReason":{ + "shape":"String", + "documentation":"

        The reason the association request failed.

        " + }, + "id":{ + "shape":"ServiceNetworkResourceAssociationId", + "documentation":"

        The ID of the association.

        " + }, + "isManagedAssociation":{ + "shape":"Boolean", + "documentation":"

        Indicates whether the association is managed by Amazon.

        " + }, + "lastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

        The most recent date and time that the association was updated, in ISO-8601 format.

        " + }, + "privateDnsEntry":{ + "shape":"DnsEntry", + "documentation":"

        The private DNS entry for the service.

        " + }, + "resourceConfigurationArn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the association.

        " + }, + "resourceConfigurationId":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the resource configuration that is associated with the service network.

        " + }, + "resourceConfigurationName":{ + "shape":"ResourceConfigurationName", + "documentation":"

        The name of the resource configuration that is associated with the service network.

        " + }, + "serviceNetworkArn":{ + "shape":"ServiceNetworkIdentifierWithoutRegex", + "documentation":"

        The Amazon Resource Name (ARN) of the service network that is associated with the resource configuration.

        " + }, + "serviceNetworkId":{ + "shape":"ServiceNetworkIdentifierWithoutRegex", + "documentation":"

        The ID of the service network that is associated with the resource configuration.

        " + }, + "serviceNetworkName":{ + "shape":"ServiceNetworkNameWithoutRegex", + "documentation":"

        The name of the service network that is associated with the resource configuration.

        " + }, + "status":{ + "shape":"ServiceNetworkResourceAssociationStatus", + "documentation":"

        The status of the association.

        " + } + } + }, "GetServiceNetworkResponse":{ "type":"structure", "members":{ @@ -2291,7 +3243,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the service network was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the service network was created, in ISO-8601 format.

        " }, "id":{ "shape":"ServiceNetworkId", @@ -2299,7 +3251,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time of the last update, specified in ISO-8601 format.

        " + "documentation":"

        The date and time of the last update, in ISO-8601 format.

        " }, "name":{ "shape":"ServiceNetworkName", @@ -2312,6 +3264,10 @@ "numberOfAssociatedVPCs":{ "shape":"Long", "documentation":"

        The number of VPCs associated with the service network.

        " + }, + "sharingConfig":{ + "shape":"SharingConfig", + "documentation":"

        Specifies if the service network is enabled for sharing.

        " } } }, @@ -2321,7 +3277,7 @@ "members":{ "serviceNetworkServiceAssociationIdentifier":{ "shape":"ServiceNetworkServiceAssociationIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the association.

        ", + "documentation":"

        The ID or ARN of the association.

        ", "location":"uri", "locationName":"serviceNetworkServiceAssociationIdentifier" } @@ -2336,7 +3292,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the association was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the association was created, in ISO-8601 format.

        " }, "createdBy":{ "shape":"AccountId", @@ -2398,7 +3354,7 @@ "members":{ "serviceNetworkVpcAssociationIdentifier":{ "shape":"ServiceNetworkVpcAssociationIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the association.

        ", + "documentation":"

        The ID or ARN of the association.

        ", "location":"uri", "locationName":"serviceNetworkVpcAssociationIdentifier" } @@ -2413,7 +3369,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the association was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the association was created, in ISO-8601 format.

        " }, "createdBy":{ "shape":"AccountId", @@ -2429,11 +3385,11 @@ }, "id":{ "shape":"ServiceNetworkVpcAssociationId", - "documentation":"

        The ID of the specified association between the service network and the VPC.

        " + "documentation":"

        The ID of the association.

        " }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the association was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the association was last updated, in ISO-8601 format.

        " }, "securityGroupIds":{ "shape":"SecurityGroupList", @@ -2467,7 +3423,7 @@ "members":{ "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -2490,7 +3446,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the service was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the service was created, in ISO-8601 format.

        " }, "customDomainName":{ "shape":"ServiceCustomDomainName", @@ -2514,7 +3470,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the service was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the service was last updated, in ISO-8601 format.

        " }, "name":{ "shape":"ServiceName", @@ -2532,7 +3488,7 @@ "members":{ "targetGroupIdentifier":{ "shape":"TargetGroupIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the target group.

        ", + "documentation":"

        The ID or ARN of the target group.

        ", "location":"uri", "locationName":"targetGroupIdentifier" } @@ -2551,7 +3507,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the target group was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the target group was created, in ISO-8601 format.

        " }, "failureCode":{ "shape":"String", @@ -2567,7 +3523,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the target group was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the target group was last updated, in ISO-8601 format.

        " }, "name":{ "shape":"TargetGroupName", @@ -2794,6 +3750,11 @@ "fault":true, "retryable":{"throttling":false} }, + "IpAddress":{ + "type":"string", + "max":39, + "min":4 + }, "IpAddressType":{ "type":"string", "enum":[ @@ -2801,6 +3762,16 @@ "IPV6" ] }, + "IpResource":{ + "type":"structure", + "members":{ + "ipAddress":{ + "shape":"IpAddress", + "documentation":"

        The IP address of the IP resource.

        " + } + }, + "documentation":"

        Describes an IP resource.

        " + }, "LambdaEventStructureVersion":{ "type":"string", "enum":[ @@ -2826,7 +3797,7 @@ }, "resourceIdentifier":{ "shape":"ResourceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service network or service.

        ", + "documentation":"

        The ID or ARN of the service network or service.

        ", "location":"querystring", "locationName":"resourceIdentifier" } @@ -2864,7 +3835,7 @@ }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -2884,6 +3855,134 @@ } } }, + "ListResourceConfigurationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum page size.

        ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        A pagination token for the next page of results.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "resourceConfigurationGroupIdentifier":{ + "shape":"ResourceConfigurationIdentifier", + "documentation":"

        The ID of the group resource configuration.

        ", + "location":"querystring", + "locationName":"resourceConfigurationGroupIdentifier" + }, + "resourceGatewayIdentifier":{ + "shape":"ResourceGatewayIdentifier", + "documentation":"

        The ID of the resource gateway for the resource configuration.

        ", + "location":"querystring", + "locationName":"resourceGatewayIdentifier" + } + } + }, + "ListResourceConfigurationsResponse":{ + "type":"structure", + "members":{ + "items":{ + "shape":"ResourceConfigurationSummaryList", + "documentation":"

        Information about the resource configurations.

        " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If there are additional results, a pagination token for the next page of results.

        " + } + } + }, + "ListResourceEndpointAssociationsRequest":{ + "type":"structure", + "required":["resourceConfigurationIdentifier"], + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum page size.

        ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        A pagination token for the next page of results.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "resourceConfigurationIdentifier":{ + "shape":"ResourceConfigurationIdentifier", + "documentation":"

        The ID for the resource configuration associated with the VPC endpoint.

        ", + "location":"querystring", + "locationName":"resourceConfigurationIdentifier" + }, + "resourceEndpointAssociationIdentifier":{ + "shape":"ResourceEndpointAssociationIdentifier", + "documentation":"

        The ID of the association.

        ", + "location":"querystring", + "locationName":"resourceEndpointAssociationIdentifier" + }, + "vpcEndpointId":{ + "shape":"VpcEndpointId", + "documentation":"

        The ID of the VPC endpoint in the association.

        ", + "location":"querystring", + "locationName":"vpcEndpointId" + }, + "vpcEndpointOwner":{ + "shape":"VpcEndpointOwner", + "documentation":"

        The owner of the VPC endpoint in the association.

        ", + "location":"querystring", + "locationName":"vpcEndpointOwner" + } + } + }, + "ListResourceEndpointAssociationsResponse":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"ResourceEndpointAssociationList", + "documentation":"

        Information about the VPC endpoint associations.

        " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If there are additional results, a pagination token for the next page of results.

        " + } + } + }, + "ListResourceGatewaysRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum page size.

        ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If there are additional results, a pagination token for the next page of results.

        ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListResourceGatewaysResponse":{ + "type":"structure", + "members":{ + "items":{ + "shape":"ResourceGatewayList", + "documentation":"

        Information about the resource gateways.

        " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If there are additional results, a pagination token for the next page of results.

        " + } + } + }, "ListRulesRequest":{ "type":"structure", "required":[ @@ -2893,7 +3992,7 @@ "members":{ "listenerIdentifier":{ "shape":"ListenerIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the listener.

        ", + "documentation":"

        The ID or ARN of the listener.

        ", "location":"uri", "locationName":"listenerIdentifier" }, @@ -2911,7 +4010,7 @@ }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -2931,6 +4030,49 @@ } } }, + "ListServiceNetworkResourceAssociationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum page size.

        ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If there are additional results, a pagination token for the next page of results.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "resourceConfigurationIdentifier":{ + "shape":"ResourceConfigurationIdentifier", + "documentation":"

        The ID of the resource configurationk.

        ", + "location":"querystring", + "locationName":"resourceConfigurationIdentifier" + }, + "serviceNetworkIdentifier":{ + "shape":"ServiceNetworkIdentifier", + "documentation":"

        The ID of the service network.

        ", + "location":"querystring", + "locationName":"serviceNetworkIdentifier" + } + } + }, + "ListServiceNetworkResourceAssociationsResponse":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"ServiceNetworkResourceAssociationList", + "documentation":"

        Information about the associations.

        " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If there are additional results, a pagination token for the next page of results.

        " + } + } + }, "ListServiceNetworkServiceAssociationsRequest":{ "type":"structure", "members":{ @@ -2948,13 +4090,13 @@ }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"querystring", "locationName":"serviceIdentifier" }, "serviceNetworkIdentifier":{ "shape":"ServiceNetworkIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service network.

        ", + "documentation":"

        The ID or ARN of the service network.

        ", "location":"querystring", "locationName":"serviceNetworkIdentifier" } @@ -2991,13 +4133,13 @@ }, "serviceNetworkIdentifier":{ "shape":"ServiceNetworkIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service network.

        ", + "documentation":"

        The ID or ARN of the service network.

        ", "location":"querystring", "locationName":"serviceNetworkIdentifier" }, "vpcIdentifier":{ "shape":"VpcId", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the VPC.

        ", + "documentation":"

        The ID or ARN of the VPC.

        ", "location":"querystring", "locationName":"vpcIdentifier" } @@ -3017,6 +4159,44 @@ } } }, + "ListServiceNetworkVpcEndpointAssociationsRequest":{ + "type":"structure", + "required":["serviceNetworkIdentifier"], + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum page size.

        ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If there are additional results, a pagination token for the next page of results.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "serviceNetworkIdentifier":{ + "shape":"ServiceNetworkIdentifier", + "documentation":"

        The ID of the service network associated with the VPC endpoint.

        ", + "location":"querystring", + "locationName":"serviceNetworkIdentifier" + } + } + }, + "ListServiceNetworkVpcEndpointAssociationsResponse":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"ServiceNetworkVpcEndpointAssociationList", + "documentation":"

        Information about the association between the VPC endpoint and service network.

        " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If there are additional results, a pagination token for the next page of results.

        " + } + } + }, "ListServiceNetworksRequest":{ "type":"structure", "members":{ @@ -3122,7 +4302,7 @@ }, "vpcIdentifier":{ "shape":"VpcId", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the VPC.

        ", + "documentation":"

        The ID or ARN of the VPC.

        ", "location":"querystring", "locationName":"vpcIdentifier" } @@ -3159,7 +4339,7 @@ }, "targetGroupIdentifier":{ "shape":"TargetGroupIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the target group.

        ", + "documentation":"

        The ID or ARN of the target group.

        ", "location":"uri", "locationName":"targetGroupIdentifier" }, @@ -3230,7 +4410,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the listener was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the listener was created, in ISO-8601 format.

        " }, "id":{ "shape":"ListenerId", @@ -3238,7 +4418,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the listener was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the listener was last updated, in ISO-8601 format.

        " }, "name":{ "shape":"ListenerName", @@ -3339,6 +4519,20 @@ "max":65535, "min":1 }, + "PortRange":{ + "type":"string", + "max":11, + "min":1, + "pattern":"^((\\d{1,5}\\-\\d{1,5})|(\\d+))$" + }, + "PortRangeList":{ + "type":"list", + "member":{"shape":"PortRange"} + }, + "ProtocolType":{ + "type":"string", + "enum":["TCP"] + }, "PutAuthPolicyRequest":{ "type":"structure", "required":[ @@ -3352,7 +4546,7 @@ }, "resourceIdentifier":{ "shape":"ResourceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service network or service for which the policy is created.

        ", + "documentation":"

        The ID or ARN of the service network or service for which the policy is created.

        ", "location":"uri", "locationName":"resourceIdentifier" } @@ -3384,7 +4578,7 @@ }, "resourceArn":{ "shape":"ResourceArn", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service network or service for which the policy is created.

        ", + "documentation":"

        The ID or ARN of the service network or service for which the policy is created.

        ", "location":"uri", "locationName":"resourceArn" } @@ -3404,7 +4598,7 @@ "members":{ "targetGroupIdentifier":{ "shape":"TargetGroupIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the target group.

        ", + "documentation":"

        The ID or ARN of the target group.

        ", "location":"uri", "locationName":"targetGroupIdentifier" }, @@ -3414,30 +4608,310 @@ } } }, - "RegisterTargetsRequestTargetsList":{ + "RegisterTargetsRequestTargetsList":{ + "type":"list", + "member":{"shape":"Target"}, + "max":100, + "min":1 + }, + "RegisterTargetsResponse":{ + "type":"structure", + "members":{ + "successful":{ + "shape":"TargetList", + "documentation":"

        The targets that were successfully registered.

        " + }, + "unsuccessful":{ + "shape":"TargetFailureList", + "documentation":"

        The targets that were not registered.

        " + } + } + }, + "ResourceArn":{ + "type":"string", + "max":200, + "min":20, + "pattern":"^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(service/svc)|(resourceconfiguration/rcfg))-[0-9a-z]{17}$" + }, + "ResourceConfigurationArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:[a-z0-9f\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceconfiguration/rcfg-[0-9a-z]{17}$" + }, + "ResourceConfigurationDefinition":{ + "type":"structure", + "members":{ + "arnResource":{ + "shape":"ArnResource", + "documentation":"

        The Amazon Resource Name (ARN) of the resource.

        " + }, + "dnsResource":{ + "shape":"DnsResource", + "documentation":"

        The DNS name of the resource.

        " + }, + "ipResource":{ + "shape":"IpResource", + "documentation":"

        The IP resource.

        " + } + }, + "documentation":"

        Describes a resource configuration.

        ", + "union":true + }, + "ResourceConfigurationId":{ + "type":"string", + "max":22, + "min":22, + "pattern":"^rcfg-[0-9a-z]{17}$" + }, + "ResourceConfigurationIdentifier":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^((rcfg-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceconfiguration/rcfg-[0-9a-z]{17}))$" + }, + "ResourceConfigurationIpAddressType":{ + "type":"string", + "enum":[ + "IPV4", + "IPV6", + "DUALSTACK" + ] + }, + "ResourceConfigurationName":{ + "type":"string", + "max":40, + "min":3, + "pattern":"^(?!rcfg-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$" + }, + "ResourceConfigurationStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CREATE_IN_PROGRESS", + "UPDATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "CREATE_FAILED", + "UPDATE_FAILED", + "DELETE_FAILED" + ] + }, + "ResourceConfigurationSummary":{ + "type":"structure", + "members":{ + "amazonManaged":{ + "shape":"Boolean", + "documentation":"

        Indicates whether the resource configuration was created and is managed by Amazon.

        " + }, + "arn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource configuration.

        " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

        The date and time that the resource configuration was created, in ISO-8601 format.

        " + }, + "id":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the resource configuration.

        " + }, + "lastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

        The most recent date and time that the resource configuration was updated, in ISO-8601 format.

        " + }, + "name":{ + "shape":"ResourceConfigurationName", + "documentation":"

        The name of the resource configuration.

        " + }, + "resourceConfigurationGroupId":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the group resource configuration.

        " + }, + "resourceGatewayId":{ + "shape":"ResourceGatewayId", + "documentation":"

        The ID of the resource gateway.

        " + }, + "status":{ + "shape":"ResourceConfigurationStatus", + "documentation":"

        The status of the resource configuration.

        " + }, + "type":{ + "shape":"ResourceConfigurationType", + "documentation":"

        The type of resource configuration.

        • SINGLE - A single resource.

        • GROUP - A group of resources.

        • CHILD - A single resource that is part of a group resource configuration.

        • ARN - An Amazon Web Services resource.

        " + } + }, + "documentation":"

        Summary information about a resource configuration.

        " + }, + "ResourceConfigurationSummaryList":{ + "type":"list", + "member":{"shape":"ResourceConfigurationSummary"} + }, + "ResourceConfigurationType":{ + "type":"string", + "enum":[ + "GROUP", + "CHILD", + "SINGLE", + "ARN" + ] + }, + "ResourceEndpointAssociationArn":{ + "type":"string", + "max":2048, + "min":21, + "pattern":"^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceendpointassociation/rea-[0-9a-f]{17}$" + }, + "ResourceEndpointAssociationId":{ + "type":"string", + "max":21, + "min":21, + "pattern":"^rea-[0-9a-f]{17}$" + }, + "ResourceEndpointAssociationIdentifier":{ + "type":"string", + "max":2048, + "min":21, + "pattern":"^((rea-[0-9a-f]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceendpointassociation/rea-[0-9a-f]{17}))$" + }, + "ResourceEndpointAssociationList":{ + "type":"list", + "member":{"shape":"ResourceEndpointAssociationSummary"} + }, + "ResourceEndpointAssociationSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ResourceEndpointAssociationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the VPC endpoint association.

        " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

        The date and time that the VPC endpoint association was created, in ISO-8601 format.

        " + }, + "createdBy":{ + "shape":"AccountId", + "documentation":"

        The account that created the association.

        " + }, + "id":{ + "shape":"ResourceEndpointAssociationId", + "documentation":"

        The ID of the VPC endpoint association.

        " + }, + "resourceConfigurationArn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource configuration.

        " + }, + "resourceConfigurationId":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the resource configuration.

        " + }, + "resourceConfigurationName":{ + "shape":"ResourceConfigurationName", + "documentation":"

        The name of the resource configuration.

        " + }, + "vpcEndpointId":{ + "shape":"VpcEndpointId", + "documentation":"

        The ID of the VPC endpoint.

        " + }, + "vpcEndpointOwner":{ + "shape":"VpcEndpointOwner", + "documentation":"

        The owner of the VPC endpoint.

        " + } + }, + "documentation":"

        Summary information about a VPC endpoint association.

        " + }, + "ResourceGatewayArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourcegateway/rgw-[0-9a-z]{17}$" + }, + "ResourceGatewayId":{ + "type":"string", + "max":21, + "min":21, + "pattern":"^rgw-[0-9a-z]{17}$" + }, + "ResourceGatewayIdentifier":{ + "type":"string", + "max":2048, + "min":17, + "pattern":"^((rgw-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourcegateway/rgw-[0-9a-z]{17}))$" + }, + "ResourceGatewayIpAddressType":{ + "type":"string", + "enum":[ + "IPV4", + "IPV6", + "DUALSTACK" + ] + }, + "ResourceGatewayList":{ "type":"list", - "member":{"shape":"Target"}, - "max":100, - "min":1 + "member":{"shape":"ResourceGatewaySummary"} }, - "RegisterTargetsResponse":{ + "ResourceGatewayName":{ + "type":"string", + "max":40, + "min":3, + "pattern":"^(?!rgw-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$" + }, + "ResourceGatewayStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CREATE_IN_PROGRESS", + "UPDATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "CREATE_FAILED", + "UPDATE_FAILED", + "DELETE_FAILED" + ] + }, + "ResourceGatewaySummary":{ "type":"structure", "members":{ - "successful":{ - "shape":"TargetList", - "documentation":"

        The targets that were successfully registered.

        " + "arn":{ + "shape":"ResourceGatewayArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource gateway.

        " }, - "unsuccessful":{ - "shape":"TargetFailureList", - "documentation":"

        The targets that were not registered.

        " + "createdAt":{ + "shape":"Timestamp", + "documentation":"

        The date and time that the VPC endpoint association was created, in ISO-8601 format.

        " + }, + "id":{ + "shape":"ResourceGatewayId", + "documentation":"

        The ID of the resource gateway.

        " + }, + "ipAddressType":{ + "shape":"ResourceGatewayIpAddressType", + "documentation":"

        The type of IP address used by the resource gateway.

        " + }, + "lastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

        The most recent date and time that the resource gateway was updated, in ISO-8601 format.

        " + }, + "name":{ + "shape":"ResourceGatewayName", + "documentation":"

        The name of the resource gateway.

        " + }, + "securityGroupIds":{ + "shape":"SecurityGroupList", + "documentation":"

        The IDs of the security groups applied to the resource gateway.

        " + }, + "status":{ + "shape":"ResourceGatewayStatus", + "documentation":"

        The name of the resource gateway.

        " + }, + "subnetIds":{ + "shape":"SubnetList", + "documentation":"

        The IDs of the VPC subnets for the resource gateway.

        " + }, + "vpcIdentifier":{ + "shape":"VpcId", + "documentation":"

        The ID of the VPC for the resource gateway.

        " } - } - }, - "ResourceArn":{ - "type":"string", - "max":200, - "min":20, - "pattern":"^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(service/svc))-[0-9a-z]{17}$" + }, + "documentation":"

        Summary information about a resource gateway.

        " }, "ResourceId":{ "type":"string", @@ -3449,7 +4923,7 @@ "type":"string", "max":200, "min":17, - "pattern":"^((((sn)|(svc))-[0-9a-z]{17})|(arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(service/svc))-[0-9a-z]{17}))$" + "pattern":"^((((sn)|(svc)|(rcfg))-[0-9a-z]{17})|(arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(resourceconfiguration/rcfg)|(service/svc))-[0-9a-z]{17}))$" }, "ResourceNotFoundException":{ "type":"structure", @@ -3541,7 +5015,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the listener rule was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the listener rule was created, in ISO-8601 format.

        " }, "id":{ "shape":"RuleId", @@ -3553,7 +5027,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the listener rule was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the listener rule was last updated, in ISO-8601 format.

        " }, "name":{ "shape":"RuleName", @@ -3564,7 +5038,7 @@ "documentation":"

        The priority of the rule.

        " } }, - "documentation":"

        Summary information about the listener rule.

        " + "documentation":"

        Summary information about a listener rule.

        " }, "RuleSummaryList":{ "type":"list", @@ -3588,7 +5062,7 @@ }, "ruleIdentifier":{ "shape":"RuleIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the rule.

        " + "documentation":"

        The ID or ARN of the rule.

        " } }, "documentation":"

        Describes a rule update.

        " @@ -3606,7 +5080,7 @@ }, "ruleIdentifier":{ "shape":"RuleIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the rule.

        " + "documentation":"

        The ID or ARN of the rule.

        " } }, "documentation":"

        Describes a rule update that failed.

        " @@ -3712,10 +5186,49 @@ "min":32, "pattern":"^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetwork/sn-[0-9a-z]{17}$" }, + "ServiceNetworkArnWithoutRegex":{ + "type":"string", + "max":2048, + "min":10 + }, + "ServiceNetworkEndpointAssociation":{ + "type":"structure", + "members":{ + "createdAt":{ + "shape":"Timestamp", + "documentation":"

        The date and time that the association was created, in ISO-8601 format.

        " + }, + "id":{ + "shape":"String", + "documentation":"

        The ID of the association.

        " + }, + "serviceNetworkArn":{ + "shape":"ServiceNetworkArn", + "documentation":"

        The Amazon Resource Name (ARN) of the service network.

        " + }, + "state":{ + "shape":"String", + "documentation":"

        The state of the association.

        " + }, + "vpcEndpointId":{ + "shape":"String", + "documentation":"

        The ID of the VPC endpoint associated with the service network.

        " + }, + "vpcEndpointOwnerId":{ + "shape":"String", + "documentation":"

        The owner of the VPC endpoint associated with the service network.

        " + }, + "vpcId":{ + "shape":"String", + "documentation":"

        The ID of the VPC for the association.

        " + } + }, + "documentation":"

        Describes the association between a service network and a VPC endpoint.

        " + }, "ServiceNetworkId":{ "type":"string", - "max":32, - "min":32, + "max":20, + "min":20, "pattern":"^sn-[0-9a-z]{17}$" }, "ServiceNetworkIdentifier":{ @@ -3724,16 +5237,132 @@ "min":3, "pattern":"^((sn-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetwork/sn-[0-9a-z]{17}))$" }, + "ServiceNetworkIdentifierWithoutRegex":{ + "type":"string", + "max":2048, + "min":3 + }, "ServiceNetworkList":{ "type":"list", "member":{"shape":"ServiceNetworkSummary"} }, + "ServiceNetworkLogType":{ + "type":"string", + "enum":[ + "SERVICE", + "RESOURCE" + ] + }, "ServiceNetworkName":{ "type":"string", "max":63, "min":3, "pattern":"^(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$" }, + "ServiceNetworkNameWithoutRegex":{ + "type":"string", + "max":100, + "min":3 + }, + "ServiceNetworkResourceAssociationArn":{ + "type":"string", + "max":2048, + "min":22, + "pattern":"^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkresourceassociation/snra-[0-9a-f]{17}$" + }, + "ServiceNetworkResourceAssociationId":{ + "type":"string", + "max":22, + "min":22, + "pattern":"^snra-[0-9a-f]{17}$" + }, + "ServiceNetworkResourceAssociationIdentifier":{ + "type":"string", + "max":2048, + "min":22, + "pattern":"^((snra-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkresourceassociation/snra-[0-9a-f]{17}))$" + }, + "ServiceNetworkResourceAssociationList":{ + "type":"list", + "member":{"shape":"ServiceNetworkResourceAssociationSummary"} + }, + "ServiceNetworkResourceAssociationStatus":{ + "type":"string", + "enum":[ + "CREATE_IN_PROGRESS", + "ACTIVE", + "PARTIAL", + "DELETE_IN_PROGRESS", + "CREATE_FAILED", + "DELETE_FAILED" + ] + }, + "ServiceNetworkResourceAssociationSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ServiceNetworkResourceAssociationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the association.

        " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

        The date and time that the association was created, in ISO-8601 format.

        " + }, + "createdBy":{ + "shape":"AccountId", + "documentation":"

        The account that created the association.

        " + }, + "dnsEntry":{ + "shape":"DnsEntry", + "documentation":"

        The DNS entry for the service.

        " + }, + "failureCode":{ + "shape":"String", + "documentation":"

        The failure code.

        " + }, + "id":{ + "shape":"ServiceNetworkResourceAssociationId", + "documentation":"

        The ID of the association between the service network and resource configuration.

        " + }, + "isManagedAssociation":{ + "shape":"Boolean", + "documentation":"

        Specifies whether the association is managed by Amazon.

        " + }, + "privateDnsEntry":{ + "shape":"DnsEntry", + "documentation":"

        The private DNS entry for the service.

        " + }, + "resourceConfigurationArn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the association.

        " + }, + "resourceConfigurationId":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the resource configuration associated with the service network.

        " + }, + "resourceConfigurationName":{ + "shape":"ResourceConfigurationName", + "documentation":"

        The name of the resource configuration associated with the service network.

        " + }, + "serviceNetworkArn":{ + "shape":"ServiceNetworkArnWithoutRegex", + "documentation":"

        The Amazon Resource Name (ARN) of the service network associated with the resource configuration.

        " + }, + "serviceNetworkId":{ + "shape":"ServiceNetworkIdentifierWithoutRegex", + "documentation":"

        The ID of the service network associated with the resource configuration.

        " + }, + "serviceNetworkName":{ + "shape":"ServiceNetworkNameWithoutRegex", + "documentation":"

        The name of the service network associated with the resource configuration.

        " + }, + "status":{ + "shape":"ServiceNetworkResourceAssociationStatus", + "documentation":"

        The status of the service network associated with the resource configuration.

        " + } + }, + "documentation":"

        Summary information about an association between a service network and a resource configuration.

        " + }, "ServiceNetworkServiceAssociationArn":{ "type":"string", "max":2048, @@ -3769,7 +5398,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the association was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the association was created, in ISO-8601 format.

        " }, "createdBy":{ "shape":"AccountId", @@ -3816,7 +5445,7 @@ "documentation":"

        The status. If the deletion fails, try to delete again.

        " } }, - "documentation":"

        Summary information about the association between a service network and a service.

        " + "documentation":"

        Summary information about an association between a service network and a service.

        " }, "ServiceNetworkSummary":{ "type":"structure", @@ -3827,7 +5456,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the service network was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the service network was created, in ISO-8601 format.

        " }, "id":{ "shape":"ServiceNetworkId", @@ -3835,12 +5464,16 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the service network was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the service network was last updated, in ISO-8601 format.

        " }, "name":{ "shape":"ServiceNetworkName", "documentation":"

        The name of the service network.

        " }, + "numberOfAssociatedResourceConfigurations":{ + "shape":"Long", + "documentation":"

        The number of resource configurations associated with a service network.

        " + }, "numberOfAssociatedServices":{ "shape":"Long", "documentation":"

        The number of services associated with the service network.

        " @@ -3895,7 +5528,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the association was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the association was created, in ISO-8601 format.

        " }, "createdBy":{ "shape":"AccountId", @@ -3907,7 +5540,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the association was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the association was last updated, in ISO-8601 format.

        " }, "serviceNetworkArn":{ "shape":"ServiceNetworkArn", @@ -3932,6 +5565,10 @@ }, "documentation":"

        Summary information about an association between a service network and a VPC.

        " }, + "ServiceNetworkVpcEndpointAssociationList":{ + "type":"list", + "member":{"shape":"ServiceNetworkEndpointAssociation"} + }, "ServiceQuotaExceededException":{ "type":"structure", "required":[ @@ -3985,7 +5622,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the service was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the service was created, in ISO-8601 format.

        " }, "customDomainName":{ "shape":"ServiceCustomDomainName", @@ -4001,7 +5638,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the service was last updated. The format is ISO-8601.

        " + "documentation":"

        The date and time that the service was last updated, in ISO-8601 format.

        " }, "name":{ "shape":"ServiceName", @@ -4014,7 +5651,26 @@ }, "documentation":"

        Summary information about a service.

        " }, + "SharingConfig":{ + "type":"structure", + "members":{ + "enabled":{ + "shape":"Boolean", + "documentation":"

        Specifies if the service network is enabled for sharing.

        " + } + }, + "documentation":"

        Specifies if the service network should be enabled for sharing.

        " + }, "String":{"type":"string"}, + "SubnetId":{ + "type":"string", + "max":200, + "min":5 + }, + "SubnetList":{ + "type":"list", + "member":{"shape":"SubnetId"} + }, "TagKey":{ "type":"string", "max":128, @@ -4206,7 +5862,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the target group was created, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the target group was created, in ISO-8601 format.

        " }, "id":{ "shape":"TargetGroupId", @@ -4222,7 +5878,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

        The date and time that the target group was last updated, specified in ISO-8601 format.

        " + "documentation":"

        The date and time that the target group was last updated, in ISO-8601 format.

        " }, "name":{ "shape":"TargetGroupName", @@ -4389,7 +6045,7 @@ "members":{ "accessLogSubscriptionIdentifier":{ "shape":"AccessLogSubscriptionIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the access log subscription.

        ", + "documentation":"

        The ID or ARN of the access log subscription.

        ", "location":"uri", "locationName":"accessLogSubscriptionIdentifier" }, @@ -4445,13 +6101,13 @@ }, "listenerIdentifier":{ "shape":"ListenerIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the listener.

        ", + "documentation":"

        The ID or ARN of the listener.

        ", "location":"uri", "locationName":"listenerIdentifier" }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -4494,6 +6150,138 @@ } } }, + "UpdateResourceConfigurationRequest":{ + "type":"structure", + "required":["resourceConfigurationIdentifier"], + "members":{ + "allowAssociationToShareableServiceNetwork":{ + "shape":"Boolean", + "documentation":"

        Indicates whether to add the resource configuration to service networks that are shared with other accounts.

        " + }, + "portRanges":{ + "shape":"PortRangeList", + "documentation":"

        The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30

        " + }, + "resourceConfigurationDefinition":{ + "shape":"ResourceConfigurationDefinition", + "documentation":"

        The resource configuration.

        " + }, + "resourceConfigurationIdentifier":{ + "shape":"ResourceConfigurationIdentifier", + "documentation":"

        The ID of the resource configuration.

        ", + "location":"uri", + "locationName":"resourceConfigurationIdentifier" + } + } + }, + "UpdateResourceConfigurationResponse":{ + "type":"structure", + "members":{ + "allowAssociationToShareableServiceNetwork":{ + "shape":"Boolean", + "documentation":"

        Indicates whether to add the resource configuration to service networks that are shared with other accounts.

        " + }, + "arn":{ + "shape":"ResourceConfigurationArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource configuration.

        " + }, + "id":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the resource configuration.

        " + }, + "name":{ + "shape":"ResourceConfigurationName", + "documentation":"

        The name of the resource configuration.

        " + }, + "portRanges":{ + "shape":"PortRangeList", + "documentation":"

        The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30

        " + }, + "protocol":{ + "shape":"ProtocolType", + "documentation":"

        The TCP protocol accepted by the specified resource configuration.

        " + }, + "resourceConfigurationDefinition":{ + "shape":"ResourceConfigurationDefinition", + "documentation":"

        The resource configuration.

        " + }, + "resourceConfigurationGroupId":{ + "shape":"ResourceConfigurationId", + "documentation":"

        The ID of the group resource configuration.

        " + }, + "resourceGatewayId":{ + "shape":"ResourceGatewayId", + "documentation":"

        The ID of the resource gateway associated with the resource configuration.

        " + }, + "status":{ + "shape":"ResourceConfigurationStatus", + "documentation":"

        The status of the resource configuration.

        " + }, + "type":{ + "shape":"ResourceConfigurationType", + "documentation":"

        The type of resource configuration.

        • SINGLE - A single resource.

        • GROUP - A group of resources.

        • CHILD - A single resource that is part of a group resource configuration.

        • ARN - An Amazon Web Services resource.

        " + } + } + }, + "UpdateResourceGatewayRequest":{ + "type":"structure", + "required":["resourceGatewayIdentifier"], + "members":{ + "resourceGatewayIdentifier":{ + "shape":"ResourceGatewayIdentifier", + "documentation":"

        The ID or ARN of the resource gateway.

        ", + "location":"uri", + "locationName":"resourceGatewayIdentifier" + }, + "securityGroupIds":{ + "shape":"UpdateResourceGatewayRequestSecurityGroupIdsList", + "documentation":"

        The IDs of the security groups associated with the resource gateway.

        " + } + } + }, + "UpdateResourceGatewayRequestSecurityGroupIdsList":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":0 + }, + "UpdateResourceGatewayResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ResourceGatewayArn", + "documentation":"

        The Amazon Resource Name (ARN) of the resource gateway.

        " + }, + "id":{ + "shape":"ResourceGatewayId", + "documentation":"

        The ID of the resource gateway.

        " + }, + "ipAddressType":{ + "shape":"IpAddressType", + "documentation":"

        The type of IP address used by the resource gateway.

        " + }, + "name":{ + "shape":"ResourceGatewayName", + "documentation":"

        The name of the resource gateway.

        " + }, + "securityGroupIds":{ + "shape":"SecurityGroupList", + "documentation":"

        The IDs of the security groups associated with the resource gateway.

        " + }, + "status":{ + "shape":"ResourceGatewayStatus", + "documentation":"

        The status of the resource gateway.

        " + }, + "subnetIds":{ + "shape":"SubnetList", + "documentation":"

        The IDs of the VPC subnets for the resource gateway.

        " + }, + "vpcId":{ + "shape":"VpcId", + "documentation":"

        The ID of the VPC for the resource gateway.

        " + } + } + }, "UpdateRuleRequest":{ "type":"structure", "required":[ @@ -4508,7 +6296,7 @@ }, "listenerIdentifier":{ "shape":"ListenerIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the listener.

        ", + "documentation":"

        The ID or ARN of the listener.

        ", "location":"uri", "locationName":"listenerIdentifier" }, @@ -4522,13 +6310,13 @@ }, "ruleIdentifier":{ "shape":"RuleIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the rule.

        ", + "documentation":"

        The ID or ARN of the rule.

        ", "location":"uri", "locationName":"ruleIdentifier" }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -4580,7 +6368,7 @@ }, "serviceNetworkIdentifier":{ "shape":"ServiceNetworkIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service network.

        ", + "documentation":"

        The ID or ARN of the service network.

        ", "location":"uri", "locationName":"serviceNetworkIdentifier" } @@ -4620,7 +6408,7 @@ }, "serviceNetworkVpcAssociationIdentifier":{ "shape":"ServiceNetworkVpcAssociationIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the association.

        ", + "documentation":"

        The ID or ARN of the association.

        ", "location":"uri", "locationName":"serviceNetworkVpcAssociationIdentifier" } @@ -4671,7 +6459,7 @@ }, "serviceIdentifier":{ "shape":"ServiceIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the service.

        ", + "documentation":"

        The ID or ARN of the service.

        ", "location":"uri", "locationName":"serviceIdentifier" } @@ -4719,7 +6507,7 @@ }, "targetGroupIdentifier":{ "shape":"TargetGroupIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the target group.

        ", + "documentation":"

        The ID or ARN of the target group.

        ", "location":"uri", "locationName":"targetGroupIdentifier" } @@ -4809,6 +6597,18 @@ "other" ] }, + "VpcEndpointId":{ + "type":"string", + "max":22, + "min":22, + "pattern":"^vpce-[0-9a-f]{17}$" + }, + "VpcEndpointOwner":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^\\d{12}$" + }, "VpcId":{ "type":"string", "max":50, @@ -4821,7 +6621,7 @@ "members":{ "targetGroupIdentifier":{ "shape":"TargetGroupIdentifier", - "documentation":"

        The ID or Amazon Resource Name (ARN) of the target group.

        " + "documentation":"

        The ID or ARN of the target group.

        " }, "weight":{ "shape":"TargetGroupWeight", @@ -4835,6 +6635,12 @@ "member":{"shape":"WeightedTargetGroup"}, "max":10, "min":1 + }, + "WildcardArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:[a-z0-9][-.a-z0-9]{0,62}:[a-z0-9][-.a-z0-9]{0,62}:([a-z0-9][-.a-z0-9]{0,62})?:\\d{12}?:[^/].{0,1023}$" } }, "documentation":"

        Amazon VPC Lattice is a fully managed application networking service that you use to connect, secure, and monitor all of your services across multiple accounts and virtual private clouds (VPCs). Amazon VPC Lattice interconnects your microservices and legacy services within a logical boundary, so that you can discover and manage them more efficiently. For more information, see the Amazon VPC Lattice User Guide

        " diff --git a/tools/code-generation/endpoints/invoicing-2024-12-01.endpoint-rule-set.json b/tools/code-generation/endpoints/invoicing-2024-12-01.endpoint-rule-set.json new file mode 100644 index 00000000000..f4313bc87cc --- /dev/null +++ b/tools/code-generation/endpoints/invoicing-2024-12-01.endpoint-rule-set.json @@ -0,0 +1,151 @@ +{ + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the 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": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "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 + ] + } + ], + "endpoint": { + "url": "https://invoicing-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://invoicing.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/invoicing-2024-12-01.endpoint-tests.json b/tools/code-generation/endpoints/invoicing-2024-12-01.endpoint-tests.json new file mode 100644 index 00000000000..5aafc303eaf --- /dev/null +++ b/tools/code-generation/endpoints/invoicing-2024-12-01.endpoint-tests.json @@ -0,0 +1,313 @@ +{ + "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 region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://invoicing-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://invoicing.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://invoicing-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://invoicing.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "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://invoicing-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "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://invoicing.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } + ] + }, + "url": "https://invoicing-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } + ] + }, + "url": "https://invoicing.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } + ] + }, + "url": "https://invoicing-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } + ] + }, + "url": "https://invoicing.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "eu-isoe-west-1" + } + ] + }, + "url": "https://invoicing-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "eu-isoe-west-1" + } + ] + }, + "url": "https://invoicing.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://invoicing-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://invoicing.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/networkflowmonitor-2023-04-19.endpoint-rule-set.json b/tools/code-generation/endpoints/networkflowmonitor-2023-04-19.endpoint-rule-set.json new file mode 100644 index 00000000000..0221e22ee4c --- /dev/null +++ b/tools/code-generation/endpoints/networkflowmonitor-2023-04-19.endpoint-rule-set.json @@ -0,0 +1,137 @@ +{ + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the 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": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "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 + ] + } + ], + "endpoint": { + "url": "https://networkflowmonitor-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://networkflowmonitor.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/networkflowmonitor-2023-04-19.endpoint-tests.json b/tools/code-generation/endpoints/networkflowmonitor-2023-04-19.endpoint-tests.json new file mode 100644 index 00000000000..47cbe08f5d1 --- /dev/null +++ b/tools/code-generation/endpoints/networkflowmonitor-2023-04-19.endpoint-tests.json @@ -0,0 +1,201 @@ +{ + "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 region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://networkflowmonitor.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json index 1ef9810cdac..6a11be757de 100644 --- a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json @@ -863,6 +863,270 @@ ], "type": "tree" }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 19, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 19, + 21, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 20, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 20, + 22, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 26, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 26, + 28, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], "error": "Unrecognized S3Express bucket name format.", @@ -1047,6 +1311,270 @@ ], "type": "tree" }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 19, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 19, + 21, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 20, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 20, + 22, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 26, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 26, + 28, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], "error": "Unrecognized S3Express bucket name format.", diff --git a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json index b6575d8e020..b6a69202747 100644 --- a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json +++ b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json @@ -7844,7 +7844,7 @@ } }, { - "documentation": "Data Plane with short AZ", + "documentation": "Data Plane with short zone name", "expect": { "endpoint": { "properties": { @@ -7858,7 +7858,7 @@ ], "backend": "S3Express" }, - "url": "https://mybucket--use1-az1--x-s3.s3express-use1-az1.us-east-1.amazonaws.com" + "url": "https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.us-east-1.amazonaws.com" } }, "operationInputs": [ @@ -7868,14 +7868,14 @@ }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--abcd-ab1--x-s3", "Key": "key" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--abcd-ab1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": false, @@ -7883,7 +7883,124 @@ } }, { - "documentation": "Data Plane with short AZ fips", + "documentation": "Data Plane with short zone names (13 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2" + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test-zone-ab1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with medium zone names (14 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2" + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with long zone names (20 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2" + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with short zone fips", "expect": { "endpoint": { "properties": { @@ -7897,7 +8014,7 @@ ], "backend": "S3Express" }, - "url": "https://mybucket--use1-az1--x-s3.s3express-fips-use1-az1.us-east-1.amazonaws.com" + "url": "https://mybucket--test-ab1--x-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com" } }, "operationInputs": [ @@ -7908,14 +8025,134 @@ }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "Key": "key" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with short zone (13 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseFIPS": true + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test-zone-ab1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with medium zone (14 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseFIPS": true + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with long zone (20 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseFIPS": true + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", "UseFIPS": true, "UseDualStack": false, "Accelerate": false, @@ -7931,30 +8168,30 @@ { "name": "sigv4-s3express", "signingName": "s3express", - "signingRegion": "ap-northeast-1", + "signingRegion": "us-west-2", "disableDoubleEncoding": true } ], "backend": "S3Express" }, - "url": "https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com" + "url": "https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com" } }, "operationInputs": [ { "builtInParams": { - "AWS::Region": "ap-northeast-1" + "AWS::Region": "us-west-2" }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--apne1-az1--x-s3", + "Bucket": "mybucket--test1-az1--x-s3", "Key": "key" } } ], "params": { - "Region": "ap-northeast-1", - "Bucket": "mybucket--apne1-az1--x-s3", + "Region": "us-west-2", + "Bucket": "mybucket--test1-az1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": false, @@ -7970,31 +8207,31 @@ { "name": "sigv4-s3express", "signingName": "s3express", - "signingRegion": "ap-northeast-1", + "signingRegion": "us-west-2", "disableDoubleEncoding": true } ], "backend": "S3Express" }, - "url": "https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com" + "url": "https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com" } }, "operationInputs": [ { "builtInParams": { - "AWS::Region": "ap-northeast-1", + "AWS::Region": "us-west-2", "AWS::UseFIPS": true }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--apne1-az1--x-s3", + "Bucket": "mybucket--test1-az1--x-s3", "Key": "key" } } ], "params": { - "Region": "ap-northeast-1", - "Bucket": "mybucket--apne1-az1--x-s3", + "Region": "us-west-2", + "Bucket": "mybucket--test1-az1--x-s3", "UseFIPS": true, "UseDualStack": false, "Accelerate": false, @@ -8016,7 +8253,7 @@ ], "backend": "S3Express" }, - "url": "https://s3express-control.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3" + "url": "https://s3express-control.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3" } }, "operationInputs": [ @@ -8026,13 +8263,13 @@ }, "operationName": "CreateBucket", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3" + "Bucket": "mybucket--test-ab1--x-s3" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": false, @@ -8055,7 +8292,7 @@ ], "backend": "S3Express" }, - "url": "https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3" + "url": "https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3" } }, "operationInputs": [ @@ -8066,13 +8303,13 @@ }, "operationName": "CreateBucket", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3" + "Bucket": "mybucket--test-ab1--x-s3" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "UseFIPS": true, "UseDualStack": false, "Accelerate": false, @@ -8178,6 +8415,33 @@ "DisableS3ExpressSessionAuth": true } }, + { + "documentation": "Data Plane sigv4 auth with short zone (13 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test-zone-ab1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "DisableS3ExpressSessionAuth": true + } + }, { "documentation": "Data Plane sigv4 auth with short AZ fips", "expect": { @@ -8205,6 +8469,33 @@ "DisableS3ExpressSessionAuth": true } }, + { + "documentation": "Data Plane sigv4 auth with short zone (13 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test-zone-ab1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "DisableS3ExpressSessionAuth": true + } + }, { "documentation": "Data Plane sigv4 auth with long AZ", "expect": { @@ -8214,18 +8505,74 @@ { "name": "sigv4", "signingName": "s3express", - "signingRegion": "ap-northeast-1", + "signingRegion": "us-west-2", "disableDoubleEncoding": true } ], "backend": "S3Express" }, - "url": "https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com" + "url": "https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com" } }, "params": { - "Region": "ap-northeast-1", - "Bucket": "mybucket--apne1-az1--x-s3", + "Region": "us-west-2", + "Bucket": "mybucket--test1-az1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false, + "DisableS3ExpressSessionAuth": true + } + }, + { + "documentation": "Data Plane sigv4 auth with medium zone(14 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false, + "DisableS3ExpressSessionAuth": true + } + }, + { + "documentation": "Data Plane sigv4 auth with long zone(20 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": false, @@ -8242,18 +8589,74 @@ { "name": "sigv4", "signingName": "s3express", - "signingRegion": "ap-northeast-1", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-az1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false, + "DisableS3ExpressSessionAuth": true + } + }, + { + "documentation": "Data Plane sigv4 auth with medium zone (14 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false, + "DisableS3ExpressSessionAuth": true + } + }, + { + "documentation": "Data Plane sigv4 auth with long zone (20 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", "disableDoubleEncoding": true } ], "backend": "S3Express" }, - "url": "https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com" + "url": "https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com" } }, "params": { - "Region": "ap-northeast-1", - "Bucket": "mybucket--apne1-az1--x-s3", + "Region": "us-west-2", + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", "UseFIPS": true, "UseDualStack": false, "Accelerate": false, @@ -8493,14 +8896,14 @@ }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "Key": "key" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "UseFIPS": false, "UseDualStack": true, "Accelerate": false, @@ -8520,14 +8923,14 @@ }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "Key": "key" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": true, @@ -8546,14 +8949,14 @@ }, "operationName": "GetObject", "operationParams": { - "Bucket": "my.bucket--use1-az1--x-s3", + "Bucket": "my.bucket--test-ab1--x-s3", "Key": "key" } } ], "params": { "Region": "us-east-1", - "Bucket": "my.bucket--use1-az1--x-s3", + "Bucket": "my.bucket--test-ab1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": false, diff --git a/tools/code-generation/endpoints/security-ir-2018-05-10.endpoint-rule-set.json b/tools/code-generation/endpoints/security-ir-2018-05-10.endpoint-rule-set.json new file mode 100644 index 00000000000..d98d688e10f --- /dev/null +++ b/tools/code-generation/endpoints/security-ir-2018-05-10.endpoint-rule-set.json @@ -0,0 +1,137 @@ +{ + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the 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": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "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 + ] + } + ], + "endpoint": { + "url": "https://security-ir-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://security-ir.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/security-ir-2018-05-10.endpoint-tests.json b/tools/code-generation/endpoints/security-ir-2018-05-10.endpoint-tests.json new file mode 100644 index 00000000000..5f7c8aae274 --- /dev/null +++ b/tools/code-generation/endpoints/security-ir-2018-05-10.endpoint-tests.json @@ -0,0 +1,201 @@ +{ + "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 region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://security-ir.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file